* m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
[gnulib.git] / ChangeLog
1 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
2
3         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
4         Suggested by Bruno Haible.
5
6         pselect: Use pthread_sigmask, not sigprocmask.
7         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
8         multithreaded apps better than sigprocmask does.
9         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
10         sigprocmask directly.
11
12 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
13
14         * lib/pselect.c (pselect): Use plain name, without "rpl_".
15         Don't #undef,  since we don't need any underlying pselect.
16         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
17         (Depends-on): Add select.
18         (Link): Add $(LIBSOCKET).
19         These changes suggested by Bruno Haible.
20
21         pselect: document better
22         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
23         * doc/posix-functions/pselect.texi (pselect): Document new module.
24
25         pthread_sigmask: new module
26         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
27         * doc/posix-functions/pthread_sigmask.texi: Document new module.
28         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
29         This is done only as a macro; I don't know how well that'll
30         work for C++.  Move <sys/types.h> include before the include_next,
31         to avoid mishap on Solaris.
32         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
33         * modules/signal (Makefile.am): Substitute the check's results.
34         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
35
36         test-pselect: new module
37         * modules/pselect-tests, tests/test-pselect.c: New files.
38         * tests/test-select.c, tests/test-sys_select-c++.cc:
39         If TEST_PSELECT is defined, test pselect instead of testing select.
40
41         * tests/test-sys_select.c (sigset_t): Test for it, too.
42         Suggested by Bruno Haible.
43
44 2011-07-05  Eric Blake  <eblake@redhat.com>
45
46         snprintf: guarantee %1$d, for libintl
47         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
48         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
49         * doc/posix-functions/snprintf.texi (snprintf): Update.
50         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
51         * tests/test-snprintf.c (main): Enhance test.
52         * tests/test-vsnprintf.c (main): Likewise.
53
54 2011-07-05  Jim Meyering  <meyering@redhat.com>
55
56         maint: exempt stdio-read.c and stdio-write.c from the cppi check
57         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
58         per Bruno's request, to accommodate this idiom (no space after "#")
59         even when the function is inside an #if block:
60         char *
61         gets (char *s)
62         #undef gets
63         {
64           ...
65         }
66
67 2011-07-04  Jim Meyering  <meyering@redhat.com>
68
69         maint: indent with spaces, not TABs, and add a rule to check this
70         * tests/test-userspec.c: Indent with spaces, not TABs.
71         * tests/test-argp.c: Likewise.
72         * tests/test-c-stack2.sh: Likewise.
73         * tests/test-parse-duration.sh: Likewise
74         * m4/strtod.m4: Likewise.
75         * m4/alloca.m4: Likewise.
76         * m4/pselect.m4: Likewise.
77         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
78
79 2011-07-03  Jim Meyering  <meyering@redhat.com>
80
81         maint.mk: correct omissions in prohibit_argmatch_without_use check
82         This rule would mistakenly report that argmatch.h is included without
83         use even when both the argmatch and invalid_arg macro were used.
84         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
85         of argmatch and invalid_arg.
86
87 2011-07-03  Bruno Haible  <bruno@clisp.org>
88
89         Comments about EINTR.
90         * lib/safe-read.h: Explain the purpose of this module.
91         * lib/safe-write.h: Likewise.
92         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
93         module.
94         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
95         module.
96         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
97
98 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
99
100         xnanosleep: Rewrite to use new dtotimespec module.
101         It has the conversion code that used to be in xnanosleep.
102         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
103         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
104         (TIME_T_MAX): Remove.
105         (xnanosleep): Rewrite in terms of dtotimespec.
106         * modules/xnanosleep (Depends-on): Add dtotimespec.
107         Remove intprops, stdbool.
108
109         timespec-add, timespec-sub: new modules
110         * lib/timespec.h (timespec_add, timespec_sub): New decls.
111         * lib/timespec-add.c, lib/timespec-sub.c:
112         * modules/timespec-add, modules/timespec-sub: New files.
113
114         dtotimespec: new module
115         * lib/timespec.h (dtotimespec): New decl.
116         * lib/dtotimespec.c, modules/dtotimespec: New files.
117
118         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
119
120         pselect: new module
121         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
122         (pselect): New decls.
123         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
124         since the standard pselect decl uses 'restrict'.
125         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
126         HAVE_PSELECT, REPLACE_PSELECT.
127         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
128         HAVE_PSELECT, REPLACE_PSELECT.
129         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
130
131         sys_select: don't depend on sys_socket
132         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
133         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
134         This fix works on GNU and GNU-like platforms, but has not been tested
135         on native Windows.
136         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
137         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
138         gl_HEADER_SYS_SOCKET.
139         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
140         gl_PREREQ_SYS_H_WINSOCK2.
141
142 2011-06-29  Eric Blake  <eblake@redhat.com>
143
144         pipe2: fix C89 compile problem
145         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
146         Reported by Bruno Haible.
147
148         pipe, pipe2: don't corrupt fd on error
149         * lib/pipe.c (pipe): Leave fd unchanged on error.
150         * lib/pipe2.c (pipe2): Likewise.
151         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
152         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
153
154 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
155
156         mmap-anon: do not use regular expressions inadvertently
157         * m4/mmap-anon.m4: Remove trailing period from strings sought
158         in the output.
159
160 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
161
162         nanosleep: fix integer overflow problem
163         * lib/nanosleep.c (my_usleep): Don't assume signed integer
164         arithmetic wraps around on overflow.
165
166         nanosleep: simplify carrying
167         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
168         first call to the underyling nanosleep, not for the last one.
169         This doesn't fix any bugs, but it simplifies the computation of
170         the remaining delay.  Found while auditing integer overflow issues.
171
172         dup2: remove test for existence of fcntl
173         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
174         "#if HAVE_FCNTL", in the configure-time test program.
175         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
176         and therefore speeds up "configure" a bit.  Found while
177         adding the dup2 module to Emacs.
178
179 2011-06-24  Eric Blake  <eblake@redhat.com>
180
181         maint.mk: enhance useless header checks
182         * top/maint.mk (_sc_header_without_use): Check both include
183         styles.
184         (sc_prohibit_assert_without_use)
185         (sc_prohibit_close_stream_without_use)
186         (sc_prohibit_getopt_without_use)
187         (sc_prohibit_quotearg_without_use)
188         (sc_prohibit_quote_without_use)
189         (sc_prohibit_long_options_without_use)
190         (sc_prohibit_inttostr_without_use)
191         (sc_prohibit_ignore_value_without_use)
192         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
193         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
194         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
195         (sc_prohibit_hash_pjw_without_use)
196         (sc_prohibit_safe_read_without_use)
197         (sc_prohibit_argmatch_without_use)
198         (sc_prohibit_canonicalize_without_use)
199         (sc_prohibit_root_dev_ino_without_use)
200         (sc_prohibit_openat_without_use)
201         (sc_prohibit_c_ctype_without_use)
202         (sc_prohibit_signal_without_use)
203         (sc_prohibit_stdio--_without_use)
204         (sc_prohibit_stdio-safer_without_use)
205         (sc_prohibit_strings_without_use)
206         (sc_prohibit_intprops_without_use)
207         (sc_prohibit_stddef_without_use)
208         (sc_prohibit_xfreopen_without_use): Update clients.
209
210 2011-06-24  Jim Meyering  <meyering@redhat.com>
211
212         syntax-check: keep one maint.mk rule in sync with its header
213         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
214         of the bug Eric has just fixed, with today's commit 25e4c2ec.
215         I prefer to avoid temporary files here, so use <(...), but that
216         is not supported by /bin/sh, so...
217         (SHELL): Define to /bin/bash.
218
219 2011-06-24  Eric Blake  <eblake@redhat.com>
220
221         maint.mk: update sc_prohibit_intprops_without_use
222         * top/maint.mk (_intprops_names): Match recent changes.
223
224 2011-06-24  Bruno Haible  <bruno@clisp.org>
225
226         strerror-override: No-op tweak.
227         * lib/strerror-override.h (strerror_override): Reorder conditions,
228         for consistency with lib/strerror-override.c.
229
230 2011-06-23  Eric Blake  <eblake@redhat.com>
231
232         maint.mk: test further PATH_MAX issues
233         * top/maint.mk (sc_prohibit_path_max_array): Rename...
234         (sc_prohibit_path_max_allocation): ...and also test alloca.
235         Suggested by Jim Meyering.
236
237 2011-06-22  Eric Blake  <eblake@redhat.com>
238
239         maint.mk: add syntax-check to avoid char[PATH_MAX]
240         * top/maint.mk (sc_prohibit_path_max_array): New rule.
241
242         stat: be robust to PATH_MAX definition
243         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
244         * modules/stat (Depends-on): Add verify.
245
246         link: work around IRIX bug
247         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
248         * lib/link.c (rpl_link): Work around it.
249         * tests/test-link.h (test_link): Enhance test.
250         * doc/posix-functions/link.texi (link): Document the bug.
251
252         getopt: silence clang warning
253         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
254         dereference.
255         Reported by Gustavo Martin Domato.
256
257 2011-06-22  Jim Meyering  <meyering@redhat.com>
258
259         bootstrap: do not insert a blank line into each .gitignore file
260         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
261
262 2011-06-21  Eric Blake  <eblake@redhat.com>
263
264         perror: test for output mismatch
265         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
266         perror on IRIX.
267
268         strerror_r: fix OpenBSD behavior on out-of-range
269         * lib/strerror_r.c (strerror_r): Always use maximal string.
270         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
271
272         strerror_r: fix OpenBSD behavior on 0
273         * lib/strerror-override.c (strerror_override): Also override 0
274         when needed.
275         * lib/strerror-override.h (strerror_override): Likewise.
276         * lib/strerror.c (strerror): Simplify, now that 0 override is done
277         earlier.
278         * lib/strerror_r.c (strerror_r): Likewise.
279         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
280         behavior...
281         (gl_FUNC_STRERROR_0): ...into new macro.
282         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
283         is overridden.
284         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
285         * modules/strerror-override (Files): Add strerror.m4.
286         (configure.ac): Also provide override for 0 when needed.
287         * doc/posix-functions/strerror.texi (strerror): Document this.
288         * doc/posix-functions/perror.texi (perror): Likewise.
289
290         perror: adjust array size
291         * modules/perror (Depends-on): Add strerror-override.
292         * lib/perror.c (perror): Use it to avoid magic number.
293
294         strerror-override: reduce size
295         * lib/strerror-override.c (strerror_override): Use fewer lines.
296
297 2011-06-20  Bruno Haible  <bruno@clisp.org>
298
299         pathmax: Ensure correct value for PATH_MAX on HP-UX.
300         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
301
302 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
303
304         alloca: port to compilers that can optimize like GCC 4.6.0
305         * lib/alloca.c (find_stack_direction): New signature, taken from
306         Autoconf git.  This works with GCC 4.6.0.  This code should never
307         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
308         be used with other compilers that optimize as well as GCC 4.6.0 does.
309         (alloca): Adjust to new signature.
310         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
311         New macro, which patches Autoconf in a similar way.
312
313         c-stack: stop worrying about stack direction
314         * lib/c-stack.c (find_stack_direction): Remove.
315         (segv_handler): Don't worry about stack direction growth, as it's
316         too much of a pain to configure this correctly, given how compilers
317         are optimizing-away our stack-growth detection code.  Instead, assume
318         that any access to just before or just after the stack is OK.
319         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
320         Don't require AC_FUNC_ALLOCA; no longer needed.
321
322 2011-06-20  Eric Blake  <eblake@redhat.com>
323
324         test-stat: don't allocate PATH_MAX bytes
325         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
326         PATH_MAX-sized buffer.
327         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
328         * modules/stat-tests (Depends-on): Likewise.
329         * tests/test-fstatat.c (includes): Drop pathmax.h.
330         * tests/test-stat.c (includes): Likewise.
331         Reported by Bruno Haible.
332
333 2011-06-20  Bruno Haible  <bruno@clisp.org>
334
335         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
336         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
337         * lib/float.c: New file.
338         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
339         REPLACE_FLOAT_LDBL.
340         * modules/float (Files): Add lib/float.c.
341         (configure.ac): Invoke AC_LIBOBJ.
342         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
343
344 2011-06-20  Bruno Haible  <bruno@clisp.org>
345
346         Tests for module 'float'.
347         * modules/float-tests: New file.
348         * tests/test-float.c: New file.
349
350 2011-06-19  Bruno Haible  <bruno@clisp.org>
351
352         isinf: Coding style.
353         * lib/isinf.c: Use GNU coding style.
354
355 2011-06-19  Bruno Haible  <bruno@clisp.org>
356
357         linkat test: Avoid test failure on AIX 7.1.
358         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
359         * tests/test-link.h (test_link): Likewise.
360
361 2011-06-19  Bruno Haible  <bruno@clisp.org>
362
363         pread test: Avoid test failure on OpenBSD 4.9.
364         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
365
366 2011-06-19  Bruno Haible  <bruno@clisp.org>
367
368         sprintf-posix: Fix test failure on AIX 7.1.
369         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
370         * doc/posix-functions/dprintf.texi: Mention limited precision problem
371         on AIX.
372         * doc/posix-functions/fprintf.texi: Likewise.
373         * doc/posix-functions/printf.texi: Likewise.
374         * doc/posix-functions/snprintf.texi: Likewise.
375         * doc/posix-functions/sprintf.texi: Likewise.
376         * doc/posix-functions/vdprintf.texi: Likewise.
377         * doc/posix-functions/vfprintf.texi: Likewise.
378         * doc/posix-functions/vprintf.texi: Likewise.
379         * doc/posix-functions/vsnprintf.texi: Likewise.
380         * doc/posix-functions/vsprintf.texi: Likewise.
381
382 2011-06-19  Bruno Haible  <bruno@clisp.org>
383
384         roundl-ieee: Fix test failure on AIX 7.1.
385         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
386         * doc/posix-functions/roundl.texi: Mention problem with negative
387         arguments.
388
389 2011-06-19  Bruno Haible  <bruno@clisp.org>
390
391         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
392         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
393         * doc/posix-functions/round.texi: Mention problem with negative
394         arguments.
395         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
396
397 2011-06-19  Bruno Haible  <bruno@clisp.org>
398
399         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
400         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
401         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
402         * doc/posix-functions/roundf.texi: Mention problem with negative
403         arguments.
404         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
405
406 2011-06-19  Bruno Haible  <bruno@clisp.org>
407
408         ceilf-ieee: Work around bug on MacOS X 10.5.
409         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
410
411         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
412         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
413         IEEE compliant, avoid compiler optimizations.
414         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
415         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
416         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
417         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
418         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
419         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
420         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
421         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
422         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
423         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
424
425 2011-06-19  Bruno Haible  <bruno@clisp.org>
426
427         ceilf-ieee: Work around bug on AIX 7.1.
428         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
429         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
430
431 2011-06-19  Bruno Haible  <bruno@clisp.org>
432
433         ceil-ieee: Work around bug on AIX 7.1.
434         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
435         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
436
437 2011-06-18  Bruno Haible  <bruno@clisp.org>
438
439         fsync test: Avoid test failure on MacOS X and AIX.
440         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
441         EINVAL.
442
443 2011-06-18  Bruno Haible  <bruno@clisp.org>
444
445         openat, fdopendir tests: Fix link errors.
446         * modules/openat-tests (Depends-on): Add progname.
447         * modules/fdopendir-tests (Depends-on): Likewise.
448         * tests/test-fchownat.c: Include progname.h.
449         (main): Call set_program_name.
450         * tests/test-fstatat.c: Include progname.h.
451         (main): Call set_program_name.
452         * tests/test-mkdirat.c: Include progname.h.
453         (main): Call set_program_name.
454         * tests/test-openat.c: Include progname.h.
455         (main): Call set_program_name.
456         * tests/test-unlinkat.c: Include progname.h.
457         (main): Call set_program_name.
458         * tests/test-fdopendir.c: Include progname.h.
459         (main): Call set_program_name.
460
461 2011-06-18  Bruno Haible  <bruno@clisp.org>
462
463         Doc update.
464         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
465         HP-UX.
466         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
467
468 2011-06-18  Bruno Haible  <bruno@clisp.org>
469
470         getcwd tests: Avoid compilation error on HP-UX 11.31.
471         * modules/getcwd-tests (Depends-on): Add pathmax.
472         * tests/test-getcwd.c: Include pathmax.h.
473
474 2011-06-18  Bruno Haible  <bruno@clisp.org>
475
476         isfinite, isinf: Fix link error on AIX 6 and 7.
477         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
478         needed, also test the macro with a 'float' argument.
479         * m4/isinf.m4 (gl_ISINF): Likewise.
480
481 2011-06-18  Bruno Haible  <bruno@clisp.org>
482
483         getloadavg: Don't clobber LIBS. Regression from previous commit.
484         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
485         AC_CHECK_LIB from here...
486         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
487         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
488         gl_func_getloadavg_done.
489         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
490
491 2011-06-18  Bruno Haible  <bruno@clisp.org>
492
493         clean-temp: Improve documentation.
494         * lib/clean-temp.h: Explain better how to use this module.
495         Reported by John Darrington <john@darrington.wattle.id.au>.
496
497 2011-06-17  Bruno Haible  <bruno@clisp.org>
498
499         pread, pwrite: Avoid cc warning on AIX.
500         * lib/unistd.in.h (pread): Undefine before defining as a macro.
501         (pwrite): Likewise.
502
503 2011-06-17  Bruno Haible  <bruno@clisp.org>
504
505         spawn-pipe tests: Fix link error.
506         * tests/test-spawn-pipe-child.c: Undefine fprintf.
507         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
508
509 2011-06-17  Bruno Haible  <bruno@clisp.org>
510
511         Tests: Remove unnecessary dependency.
512         * modules/canonicalize-tests (Depends-on): Remove progname.
513         * modules/chown-tests (Depends-on): Likewise.
514         * modules/dirname-tests (Depends-on): Likewise.
515         * modules/fdopendir-tests (Depends-on): Likewise.
516         * modules/fdutimensat-tests (Depends-on): Likewise.
517         * modules/hash-tests (Depends-on): Likewise.
518         * modules/lchown-tests (Depends-on): Likewise.
519         * modules/linkat-tests (Depends-on): Likewise.
520         * modules/renameat-tests (Depends-on): Likewise.
521         * modules/spawn-pipe-tests (Depends-on): Likewise.
522         * modules/utimensat-tests (Depends-on): Likewise.
523
524 2011-06-17  Bruno Haible  <bruno@clisp.org>
525
526         spawn-pipe tests: Fix link error.
527         * tests/test-spawn-pipe-child.c: Undefine fflush.
528
529 2011-06-17  Bruno Haible  <bruno@clisp.org>
530
531         Fix tests link errors.
532         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
533         * modules/chown-tests (Makefile.am): Don't link test-chown with
534         LIBINTL.
535         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
536         LIBINTL.
537         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
538         LIBINTL.
539         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
540         LIBINTL.
541
542 2011-06-16  Bruno Haible  <bruno@clisp.org>
543
544         crypto/gc-sha1: Fix recent regression.
545         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
546         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
547
548         crypto/gc-md5: Fix recent regression.
549         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
550
551         crypto/gc-md4: Fix recent regression.
552         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
553         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
554
555         crypto/gc-arctwo: Fix recent regression.
556         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
557         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
558
559         crypto/gc-rijndael: Fix recent regression.
560         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
561         (configure.ac): Invoke AC_LIBOBJ here.
562         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
563         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
564
565         crypto/gc-hmac-sha1: Fix recent regression.
566         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
567         (configure.ac): Invoke AC_LIBOBJ here.
568         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
569         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
570
571         crypto/gc-hmac-md5: Fix recent regression.
572         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
573         (configure.ac): Invoke AC_LIBOBJ here.
574         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
575         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
576
577         crypto/gc-des: Fix recent regression.
578         * modules/crypto/gc-des (Files): Remove m4/des.m4.
579         (configure.ac): Invoke AC_LIBOBJ here.
580         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
581         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
582
583         crypto/gc-arcfour: Fix recent regression.
584         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
585         (configure.ac): Invoke AC_LIBOBJ here.
586         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
587         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
588
589 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
590
591         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
592         After the 2011-05-21 change, this macro requires
593         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
594         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
595
596 2011-06-16  Bruno Haible  <bruno@clisp.org>
597
598         fprintftime: Move AC_LIBOBJ invocations to module description.
599         * m4/fprintftime.m4: Remove file.
600         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
601         (configure.ac): Remove gl_FPRINTFTIME call.
602         (Makefile.am): Augment lib_SOURCES.
603         Reported by Jim Meyering.
604
605 2011-06-16  Bruno Haible  <bruno@clisp.org>
606
607         tmpfile-safer: Finish 2011-05-23 commit.
608         * m4/stdio-safer.m4: Really remove file.
609         Reported by Jim Meyering.
610
611 2011-06-16  Bruno Haible  <bruno@clisp.org>
612
613         syntax-check: Fix typo.
614         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
615         printf-posix.m4.
616         Reported by Jim Meyering.
617
618 2011-06-13  Jim Meyering  <meyering@redhat.com>
619
620         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
621         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
622
623 2011-05-23  Bruno Haible  <bruno@clisp.org>
624
625         yesno: Move AC_LIBOBJ invocations to module description.
626         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
627         * modules/yesno (Makefile.am): Augment lib_SOURCES.
628
629 2011-05-23  Bruno Haible  <bruno@clisp.org>
630
631         xstrtol: Move AC_LIBOBJ invocations to module description.
632         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
633         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
634
635 2011-05-23  Bruno Haible  <bruno@clisp.org>
636
637         xstrtold: Move AC_LIBOBJ invocations to module description.
638         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
639         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
640
641 2011-05-23  Bruno Haible  <bruno@clisp.org>
642
643         xstrtod: Move AC_LIBOBJ invocations to module description.
644         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
645         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
646
647 2011-05-23  Bruno Haible  <bruno@clisp.org>
648
649         xnanosleep: Move AC_LIBOBJ invocations to module description.
650         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
651         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
652
653 2011-05-23  Bruno Haible  <bruno@clisp.org>
654
655         xgetcwd: Move AC_LIBOBJ invocations to module description.
656         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
657         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
658
659 2011-05-23  Bruno Haible  <bruno@clisp.org>
660
661         xalloc: Move AC_LIBOBJ invocations to module description.
662         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
663         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
664
665 2011-05-23  Bruno Haible  <bruno@clisp.org>
666
667         write-any-file: Move AC_LIBOBJ invocations to module description.
668         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
669         invocation.
670         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
671
672 2011-05-23  Bruno Haible  <bruno@clisp.org>
673
674         utimens: Move AC_LIBOBJ invocations to module description.
675         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
676         * modules/utimens (Makefile.am): Augment lib_SOURCES.
677
678 2011-05-23  Bruno Haible  <bruno@clisp.org>
679
680         utimecmp: Move AC_LIBOBJ invocations to module description.
681         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
682         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
683
684 2011-05-23  Bruno Haible  <bruno@clisp.org>
685
686         userspec: Move AC_LIBOBJ invocations to module description.
687         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
688         * modules/userspec (Makefile.am): Augment lib_SOURCES.
689
690 2011-05-23  Bruno Haible  <bruno@clisp.org>
691
692         unlinkdir: Move AC_LIBOBJ invocations to module description.
693         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
694         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
695
696 2011-05-23  Bruno Haible  <bruno@clisp.org>
697
698         unistd-safer: Move AC_LIBOBJ invocations to module description.
699         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
700         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
701
702 2011-05-23  Bruno Haible  <bruno@clisp.org>
703
704         tempname: Move AC_LIBOBJ invocations to module description.
705         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
706         * modules/tempname (Makefile.am): Augment lib_SOURCES.
707
708 2011-05-23  Bruno Haible  <bruno@clisp.org>
709
710         strftime: Move AC_LIBOBJ invocations to module description.
711         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
712         * modules/strftime (Makefile.am): Augment lib_SOURCES.
713
714 2011-05-23  Bruno Haible  <bruno@clisp.org>
715
716         stdlib-safer: Move AC_LIBOBJ invocations to module description.
717         * m4/stdlib-safer.m4: Remove file.
718         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
719         (configure.ac): Remove gl_STDLIB_SAFER call.
720         (Makefile.am): Augment lib_SOURCES.
721
722 2011-05-23  Bruno Haible  <bruno@clisp.org>
723
724         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
725         * m4/stdio-safer.m4: Remove file.
726         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
727         (configure.ac): Remove gl_TMPFILE_SAFER call.
728         (Makefile.am): Augment lib_SOURCES.
729
730 2011-05-23  Bruno Haible  <bruno@clisp.org>
731
732         popen-safer: Move AC_LIBOBJ invocations to module description.
733         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
734         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
735         (configure.ac): Remove gl_POPEN_SAFER call.
736         (Makefile.am): Augment lib_SOURCES.
737
738 2011-05-23  Bruno Haible  <bruno@clisp.org>
739
740         freopen-safer: Move AC_LIBOBJ invocations to module description.
741         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
742         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
743         (configure.ac): Remove gl_FREOPEN_SAFER call.
744         (Makefile.am): Augment lib_SOURCES.
745
746 2011-05-23  Bruno Haible  <bruno@clisp.org>
747
748         fopen-safer: Move AC_LIBOBJ invocations to module description.
749         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
750         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
751         (configure.ac): Remove gl_FOPEN_SAFER call.
752         (Makefile.am): Augment lib_SOURCES.
753
754 2011-05-23  Bruno Haible  <bruno@clisp.org>
755
756         crypto/sha512: Move AC_LIBOBJ invocations to module description.
757         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
758         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
759
760 2011-05-23  Bruno Haible  <bruno@clisp.org>
761
762         crypto/sha256: Move AC_LIBOBJ invocations to module description.
763         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
764         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
765
766 2011-05-23  Bruno Haible  <bruno@clisp.org>
767
768         crypto/sha1: Move AC_LIBOBJ invocations to module description.
769         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
770         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
771
772 2011-05-23  Bruno Haible  <bruno@clisp.org>
773
774         settime: Move AC_LIBOBJ invocations to module description.
775         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
776         * modules/settime (Makefile.am): Augment lib_SOURCES.
777
778 2011-05-23  Bruno Haible  <bruno@clisp.org>
779
780         savedir: Move AC_LIBOBJ invocations to module description.
781         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
782         * modules/savedir (Makefile.am): Augment lib_SOURCES.
783
784 2011-05-23  Bruno Haible  <bruno@clisp.org>
785
786         save-cwd: Move AC_LIBOBJ invocations to module description.
787         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
788         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
789
790 2011-05-23  Bruno Haible  <bruno@clisp.org>
791
792         same: Move AC_LIBOBJ invocations to module description.
793         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
794         * modules/same (Makefile.am): Augment lib_SOURCES.
795
796 2011-05-23  Bruno Haible  <bruno@clisp.org>
797
798         safe-write: Move AC_LIBOBJ invocations to module description.
799         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
800         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
801         instead of gl_SAFE_WRITE.
802         (Makefile.am): Augment lib_SOURCES.
803
804 2011-05-23  Bruno Haible  <bruno@clisp.org>
805
806         safe-read: Move AC_LIBOBJ invocations to module description.
807         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
808         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
809         of gl_SAFE_READ.
810         (Makefile.am): Augment lib_SOURCES.
811
812 2011-05-23  Bruno Haible  <bruno@clisp.org>
813
814         safe-alloc: Move AC_LIBOBJ invocations to module description.
815         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
816         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
817
818 2011-05-23  Bruno Haible  <bruno@clisp.org>
819
820         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
821         * m4/rijndael.m4: Remove file.
822         * modules/crypto/rijndael (Files): Remove it.
823         (configure.ac): Remove gl_RIJNDAEL call.
824         (Makefile.am): Augment lib_SOURCES.
825
826 2011-05-23  Bruno Haible  <bruno@clisp.org>
827
828         readtokens: Move AC_LIBOBJ invocations to module description.
829         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
830         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
831
832 2011-05-23  Bruno Haible  <bruno@clisp.org>
833
834         read-file: Move AC_LIBOBJ invocations to module description.
835         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
836         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
837         of gl_FUNC_READ_FILE.
838         (Makefile.am): Augment lib_SOURCES.
839
840 2011-05-23  Bruno Haible  <bruno@clisp.org>
841
842         quotearg: Move AC_LIBOBJ invocations to module description.
843         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
844         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
845
846 2011-05-23  Bruno Haible  <bruno@clisp.org>
847
848         quote: Move AC_LIBOBJ invocations to module description.
849         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
850         * modules/quote (Makefile.am): Augment lib_SOURCES.
851
852 2011-05-23  Bruno Haible  <bruno@clisp.org>
853
854         posixver: Move AC_LIBOBJ invocations to module description.
855         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
856         * modules/posixver (Makefile.am): Augment lib_SOURCES.
857
858 2011-05-23  Bruno Haible  <bruno@clisp.org>
859
860         posixtm: Move AC_LIBOBJ invocations to module description.
861         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
862         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
863
864 2011-05-23  Bruno Haible  <bruno@clisp.org>
865
866         physmem: Move AC_LIBOBJ invocations to module description.
867         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
868         * modules/physmem (Makefile.am): Augment lib_SOURCES.
869
870 2011-05-23  Bruno Haible  <bruno@clisp.org>
871
872         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
873         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
874         invocation.
875         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
876
877 2011-05-23  Bruno Haible  <bruno@clisp.org>
878
879         mpsort: Move AC_LIBOBJ invocations to module description.
880         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
881         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
882
883 2011-05-23  Bruno Haible  <bruno@clisp.org>
884
885         modechange: Move AC_LIBOBJ invocations to module description.
886         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
887         * modules/modechange (Makefile.am): Augment lib_SOURCES.
888
889 2011-05-23  Bruno Haible  <bruno@clisp.org>
890
891         mkdir-p: Move AC_LIBOBJ invocations to module description.
892         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
893         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
894
895 2011-05-23  Bruno Haible  <bruno@clisp.org>
896
897         mkancesdirs: Move AC_LIBOBJ invocations to module description.
898         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
899         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
900
901 2011-05-23  Bruno Haible  <bruno@clisp.org>
902
903         mgetgroups: Move AC_LIBOBJ invocations to module description.
904         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
905         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
906
907 2011-05-23  Bruno Haible  <bruno@clisp.org>
908
909         memxor: Move AC_LIBOBJ invocations to module description.
910         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
911         * modules/memxor (Makefile.am): Augment lib_SOURCES.
912
913 2011-05-23  Bruno Haible  <bruno@clisp.org>
914
915         memcoll: Move AC_LIBOBJ invocations to module description.
916         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
917         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
918
919 2011-05-23  Bruno Haible  <bruno@clisp.org>
920
921         memcasecmp: Move AC_LIBOBJ invocations to module description.
922         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
923         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
924
925 2011-05-23  Bruno Haible  <bruno@clisp.org>
926
927         crypto/md5: Move AC_LIBOBJ invocations to module description.
928         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
929         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
930
931 2011-05-23  Bruno Haible  <bruno@clisp.org>
932
933         crypto/md4: Move AC_LIBOBJ invocations to module description.
934         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
935         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
936
937 2011-05-23  Bruno Haible  <bruno@clisp.org>
938
939         crypto/md2: Move AC_LIBOBJ invocations to module description.
940         * m4/md2.m4: Remove file.
941         * modules/crypto/md2 (Files): Remove it.
942         (configure.ac): Remove gl_MD2 call.
943         (Makefile.am): Augment lib_SOURCES.
944
945 2011-05-23  Bruno Haible  <bruno@clisp.org>
946
947         long-options: Move AC_LIBOBJ invocations to module description.
948         * m4/long-options.m4: Remove file.
949         * modules/long-options (Files): Remove it.
950         (configure.ac): Remove gl_LONG_OPTIONS call.
951         (Makefile.am): Augment lib_SOURCES.
952
953 2011-05-23  Bruno Haible  <bruno@clisp.org>
954
955         i-ring: Move AC_LIBOBJ invocations to module description.
956         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
957         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
958
959 2011-05-23  Bruno Haible  <bruno@clisp.org>
960
961         idcache: Move AC_LIBOBJ invocations to module description.
962         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
963         * modules/idcache (Makefile.am): Augment lib_SOURCES.
964
965 2011-05-23  Bruno Haible  <bruno@clisp.org>
966
967         human: Move AC_LIBOBJ invocations to module description.
968         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
969         * modules/human (Makefile.am): Augment lib_SOURCES.
970
971 2011-05-23  Bruno Haible  <bruno@clisp.org>
972
973         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
974         * m4/hmac-sha1.m4: Remove file.
975         * modules/crypto/hmac-sha1 (Files): Remove it.
976         (configure.ac): Remove gl_HMAC_SHA1 call.
977         (Makefile.am): Augment lib_SOURCES.
978
979 2011-05-23  Bruno Haible  <bruno@clisp.org>
980
981         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
982         * m4/hmac-md5.m4: Remove file.
983         * modules/crypto/hmac-md5 (Files): Remove it.
984         (configure.ac): Remove gl_HMAC_MD5 call.
985         (Makefile.am): Augment lib_SOURCES.
986
987 2011-05-23  Bruno Haible  <bruno@clisp.org>
988
989         hash: Move AC_LIBOBJ invocations to module description.
990         * m4/hash.m4: Remove file.
991         * modules/hash (Files): Remove it.
992         (configure.ac): Remove gl_HASH call.
993         (Makefile.am): Augment lib_SOURCES.
994
995 2011-05-23  Bruno Haible  <bruno@clisp.org>
996
997         hard-locale: Move AC_LIBOBJ invocations to module description.
998         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
999         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
1000
1001 2011-05-23  Bruno Haible  <bruno@clisp.org>
1002
1003         getugroups: Move AC_LIBOBJ invocations to module description.
1004         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
1005         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
1006
1007 2011-05-23  Bruno Haible  <bruno@clisp.org>
1008
1009         gettime: Move AC_LIBOBJ invocations to module description.
1010         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
1011         * modules/gettime (Makefile.am): Augment lib_SOURCES.
1012
1013 2011-05-23  Bruno Haible  <bruno@clisp.org>
1014
1015         getndelim2: Move AC_LIBOBJ invocations to module description.
1016         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
1017         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
1018
1019 2011-05-23  Bruno Haible  <bruno@clisp.org>
1020
1021         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
1022         * m4/gc-pbkdf2-sha1.m4: Remove file.
1023         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
1024         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
1025         (Makefile.am): Augment lib_SOURCES.
1026
1027 2011-05-23  Bruno Haible  <bruno@clisp.org>
1028
1029         fts: Move AC_LIBOBJ invocations to module description.
1030         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
1031         * modules/fts (configure.ac): ... to here.
1032
1033 2011-05-23  Bruno Haible  <bruno@clisp.org>
1034
1035         file-type: Move AC_LIBOBJ invocations to module description.
1036         * m4/file-type.m4: Remove file.
1037         * modules/file-type (Files): Remove it.
1038         (configure.ac): Remove gl_FILE_TYPE call.
1039         (Makefile.am): Augment lib_SOURCES.
1040
1041 2011-05-23  Bruno Haible  <bruno@clisp.org>
1042
1043         filenamecat*: Respect rules for use of AC_LIBOBJ.
1044         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
1045         Remove AC_LIBOBJ invocation.
1046         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
1047         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
1048
1049 2011-05-23  Bruno Haible  <bruno@clisp.org>
1050
1051         filemode: Move AC_LIBOBJ invocations to module description.
1052         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
1053         * modules/filemode (Makefile.am): Augment lib_SOURCES.
1054
1055 2011-05-23  Bruno Haible  <bruno@clisp.org>
1056
1057         openat-safer: Move AC_LIBOBJ invocations to module description.
1058         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
1059         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
1060
1061 2011-05-23  Bruno Haible  <bruno@clisp.org>
1062
1063         fcntl-safer: Move AC_LIBOBJ invocations to module description.
1064         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
1065         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
1066
1067 2011-05-23  Bruno Haible  <bruno@clisp.org>
1068
1069         exclude: Move AC_LIBOBJ invocations to module description.
1070         * m4/exclude.m4: Remove file.
1071         * modules/exclude (Files): Remove it.
1072         (configure.ac): Remove gl_EXCLUDE call.
1073         (Makefile.am): Augment lib_SOURCES.
1074
1075 2011-05-23  Bruno Haible  <bruno@clisp.org>
1076
1077         dirname*: Respect rules for use of AC_LIBOBJ.
1078         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
1079         invocations.
1080         * modules/dirname (Makefile.am): Augment lib_SOURCES.
1081         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
1082
1083 2011-05-23  Bruno Haible  <bruno@clisp.org>
1084
1085         dirent-safer: Move AC_LIBOBJ invocations to module description.
1086         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
1087         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
1088
1089 2011-05-23  Bruno Haible  <bruno@clisp.org>
1090
1091         crypto/des: Move AC_LIBOBJ invocations to module description.
1092         * m4/des.m4: Remove file.
1093         * modules/crypto/des (Files): Remove it.
1094         (configure.ac): Remove gl_DES call.
1095         (Makefile.am): Augment lib_SOURCES.
1096
1097 2011-05-23  Bruno Haible  <bruno@clisp.org>
1098
1099         cycle-check: Move AC_LIBOBJ invocations to module description.
1100         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
1101         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
1102
1103 2011-05-23  Bruno Haible  <bruno@clisp.org>
1104
1105         c-strtold: Move AC_LIBOBJ invocations to module description.
1106         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
1107         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
1108
1109 2011-05-23  Bruno Haible  <bruno@clisp.org>
1110
1111         c-strtod: Move AC_LIBOBJ invocations to module description.
1112         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
1113         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
1114
1115 2011-05-23  Bruno Haible  <bruno@clisp.org>
1116
1117         crc: Move AC_LIBOBJ invocations to module description.
1118         * m4/crc.m4: Remove file.
1119         * modules/crc (Files): Remove it.
1120         (configure.ac): Remove gl_CRC call.
1121         (Makefile.am): Augment lib_SOURCES.
1122
1123 2011-05-23  Bruno Haible  <bruno@clisp.org>
1124
1125         close-stream: Move AC_LIBOBJ invocations to module description.
1126         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
1127         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
1128
1129 2011-05-23  Bruno Haible  <bruno@clisp.org>
1130
1131         closeout: Move AC_LIBOBJ invocations to module description.
1132         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
1133         * modules/closeout (Makefile.am): Augment lib_SOURCES.
1134
1135 2011-05-23  Bruno Haible  <bruno@clisp.org>
1136
1137         closein: Move AC_LIBOBJ invocations to module description.
1138         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
1139         * modules/closein (Makefile.am): Augment lib_SOURCES.
1140
1141 2011-05-23  Bruno Haible  <bruno@clisp.org>
1142
1143         cloexec: Move AC_LIBOBJ invocations to module description.
1144         * m4/cloexec.m4: Remove file.
1145         * modules/cloexec (Files): Remove it.
1146         (configure.ac): Remove gl_CLOEXEC call.
1147         (Makefile.am): Augment lib_SOURCES.
1148
1149 2011-05-23  Bruno Haible  <bruno@clisp.org>
1150
1151         check-version: Move AC_LIBOBJ invocations to module description.
1152         * m4/check-version.m4: Remove file.
1153         * modules/check-version (Files): Remove it.
1154         (configure.ac): Remove gl_CHECK_VERSION call.
1155         (Makefile.am): Augment lib_SOURCES.
1156
1157 2011-05-23  Bruno Haible  <bruno@clisp.org>
1158
1159         chdir-safer: Move AC_LIBOBJ invocations to module description.
1160         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
1161         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
1162
1163 2011-05-23  Bruno Haible  <bruno@clisp.org>
1164
1165         canonicalize: Move AC_LIBOBJ invocations to module description.
1166         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
1167         AC_LIBOBJ invocation.
1168         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
1169
1170 2011-05-23  Bruno Haible  <bruno@clisp.org>
1171
1172         canon-host: Move AC_LIBOBJ invocations to module description.
1173         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
1174         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
1175         instead of gl_CANON_HOST.
1176         (Makefile.am): Augment lib_SOURCES.
1177
1178 2011-05-23  Bruno Haible  <bruno@clisp.org>
1179
1180         backupfile: Move AC_LIBOBJ invocations to module description.
1181         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
1182         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
1183
1184 2011-05-23  Bruno Haible  <bruno@clisp.org>
1185
1186         argmatch: Move AC_LIBOBJ invocations to module description.
1187         * m4/argmatch.m4: Remove file.
1188         * modules/argmatch (Files): Remove it.
1189         (configure.ac): Remove gl_ARGMATCH call.
1190         (Makefile.am): Augment lib_SOURCES.
1191
1192 2011-05-23  Bruno Haible  <bruno@clisp.org>
1193
1194         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
1195         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
1196         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
1197
1198 2011-05-23  Bruno Haible  <bruno@clisp.org>
1199
1200         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
1201         * m4/arcfour.m4: Remove file.
1202         * modules/crypto/arcfour (Files): Remove it.
1203         (configure.ac): Remove gl_ARCFOUR call.
1204         (Makefile.am): Augment lib_SOURCES.
1205
1206 2011-05-22  Bruno Haible  <bruno@clisp.org>
1207
1208         write: Move AC_LIBOBJ invocations to module description.
1209         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
1210         * modules/write (configure.ac): ... to here.
1211
1212 2011-05-22  Bruno Haible  <bruno@clisp.org>
1213
1214         wmemset: Move AC_LIBOBJ invocations to module description.
1215         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
1216         here...
1217         * modules/wmemset (configure.ac): ... to here.
1218
1219 2011-05-22  Bruno Haible  <bruno@clisp.org>
1220
1221         wmemmove: Move AC_LIBOBJ invocations to module description.
1222         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
1223         here...
1224         * modules/wmemmove (configure.ac): ... to here.
1225
1226 2011-05-22  Bruno Haible  <bruno@clisp.org>
1227
1228         wmemcpy: Move AC_LIBOBJ invocations to module description.
1229         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
1230         here...
1231         * modules/wmemcpy (configure.ac): ... to here.
1232
1233 2011-05-22  Bruno Haible  <bruno@clisp.org>
1234
1235         wmemcmp: Move AC_LIBOBJ invocations to module description.
1236         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
1237         here...
1238         * modules/wmemcmp (configure.ac): ... to here.
1239
1240 2011-05-22  Bruno Haible  <bruno@clisp.org>
1241
1242         wmemchr: Move AC_LIBOBJ invocations to module description.
1243         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
1244         here...
1245         * modules/wmemchr (configure.ac): ... to here.
1246
1247 2011-05-22  Bruno Haible  <bruno@clisp.org>
1248
1249         wcswidth: Move AC_LIBOBJ invocations to module description.
1250         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
1251         here...
1252         * modules/wcswidth (configure.ac): ... to here.
1253
1254 2011-05-22  Bruno Haible  <bruno@clisp.org>
1255
1256         wcwidth: Respect rules for use of AC_LIBOBJ.
1257         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
1258         invocation from here...
1259         * modules/wcwidth (configure.ac): ... to here.
1260         (Depends-on): Update conditions.
1261
1262 2011-05-22  Bruno Haible  <bruno@clisp.org>
1263
1264         wctype: Move AC_LIBOBJ invocations to module description.
1265         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
1266         invocation from here...
1267         * modules/wctype (configure.ac): ... to here.
1268         (Depends-on): Update conditions.
1269
1270 2011-05-22  Bruno Haible  <bruno@clisp.org>
1271
1272         wctrans: Move AC_LIBOBJ invocations to module description.
1273         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
1274         invocation from here...
1275         * modules/wctrans (configure.ac): ... to here.
1276
1277 2011-05-22  Bruno Haible  <bruno@clisp.org>
1278
1279         wctomb: Move AC_LIBOBJ invocations to module description.
1280         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
1281         invocations from here...
1282         * modules/wctomb (configure.ac): ... to here.
1283
1284 2011-05-22  Bruno Haible  <bruno@clisp.org>
1285
1286         wctob: Move AC_LIBOBJ invocations to module description.
1287         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
1288         gl_PREREQ_WCTOB invocations from here...
1289         * modules/wctob (configure.ac): ... to here.
1290         (Depends-on): Update conditions.
1291
1292 2011-05-22  Bruno Haible  <bruno@clisp.org>
1293
1294         wcsxfrm: Move AC_LIBOBJ invocations to module description.
1295         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
1296         here...
1297         * modules/wcsxfrm (configure.ac): ... to here.
1298
1299 2011-05-22  Bruno Haible  <bruno@clisp.org>
1300
1301         wcstok: Move AC_LIBOBJ invocations to module description.
1302         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
1303         * modules/wcstok (configure.ac): ... to here.
1304
1305 2011-05-22  Bruno Haible  <bruno@clisp.org>
1306
1307         wcsstr: Move AC_LIBOBJ invocations to module description.
1308         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
1309         * modules/wcsstr (configure.ac): ... to here.
1310
1311 2011-05-22  Bruno Haible  <bruno@clisp.org>
1312
1313         wcsspn: Move AC_LIBOBJ invocations to module description.
1314         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
1315         * modules/wcsspn (configure.ac): ... to here.
1316
1317 2011-05-22  Bruno Haible  <bruno@clisp.org>
1318
1319         wcsrtombs: Move AC_LIBOBJ invocations to module description.
1320         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
1321         gl_PREREQ_WCSRTOMBS invocations from here...
1322         * modules/wcsrtombs (configure.ac): ... to here.
1323
1324 2011-05-22  Bruno Haible  <bruno@clisp.org>
1325
1326         wcsrchr: Move AC_LIBOBJ invocations to module description.
1327         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
1328         here...
1329         * modules/wcsrchr (configure.ac): ... to here.
1330
1331 2011-05-22  Bruno Haible  <bruno@clisp.org>
1332
1333         wcspbrk: Move AC_LIBOBJ invocations to module description.
1334         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
1335         here...
1336         * modules/wcspbrk (configure.ac): ... to here.
1337
1338 2011-05-22  Bruno Haible  <bruno@clisp.org>
1339
1340         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
1341         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
1342         gl_PREREQ_WCSNRTOMBS invocations from here...
1343         * modules/wcsnrtombs (configure.ac): ... to here.
1344
1345 2011-05-22  Bruno Haible  <bruno@clisp.org>
1346
1347         wcsnlen: Move AC_LIBOBJ invocations to module description.
1348         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
1349         here...
1350         * modules/wcsnlen (configure.ac): ... to here.
1351
1352 2011-05-22  Bruno Haible  <bruno@clisp.org>
1353
1354         wcsncpy: Move AC_LIBOBJ invocations to module description.
1355         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
1356         here...
1357         * modules/wcsncpy (configure.ac): ... to here.
1358
1359 2011-05-22  Bruno Haible  <bruno@clisp.org>
1360
1361         wcsncmp: Move AC_LIBOBJ invocations to module description.
1362         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
1363         here...
1364         * modules/wcsncmp (configure.ac): ... to here.
1365
1366 2011-05-22  Bruno Haible  <bruno@clisp.org>
1367
1368         wcsncat: Move AC_LIBOBJ invocations to module description.
1369         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
1370         here...
1371         * modules/wcsncat (configure.ac): ... to here.
1372
1373 2011-05-22  Bruno Haible  <bruno@clisp.org>
1374
1375         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
1376         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
1377         from here...
1378         * modules/wcsncasecmp (configure.ac): ... to here.
1379
1380 2011-05-22  Bruno Haible  <bruno@clisp.org>
1381
1382         wcslen: Move AC_LIBOBJ invocations to module description.
1383         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
1384         * modules/wcslen (configure.ac): ... to here.
1385
1386 2011-05-22  Bruno Haible  <bruno@clisp.org>
1387
1388         wcsdup: Move AC_LIBOBJ invocations to module description.
1389         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
1390         * modules/wcsdup (configure.ac): ... to here.
1391
1392 2011-05-22  Bruno Haible  <bruno@clisp.org>
1393
1394         wcscspn: Move AC_LIBOBJ invocations to module description.
1395         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
1396         here...
1397         * modules/wcscspn (configure.ac): ... to here.
1398
1399 2011-05-22  Bruno Haible  <bruno@clisp.org>
1400
1401         wcscpy: Move AC_LIBOBJ invocations to module description.
1402         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
1403         * modules/wcscpy (configure.ac): ... to here.
1404
1405 2011-05-22  Bruno Haible  <bruno@clisp.org>
1406
1407         wcscoll: Move AC_LIBOBJ invocations to module description.
1408         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
1409         here...
1410         * modules/wcscoll (configure.ac): ... to here.
1411
1412 2011-05-22  Bruno Haible  <bruno@clisp.org>
1413
1414         wcscmp: Move AC_LIBOBJ invocations to module description.
1415         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
1416         * modules/wcscmp (configure.ac): ... to here.
1417
1418 2011-05-22  Bruno Haible  <bruno@clisp.org>
1419
1420         wcschr: Move AC_LIBOBJ invocations to module description.
1421         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
1422         * modules/wcschr (configure.ac): ... to here.
1423
1424 2011-05-22  Bruno Haible  <bruno@clisp.org>
1425
1426         wcscat: Move AC_LIBOBJ invocations to module description.
1427         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
1428         * modules/wcscat (configure.ac): ... to here.
1429
1430 2011-05-22  Bruno Haible  <bruno@clisp.org>
1431
1432         wcscasecmp: Move AC_LIBOBJ invocations to module description.
1433         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
1434         here...
1435         * modules/wcscasecmp (configure.ac): ... to here.
1436
1437 2011-05-22  Bruno Haible  <bruno@clisp.org>
1438
1439         wcrtomb: Move AC_LIBOBJ invocations to module description.
1440         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
1441         invocations from here...
1442         * modules/wcrtomb (configure.ac): ... to here.
1443
1444 2011-05-22  Bruno Haible  <bruno@clisp.org>
1445
1446         wcpncpy: Move AC_LIBOBJ invocations to module description.
1447         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
1448         here...
1449         * modules/wcpncpy (configure.ac): ... to here.
1450
1451 2011-05-22  Bruno Haible  <bruno@clisp.org>
1452
1453         wcpcpy: Move AC_LIBOBJ invocations to module description.
1454         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
1455         * modules/wcpcpy (configure.ac): ... to here.
1456
1457 2011-05-22  Bruno Haible  <bruno@clisp.org>
1458
1459         waitpid: Move AC_LIBOBJ invocations to module description.
1460         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
1461         invocation from here...
1462         * modules/waitpid (configure.ac): ... to here.
1463
1464 2011-05-22  Bruno Haible  <bruno@clisp.org>
1465
1466         utimensat: Move AC_LIBOBJ invocations to module description.
1467         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
1468         here...
1469         * modules/utimensat (configure.ac): ... to here.
1470
1471 2011-05-22  Bruno Haible  <bruno@clisp.org>
1472
1473         usleep: Move AC_LIBOBJ invocations to module description.
1474         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
1475         here...
1476         * modules/usleep (configure.ac): ... to here.
1477
1478 2011-05-22  Bruno Haible  <bruno@clisp.org>
1479
1480         unlockpt: Move AC_LIBOBJ invocations to module description.
1481         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
1482         gl_PREREQ_UNLOCKPT invocations from here...
1483         * modules/unlockpt (configure.ac): ... to here.
1484
1485 2011-05-22  Bruno Haible  <bruno@clisp.org>
1486
1487         unlink: Respect rules for use of AC_LIBOBJ.
1488         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
1489         * modules/unlink (configure.ac): ... to here.
1490
1491 2011-05-22  Bruno Haible  <bruno@clisp.org>
1492
1493         uname: Move AC_LIBOBJ invocations to module description.
1494         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
1495         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
1496         here...
1497         * modules/uname (configure.ac): ... to here.
1498
1499 2011-05-22  Bruno Haible  <bruno@clisp.org>
1500
1501         ttyname_r: Move AC_LIBOBJ invocations to module description.
1502         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
1503         gl_PREREQ_TTYNAME_R invocations from here...
1504         * modules/ttyname_r (configure.ac): ... to here.
1505
1506 2011-05-22  Bruno Haible  <bruno@clisp.org>
1507
1508         tsearch: Move AC_LIBOBJ invocations to module description.
1509         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
1510         invocations from here...
1511         * modules/tsearch (configure.ac): ... to here.
1512
1513 2011-05-22  Bruno Haible  <bruno@clisp.org>
1514
1515         towctrans: Move AC_LIBOBJ invocations to module description.
1516         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
1517         AC_LIBOBJ invocation from here...
1518         * modules/towctrans (configure.ac): ... to here.
1519
1520 2011-05-22  Bruno Haible  <bruno@clisp.org>
1521
1522         tmpfile: Move AC_LIBOBJ invocations to module description.
1523         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
1524         invocations from here...
1525         * modules/tmpfile (configure.ac): ... to here.
1526
1527 2011-05-22  Bruno Haible  <bruno@clisp.org>
1528
1529         times: Move AC_LIBOBJ invocations to module description.
1530         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
1531         * modules/times (configure.ac): ... to here.
1532
1533 2011-05-22  Bruno Haible  <bruno@clisp.org>
1534
1535         time_r: Move AC_LIBOBJ invocations to module description.
1536         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
1537         invocations from here...
1538         * modules/time_r (configure.ac): ... to here.
1539
1540 2011-05-22  Bruno Haible  <bruno@clisp.org>
1541
1542         timegm: Move AC_LIBOBJ invocations to module description.
1543         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
1544         invocations from here...
1545         * modules/timegm (configure.ac): ... to here.
1546
1547 2011-05-22  Bruno Haible  <bruno@clisp.org>
1548
1549         tcgetsid: Move AC_LIBOBJ invocations to module description.
1550         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
1551         and gl_PREREQ_TCGETSID invocations from here...
1552         * modules/tcgetsid (configure.ac): ... to here.
1553         (Depends-on): Update conditions.
1554
1555 2011-05-22  Bruno Haible  <bruno@clisp.org>
1556
1557         symlinkat: Move AC_LIBOBJ invocations to module description.
1558         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
1559         here...
1560         * modules/symlinkat (configure.ac): ... to here.
1561
1562 2011-05-22  Bruno Haible  <bruno@clisp.org>
1563
1564         symlink: Move AC_LIBOBJ invocations to module description.
1565         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
1566         here...
1567         * modules/symlink (configure.ac): ... to here.
1568
1569 2011-05-22  Bruno Haible  <bruno@clisp.org>
1570
1571         strverscmp: Move AC_LIBOBJ invocations to module description.
1572         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
1573         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
1574         from here...
1575         * modules/strverscmp (configure.ac): ... to here.
1576
1577 2011-05-22  Bruno Haible  <bruno@clisp.org>
1578
1579         strtok_r: Move AC_LIBOBJ invocations to module description.
1580         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
1581         and gl_PREREQ_STRTOK_R invocations from here...
1582         * modules/strtok_r (configure.ac): ... to here.
1583         (Depends-on): Update conditions.
1584
1585 2011-05-22  Bruno Haible  <bruno@clisp.org>
1586
1587         strtoumax: Move AC_LIBOBJ invocations to module description.
1588         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
1589         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
1590         from here...
1591         * modules/strtoumax (configure.ac): ... to here.
1592
1593 2011-05-22  Bruno Haible  <bruno@clisp.org>
1594
1595         strtoimax: Move AC_LIBOBJ invocations to module description.
1596         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
1597         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
1598         from here...
1599         * modules/strtoimax (configure.ac): ... to here.
1600
1601 2011-05-22  Bruno Haible  <bruno@clisp.org>
1602
1603         strtoull: Move AC_LIBOBJ invocations to module description.
1604         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
1605         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
1606         from here...
1607         * modules/strtoull (configure.ac): ... to here.
1608
1609 2011-05-22  Bruno Haible  <bruno@clisp.org>
1610
1611         strtoll: Move AC_LIBOBJ invocations to module description.
1612         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
1613         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
1614         here...
1615         * modules/strtoll (configure.ac): ... to here.
1616
1617 2011-05-22  Bruno Haible  <bruno@clisp.org>
1618
1619         strtoul: Move AC_LIBOBJ invocations to module description.
1620         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
1621         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
1622         * modules/strtoul (configure.ac): ... to here.
1623
1624 2011-05-22  Bruno Haible  <bruno@clisp.org>
1625
1626         strtol: Move AC_LIBOBJ invocations to module description.
1627         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
1628         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
1629         * modules/strtol (configure.ac): ... to here.
1630
1631 2011-05-22  Bruno Haible  <bruno@clisp.org>
1632
1633         strtod: Move AC_LIBOBJ invocations to module description.
1634         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
1635         invocations from here...
1636         * modules/strtod (configure.ac): ... to here.
1637
1638 2011-05-22  Bruno Haible  <bruno@clisp.org>
1639
1640         strstr*: Move AC_LIBOBJ invocations to module description.
1641         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
1642         invocations from here...
1643         * modules/strstr-simple (configure.ac): ... to here.
1644         * modules/strstr (configure.ac): ... and here.
1645
1646 2011-05-22  Bruno Haible  <bruno@clisp.org>
1647
1648         strsignal: Move AC_LIBOBJ invocations to module description.
1649         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
1650         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
1651         * modules/strsignal (configure.ac): ... to here.
1652         (Depends-on): Update conditions.
1653
1654 2011-05-22  Bruno Haible  <bruno@clisp.org>
1655
1656         strsep: Move AC_LIBOBJ invocations to module description.
1657         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
1658         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
1659         here...
1660         * modules/strsep (configure.ac): ... to here.
1661
1662 2011-05-22  Bruno Haible  <bruno@clisp.org>
1663
1664         strptime: Move AC_LIBOBJ invocations to module description.
1665         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
1666         gl_PREREQ_STRPTIME invocations from here...
1667         * modules/strptime (configure.ac): ... to here.
1668
1669 2011-05-22  Bruno Haible  <bruno@clisp.org>
1670
1671         strpbrk: Move AC_LIBOBJ invocations to module description.
1672         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
1673         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
1674         here...
1675         * modules/strpbrk (configure.ac): ... to here.
1676
1677 2011-05-22  Bruno Haible  <bruno@clisp.org>
1678
1679         strnlen: Move AC_LIBOBJ invocations to module description.
1680         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
1681         invocations from here...
1682         * modules/strnlen (configure.ac): ... to here.
1683
1684 2011-05-22  Bruno Haible  <bruno@clisp.org>
1685
1686         strndup: Move AC_LIBOBJ invocations to module description.
1687         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
1688         invocations from here...
1689         * modules/strndup (configure.ac): ... to here.
1690         (Depends-on): Update conditions.
1691
1692 2011-05-22  Bruno Haible  <bruno@clisp.org>
1693
1694         strncat: Move AC_LIBOBJ invocations to module description.
1695         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
1696         invocations from here...
1697         * modules/strncat (configure.ac): ... to here.
1698
1699 2011-05-22  Bruno Haible  <bruno@clisp.org>
1700
1701         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
1702         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
1703         invocations from here...
1704         * modules/strdup (configure.ac): ... to here.
1705         * modules/strdup-posix (configure.ac): ... and here.
1706
1707 2011-05-22  Bruno Haible  <bruno@clisp.org>
1708
1709         strcspn: Move AC_LIBOBJ invocations to module description.
1710         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
1711         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
1712         here...
1713         * modules/strcspn (configure.ac): ... to here.
1714
1715 2011-05-22  Bruno Haible  <bruno@clisp.org>
1716
1717         strchrnul: Move AC_LIBOBJ invocations to module description.
1718         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
1719         gl_PREREQ_STRCHRNUL invocations from here...
1720         * modules/strchrnul (configure.ac): ... to here.
1721
1722 2011-05-22  Bruno Haible  <bruno@clisp.org>
1723
1724         strcasestr*: Move AC_LIBOBJ invocations to module description.
1725         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
1726         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
1727         * modules/strcasestr-simple (configure.ac): ... to here.
1728         * modules/strcasestr (configure.ac): ... and here.
1729
1730 2011-05-22  Bruno Haible  <bruno@clisp.org>
1731
1732         strcase: Move AC_LIBOBJ invocations to module description.
1733         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
1734         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
1735         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
1736         gl_PREREQ_STRNCASECMP invocations from here...
1737         * modules/strcase (configure.ac): ... to here.
1738
1739 2011-05-22  Bruno Haible  <bruno@clisp.org>
1740
1741         stpncpy: Move AC_LIBOBJ invocations to module description.
1742         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
1743         here...
1744         * modules/stpncpy (configure.ac): ... to here.
1745
1746 2011-05-22  Bruno Haible  <bruno@clisp.org>
1747
1748         stpcpy: Move AC_LIBOBJ invocations to module description.
1749         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
1750         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
1751         here...
1752         * modules/stpcpy (configure.ac): ... to here.
1753
1754 2011-05-21  Bruno Haible  <bruno@clisp.org>
1755
1756         stat: Move AC_LIBOBJ invocations to module description.
1757         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
1758         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
1759         here...
1760         * modules/stat (configure.ac): ... to here.
1761
1762 2011-05-21  Bruno Haible  <bruno@clisp.org>
1763
1764         sleep: Move AC_LIBOBJ invocations to module description.
1765         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
1766         * modules/sleep (configure.ac): ... to here.
1767
1768 2011-05-21  Bruno Haible  <bruno@clisp.org>
1769
1770         signbit: Move AC_LIBOBJ invocations to module description.
1771         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
1772         * modules/signbit (configure.ac): ... to here.
1773
1774 2011-05-21  Bruno Haible  <bruno@clisp.org>
1775
1776         sigprocmask: Move AC_LIBOBJ invocations to module description.
1777         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
1778         gl_PREREQ_SIGPROMASK invocations from here...
1779         * modules/sigprocmask (configure.ac): ... to here.
1780
1781 2011-05-21  Bruno Haible  <bruno@clisp.org>
1782
1783         sigaction: Move AC_LIBOBJ invocations to module description.
1784         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
1785         gl_PREREQ_SIGACTION invocations from here...
1786         * modules/sigaction (configure.ac): ... to here.
1787
1788 2011-05-21  Bruno Haible  <bruno@clisp.org>
1789
1790         sig2str: Move AC_LIBOBJ invocations to module description.
1791         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
1792         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
1793         here...
1794         * modules/sig2str (configure.ac): ... to here.
1795
1796 2011-05-21  Bruno Haible  <bruno@clisp.org>
1797
1798         setlocale: Move AC_LIBOBJ invocations to module description.
1799         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
1800         gl_PREREQ_SETLOCALE invocations from here...
1801         * modules/setlocale (configure.ac): ... to here.
1802
1803 2011-05-21  Bruno Haible  <bruno@clisp.org>
1804
1805         unsetenv: Move AC_LIBOBJ invocations to module description.
1806         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
1807         and gl_PREREQ_UNSETENV invocations from here...
1808         * modules/unsetenv (configure.ac): ... to here.
1809         (Depends-on): Update.
1810
1811 2011-05-21  Bruno Haible  <bruno@clisp.org>
1812
1813         setenv: Move AC_LIBOBJ invocations to module description.
1814         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
1815         here...
1816         * modules/setenv (configure.ac): ... to here.
1817
1818 2011-05-21  Bruno Haible  <bruno@clisp.org>
1819
1820         selinux-h: Move AC_LIBOBJ invocations to module description.
1821         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
1822         AC_LIBOBJ invocation from here...
1823         * modules/selinux-h (configure.ac): ... to here.
1824
1825 2011-05-21  Bruno Haible  <bruno@clisp.org>
1826
1827         select: Respect rules for use of AC_LIBOBJ.
1828         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
1829         here...
1830         * modules/select (configure.ac): ... to here.
1831
1832 2011-05-21  Bruno Haible  <bruno@clisp.org>
1833
1834         scandir: Move AC_LIBOBJ invocations to module description.
1835         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
1836         invocations from here...
1837         * modules/scandir (configure.ac): ... to here.
1838
1839 2011-05-21  Bruno Haible  <bruno@clisp.org>
1840
1841         rpmatch: Move AC_LIBOBJ invocations to module description.
1842         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
1843         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
1844         here...
1845         * modules/rpmatch (configure.ac): ... to here.
1846
1847 2011-05-21  Bruno Haible  <bruno@clisp.org>
1848
1849         rmdir: Respect rules for use of AC_LIBOBJ.
1850         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
1851         * modules/rmdir (configure.ac): ... to here.
1852
1853 2011-05-21  Bruno Haible  <bruno@clisp.org>
1854
1855         renameat: Move AC_LIBOBJ invocations to module description.
1856         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
1857         here...
1858         * modules/renameat (configure.ac): ... to here.
1859
1860 2011-05-21  Bruno Haible  <bruno@clisp.org>
1861
1862         rename: Respect rules for use of AC_LIBOBJ.
1863         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
1864         here...
1865         * modules/rename (configure.ac): ... to here.
1866
1867 2011-05-21  Bruno Haible  <bruno@clisp.org>
1868
1869         remove: Move AC_LIBOBJ invocations to module description.
1870         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
1871         here...
1872         * modules/remove (configure.ac): ... to here.
1873
1874 2011-05-21  Bruno Haible  <bruno@clisp.org>
1875
1876         relocatable-lib: Move AC_LIBOBJ invocations to module description.
1877         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
1878         macro.
1879         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
1880         * modules/relocatable-lib (configure.ac): ... to here.
1881         * modules/relocatable-prog-wrapper (configure.ac): Invoke
1882         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
1883
1884 2011-05-21  Bruno Haible  <bruno@clisp.org>
1885
1886         relocatable-prog: Move AC_LIBOBJ invocations to module description.
1887         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
1888         here...
1889         * modules/relocatable-prog (configure.ac): ... to here.
1890
1891 2011-05-21  Bruno Haible  <bruno@clisp.org>
1892
1893         regex: Move AC_LIBOBJ invocations to module description.
1894         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
1895         invocations from here...
1896         * modules/regex (configure.ac): ... to here.
1897
1898 2011-05-21  Bruno Haible  <bruno@clisp.org>
1899
1900         realloc-*: Move AC_LIBOBJ invocations to module description.
1901         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
1902         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
1903         AC_LIBOBJ invocations from here...
1904         * modules/realloc-gnu (configure.ac): ... to here.
1905         * modules/realloc-posix (configure.ac): ... and here.
1906
1907 2011-05-21  Bruno Haible  <bruno@clisp.org>
1908
1909         readutmp: Move AC_LIBOBJ invocations to module description.
1910         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
1911         * modules/readutmp (configure.ac): ... to here.
1912
1913 2011-05-21  Bruno Haible  <bruno@clisp.org>
1914
1915         readlinkat: Move AC_LIBOBJ invocations to module description.
1916         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
1917         here...
1918         * modules/readlinkat (configure.ac): ... to here.
1919
1920 2011-05-21  Bruno Haible  <bruno@clisp.org>
1921
1922         readlink: Move AC_LIBOBJ invocations to module description.
1923         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
1924         gl_PREREQ_READLINK invocations from here...
1925         * modules/readlink (configure.ac): ... to here.
1926
1927 2011-05-21  Bruno Haible  <bruno@clisp.org>
1928
1929         readline: Move AC_LIBOBJ invocations to module description.
1930         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
1931         gl_PREREQ_READLINE invocations from here...
1932         * modules/readline (configure.ac): ... to here.
1933
1934 2011-05-21  Bruno Haible  <bruno@clisp.org>
1935
1936         read: Move AC_LIBOBJ invocations to module description.
1937         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
1938         * modules/read (configure.ac): ... to here.
1939
1940 2011-05-21  Bruno Haible  <bruno@clisp.org>
1941
1942         rawmemchr: Move AC_LIBOBJ invocations to module description.
1943         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
1944         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
1945         from here...
1946         * modules/rawmemchr (configure.ac): ... to here.
1947
1948 2011-05-21  Bruno Haible  <bruno@clisp.org>
1949
1950         random_r: Move AC_LIBOBJ invocations to module description.
1951         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
1952         gl_PREREQ_RANDOM_R invocations from here...
1953         * modules/random_r (configure.ac): ... to here.
1954
1955 2011-05-21  Bruno Haible  <bruno@clisp.org>
1956
1957         pwrite: Move AC_LIBOBJ invocations to module description.
1958         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
1959         * modules/pwrite (configure.ac): ... to here.
1960
1961 2011-05-21  Bruno Haible  <bruno@clisp.org>
1962
1963         putenv: Move AC_LIBOBJ invocations to module description.
1964         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
1965         * modules/putenv (configure.ac): ... to here.
1966
1967 2011-05-21  Bruno Haible  <bruno@clisp.org>
1968
1969         login_tty: Move AC_LIBOBJ invocations to module description.
1970         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
1971         * modules/login_tty (configure.ac): ... to here.
1972
1973 2011-05-21  Bruno Haible  <bruno@clisp.org>
1974
1975         openpty: Move AC_LIBOBJ invocations to module description.
1976         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
1977         * modules/openpty (configure.ac): ... to here.
1978
1979 2011-05-21  Bruno Haible  <bruno@clisp.org>
1980
1981         forkpty: Move AC_LIBOBJ invocations to module description.
1982         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
1983         * modules/forkpty (configure.ac): ... to here.
1984
1985 2011-05-21  Bruno Haible  <bruno@clisp.org>
1986
1987         ptsname: Move AC_LIBOBJ invocations to module description.
1988         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
1989         invocations from here...
1990         * modules/ptsname (configure.ac): ... to here.
1991
1992 2011-05-21  Bruno Haible  <bruno@clisp.org>
1993
1994         pread: Move AC_LIBOBJ invocations to module description.
1995         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
1996         * modules/pread (configure.ac): ... to here.
1997
1998 2011-05-21  Bruno Haible  <bruno@clisp.org>
1999
2000         posix_spawn*: Move AC_LIBOBJ invocations to module description.
2001         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
2002         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
2003         * modules/posix_spawn (configure.ac): ... to here.
2004         * modules/posix_spawnp (configure.ac): ... and here.
2005
2006 2011-05-21  Bruno Haible  <bruno@clisp.org>
2007
2008         popen: Move AC_LIBOBJ invocations to module description.
2009         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
2010         invocations from here...
2011         * modules/popen (configure.ac): ... to here.
2012
2013 2011-05-21  Bruno Haible  <bruno@clisp.org>
2014
2015         poll: Move AC_LIBOBJ invocations to module description.
2016         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
2017         invocations from here...
2018         * modules/poll (configure.ac): ... to here.
2019
2020 2011-05-21  Bruno Haible  <bruno@clisp.org>
2021
2022         pipe-posix: Move AC_LIBOBJ invocations to module description.
2023         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
2024         * modules/pipe-posix (configure.ac): ... to here.
2025
2026 2011-05-21  Bruno Haible  <bruno@clisp.org>
2027
2028         openat: Respect rules for use of AC_LIBOBJ.
2029         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
2030         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
2031         * modules/openat (configure.ac): ... to here.
2032
2033 2011-05-21  Bruno Haible  <bruno@clisp.org>
2034
2035         obstack-printf*: Move AC_LIBOBJ invocations to module description.
2036         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
2037         invocation from here...
2038         * modules/obstack-printf (configure.ac): ... to here.
2039         * modules/obstack-printf-posix (configure.ac): ... and here.
2040
2041 2011-05-21  Bruno Haible  <bruno@clisp.org>
2042
2043         nl_langinfo: Move AC_LIBOBJ invocations to module description.
2044         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
2045         from here...
2046         * modules/nl_langinfo (configure.ac): ... to here.
2047
2048 2011-05-21  Bruno Haible  <bruno@clisp.org>
2049
2050         nanosleep: Move AC_LIBOBJ invocations to module description.
2051         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
2052         gl_PREREQ_NANOSLEEP invocations from here...
2053         * modules/nanosleep (configure.ac): ... to here.
2054
2055 2011-05-21  Bruno Haible  <bruno@clisp.org>
2056
2057         mountlist: Move AC_LIBOBJ invocations to module description.
2058         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
2059         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
2060         * modules/mountlist (configure.ac): ... to here.
2061
2062 2011-05-21  Bruno Haible  <bruno@clisp.org>
2063
2064         mktime: Respect rules for use of AC_LIBOBJ.
2065         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
2066         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
2067         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
2068         (gl_FUNC_MKTIME_INTERNAL): ... and here...
2069         * modules/mktime (configure.ac): ... to here.
2070         * modules/mktime-internal (configure.ac): ... and here.
2071         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
2072
2073 2011-05-21  Bruno Haible  <bruno@clisp.org>
2074
2075         mkstemps: Move AC_LIBOBJ invocations to module description.
2076         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
2077         here...
2078         * modules/mkstemps (configure.ac): ... to here.
2079
2080 2011-05-21  Bruno Haible  <bruno@clisp.org>
2081
2082         mkstemp: Move AC_LIBOBJ invocations to module description.
2083         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
2084         gl_PREREQ_MKSTEMP invocations from here...
2085         * modules/mkstemp (configure.ac): ... to here.
2086
2087 2011-05-21  Bruno Haible  <bruno@clisp.org>
2088
2089         mkostemps: Move AC_LIBOBJ invocations to module description.
2090         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
2091         here...
2092         * modules/mkostemps (configure.ac): ... to here.
2093
2094 2011-05-21  Bruno Haible  <bruno@clisp.org>
2095
2096         mkostemp: Move AC_LIBOBJ invocations to module description.
2097         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
2098         gl_PREREQ_MKOSTEMP invocations from here...
2099         * modules/mkostemp (configure.ac): ... to here.
2100
2101 2011-05-21  Bruno Haible  <bruno@clisp.org>
2102
2103         mknod: Move AC_LIBOBJ invocations to module description.
2104         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
2105         * modules/mknod (configure.ac): ... to here.
2106
2107 2011-05-21  Bruno Haible  <bruno@clisp.org>
2108
2109         mkfifoat: Move AC_LIBOBJ invocations to module description.
2110         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
2111         here...
2112         * modules/mkfifoat (configure.ac): ... to here.
2113
2114 2011-05-21  Bruno Haible  <bruno@clisp.org>
2115
2116         mkfifo: Respect rules for use of AC_LIBOBJ.
2117         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
2118         here...
2119         * modules/mkfifo (configure.ac): ... to here.
2120
2121 2011-05-21  Bruno Haible  <bruno@clisp.org>
2122
2123         mkdtemp: Move AC_LIBOBJ invocations to module description.
2124         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
2125         invocations from here...
2126         * modules/mkdtemp (configure.ac): ... to here.
2127
2128 2011-05-21  Bruno Haible  <bruno@clisp.org>
2129
2130         mkdir: Move AC_LIBOBJ invocations to module description.
2131         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
2132         * modules/mkdir (configure.ac): ... to here.
2133
2134 2011-05-21  Bruno Haible  <bruno@clisp.org>
2135
2136         memset: Move AC_LIBOBJ invocations to module description.
2137         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
2138         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
2139         here...
2140         * modules/memset (configure.ac): ... to here.
2141
2142 2011-05-21  Bruno Haible  <bruno@clisp.org>
2143
2144         memrchr: Move AC_LIBOBJ invocations to module description.
2145         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
2146         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
2147         here...
2148         * modules/memrchr (configure.ac): ... to here.
2149
2150 2011-05-21  Bruno Haible  <bruno@clisp.org>
2151
2152         mempcpy: Move AC_LIBOBJ invocations to module description.
2153         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
2154         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
2155         here...
2156         * modules/mempcpy (configure.ac): ... to here.
2157
2158 2011-05-21  Bruno Haible  <bruno@clisp.org>
2159
2160         memmove: Move AC_LIBOBJ invocations to module description.
2161         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
2162         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
2163         here...
2164         * modules/memmove (configure.ac): ... to here.
2165
2166 2011-05-21  Bruno Haible  <bruno@clisp.org>
2167
2168         memmem*: Move AC_LIBOBJ invocations to module description.
2169         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
2170         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
2171         here...
2172         (gl_FUNC_MEMMEM): ... and here...
2173         * modules/memmem-simple (configure.ac): ... to here.
2174         * modules/memmem (configure.ac): ... and here.
2175
2176 2011-05-21  Bruno Haible  <bruno@clisp.org>
2177
2178         memcpy: Move AC_LIBOBJ invocations to module description.
2179         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
2180         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
2181         here...
2182         * modules/memcpy (configure.ac): ... to here.
2183
2184 2011-05-21  Bruno Haible  <bruno@clisp.org>
2185
2186         memcmp: Simplify autoconf macro.
2187         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
2188         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
2189         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
2190
2191 2011-05-21  Bruno Haible  <bruno@clisp.org>
2192
2193         memcmp: Move AC_LIBOBJ invocations to module description.
2194         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
2195         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
2196         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
2197         * modules/memcmp (configure.ac): ... to here.
2198         (Depends-on): Update conditions.
2199
2200 2011-05-21  Bruno Haible  <bruno@clisp.org>
2201
2202         memchr: Respect rules for use of AC_LIBOBJ.
2203         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
2204         invocations from here...
2205         * modules/memchr (configure.ac): ... to here.
2206
2207 2011-05-21  Bruno Haible  <bruno@clisp.org>
2208
2209         mbtowc: Move AC_LIBOBJ invocations to module description.
2210         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
2211         invocations from here...
2212         * modules/mbtowc (configure.ac): ... to here.
2213
2214 2011-05-21  Bruno Haible  <bruno@clisp.org>
2215
2216         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
2217         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
2218         gl_PREREQ_MBSRTOWCS invocations from here...
2219         * modules/mbsrtowcs (configure.ac): ... to here.
2220
2221 2011-05-21  Bruno Haible  <bruno@clisp.org>
2222
2223         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
2224         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
2225         gl_PREREQ_MBSNRTOWCS invocations from here...
2226         * modules/mbsnrtowcs (configure.ac): ... to here.
2227
2228 2011-05-21  Bruno Haible  <bruno@clisp.org>
2229
2230         mbsinit: Move AC_LIBOBJ invocations to module description.
2231         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
2232         invocations from here...
2233         * modules/mbsinit (configure.ac): ... to here.
2234
2235 2011-05-21  Bruno Haible  <bruno@clisp.org>
2236
2237         mbrlen: Move AC_LIBOBJ invocations to module description.
2238         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
2239         invocations from here...
2240         * modules/mbrlen (configure.ac): ... to here.
2241
2242 2011-05-21  Bruno Haible  <bruno@clisp.org>
2243
2244         mbrtowc: Respect rules for use of AC_LIBOBJ.
2245         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
2246         invocations from here...
2247         * modules/mbrtowc (configure.ac): ... to here.
2248
2249 2011-05-21  Bruno Haible  <bruno@clisp.org>
2250
2251         malloc-*: Move AC_LIBOBJ invocations to module description.
2252         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
2253         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
2254         AC_LIBOBJ invocations from here...
2255         * modules/malloc-gnu (configure.ac): ... to here.
2256         * modules/malloc-posix (configure.ac): ... and here.
2257
2258 2011-05-21  Bruno Haible  <bruno@clisp.org>
2259
2260         lstat, openat: Respect rules for use of AC_LIBOBJ.
2261         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
2262         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
2263         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
2264         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
2265         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
2266         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
2267         here.
2268         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
2269
2270 2011-05-21  Bruno Haible  <bruno@clisp.org>
2271
2272         lseek: Move AC_LIBOBJ invocations to module description.
2273         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
2274         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
2275         * modules/lseek (configure.ac): ... to here.
2276
2277 2011-05-21  Bruno Haible  <bruno@clisp.org>
2278
2279         linkat: Move AC_LIBOBJ invocations to module description.
2280         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
2281         here...
2282         * modules/linkat (configure.ac): ... to here.
2283
2284 2011-05-21  Bruno Haible  <bruno@clisp.org>
2285
2286         link: Respect rules for use of AC_LIBOBJ.
2287         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
2288         * modules/link (configure.ac): ... to here.
2289
2290 2011-05-21  Bruno Haible  <bruno@clisp.org>
2291
2292         lchown: Move AC_LIBOBJ invocations to module description.
2293         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
2294         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
2295         * modules/lchown (configure.ac): ... to here.
2296
2297 2011-05-21  Bruno Haible  <bruno@clisp.org>
2298
2299         iswctype: Move AC_LIBOBJ invocations to module description.
2300         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
2301         here...
2302         * modules/iswctype (configure.ac): ... to here.
2303
2304 2011-05-21  Bruno Haible  <bruno@clisp.org>
2305
2306         iswblank: Move AC_LIBOBJ invocations to module description.
2307         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
2308         here...
2309         * modules/iswblank (configure.ac): ... to here.
2310
2311 2011-05-21  Bruno Haible  <bruno@clisp.org>
2312
2313         atanl: Move AC_LIBOBJ invocations to module description.
2314         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
2315         * modules/atanl (configure.ac): ... to here.
2316
2317 2011-05-21  Bruno Haible  <bruno@clisp.org>
2318
2319         acosl: Move AC_LIBOBJ invocations to module description.
2320         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
2321         * modules/acosl (configure.ac): ... to here.
2322
2323 2011-05-21  Bruno Haible  <bruno@clisp.org>
2324
2325         asinl: Respect rules for use of AC_LIBOBJ.
2326         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
2327         * modules/asinl (configure.ac): ... to here.
2328
2329 2011-05-21  Bruno Haible  <bruno@clisp.org>
2330
2331         tanl: Move AC_LIBOBJ invocations to module description.
2332         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
2333         * modules/tanl (configure.ac): ... to here.
2334
2335 2011-05-21  Bruno Haible  <bruno@clisp.org>
2336
2337         cosl: Move AC_LIBOBJ invocations to module description.
2338         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
2339         * modules/cosl (configure.ac): ... to here.
2340
2341 2011-05-21  Bruno Haible  <bruno@clisp.org>
2342
2343         sinl: Move AC_LIBOBJ invocations to module description.
2344         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
2345         * modules/sinl (configure.ac): ... to here.
2346
2347 2011-05-21  Bruno Haible  <bruno@clisp.org>
2348
2349         logl: Move AC_LIBOBJ invocations to module description.
2350         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
2351         * modules/logl (configure.ac): ... to here.
2352
2353 2011-05-21  Bruno Haible  <bruno@clisp.org>
2354
2355         expl: Move AC_LIBOBJ invocations to module description.
2356         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
2357         * modules/expl (configure.ac): ... to here.
2358
2359 2011-05-21  Bruno Haible  <bruno@clisp.org>
2360
2361         roundl: Move AC_LIBOBJ invocations to module description.
2362         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
2363         * modules/roundl (configure.ac): ... to here.
2364
2365 2011-05-21  Bruno Haible  <bruno@clisp.org>
2366
2367         round: Move AC_LIBOBJ invocations to module description.
2368         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
2369         * modules/round (configure.ac): ... to here.
2370
2371 2011-05-21  Bruno Haible  <bruno@clisp.org>
2372
2373         roundf: Move AC_LIBOBJ invocations to module description.
2374         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
2375         * modules/roundf (configure.ac): ... to here.
2376
2377 2011-05-21  Bruno Haible  <bruno@clisp.org>
2378
2379         truncl: Move AC_LIBOBJ invocations to module description.
2380         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
2381         * modules/truncl (configure.ac): ... to here.
2382
2383 2011-05-21  Bruno Haible  <bruno@clisp.org>
2384
2385         trunc: Move AC_LIBOBJ invocations to module description.
2386         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
2387         * modules/trunc (configure.ac): ... to here.
2388
2389 2011-05-21  Bruno Haible  <bruno@clisp.org>
2390
2391         truncf: Move AC_LIBOBJ invocations to module description.
2392         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
2393         * modules/truncf (configure.ac): ... to here.
2394
2395 2011-05-21  Bruno Haible  <bruno@clisp.org>
2396
2397         ceill: Move AC_LIBOBJ invocations to module description.
2398         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
2399         * modules/ceill (configure.ac): ... to here.
2400
2401 2011-05-21  Bruno Haible  <bruno@clisp.org>
2402
2403         ceil: Move AC_LIBOBJ invocations to module description.
2404         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
2405         * modules/ceil (configure.ac): ... to here.
2406
2407 2011-05-21  Bruno Haible  <bruno@clisp.org>
2408
2409         ceilf: Move AC_LIBOBJ invocations to module description.
2410         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
2411         * modules/ceilf (configure.ac): ... to here.
2412
2413 2011-05-21  Bruno Haible  <bruno@clisp.org>
2414
2415         floorl: Respect rules for use of AC_LIBOBJ.
2416         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
2417         * modules/floorl (configure.ac): ... to here.
2418
2419 2011-05-21  Bruno Haible  <bruno@clisp.org>
2420
2421         floor: Respect rules for use of AC_LIBOBJ.
2422         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
2423         * modules/floor (configure.ac): ... to here.
2424
2425 2011-05-21  Bruno Haible  <bruno@clisp.org>
2426
2427         floorf: Move AC_LIBOBJ invocations to module description.
2428         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
2429         * modules/floorf (configure.ac): ... to here.
2430
2431 2011-05-20  Bruno Haible  <bruno@clisp.org>
2432
2433         sqrtl: Respect rules for use of AC_LIBOBJ.
2434         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
2435         * modules/sqrtl (configure.ac): ... to here.
2436
2437 2011-05-20  Bruno Haible  <bruno@clisp.org>
2438
2439         ldexpl: Respect rules for use of AC_LIBOBJ.
2440         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
2441         * modules/ldexpl (configure.ac): ... to here.
2442
2443 2011-05-20  Bruno Haible  <bruno@clisp.org>
2444
2445         frexpl*: Respect rules for use of AC_LIBOBJ.
2446         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
2447         invocation from here...
2448         * modules/frexpl (configure.ac): ... to here.
2449         * modules/frexpl-nolibm (configure.ac): ... and here.
2450
2451 2011-05-20  Bruno Haible  <bruno@clisp.org>
2452
2453         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
2454         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
2455         invocation from here...
2456         * modules/frexp (configure.ac): ... to here.
2457         * modules/frexp-nolibm (configure.ac): ... and here.
2458
2459 2011-05-20  Bruno Haible  <bruno@clisp.org>
2460
2461         isnan: Respect rules for use of AC_LIBOBJ.
2462         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
2463         invocations here.
2464         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
2465         REPLACE_ISNAN.
2466         * modules/isnand (configure.ac): Likewise.
2467         * modules/isnanl (configure.ac): Likewise.
2468
2469 2011-05-20  Bruno Haible  <bruno@clisp.org>
2470
2471         isnanl*: Respect rules for use of AC_LIBOBJ.
2472         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
2473         invocation from here...
2474         * modules/isnanl (configure.ac): ... to here.
2475         * modules/isnanl-nolibm (configure.ac): ... and here.
2476
2477 2011-05-20  Bruno Haible  <bruno@clisp.org>
2478
2479         isnand*: Move AC_LIBOBJ invocations to module description.
2480         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
2481         invocation from here...
2482         * modules/isnand (configure.ac): ... to here.
2483         * modules/isnand-nolibm (configure.ac): ... and here.
2484
2485 2011-05-20  Bruno Haible  <bruno@clisp.org>
2486
2487         isnanf*: Move AC_LIBOBJ invocations to module description.
2488         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
2489         invocation from here...
2490         * modules/isnanf (configure.ac): ... to here.
2491         * modules/isnanf-nolibm (configure.ac): ... and here.
2492
2493 2011-05-20  Bruno Haible  <bruno@clisp.org>
2494
2495         isnan*: Separate the AC_LIBOBJ invocations.
2496         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
2497         AC_LIBOBJ invocation.
2498         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
2499         here.
2500         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
2501         AC_LIBOBJ invocation.
2502         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
2503         here.
2504         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
2505         AC_LIBOBJ invocation.
2506         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
2507         here.
2508         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
2509
2510 2011-05-08  Bruno Haible  <bruno@clisp.org>
2511
2512         isinf: Move AC_LIBOBJ invocations to module description.
2513         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
2514         * modules/isinf (configure.ac): ... to here.
2515
2516 2011-05-08  Bruno Haible  <bruno@clisp.org>
2517
2518         isfinite: Move AC_LIBOBJ invocations to module description.
2519         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
2520         * modules/isfinite (configure.ac): ... to here.
2521
2522 2011-05-08  Bruno Haible  <bruno@clisp.org>
2523
2524         isblank: Move AC_LIBOBJ invocations to module description.
2525         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
2526         here...
2527         * modules/isblank (configure.ac): ... to here.
2528
2529 2011-05-08  Bruno Haible  <bruno@clisp.org>
2530
2531         isapipe: Move AC_LIBOBJ invocations to module description.
2532         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
2533         gl_PREREQ_ISAPIPE invocations from here...
2534         * modules/isapipe (configure.ac): ... to here.
2535         (Depends-on): Update condition.
2536
2537 2011-05-08  Bruno Haible  <bruno@clisp.org>
2538
2539         ioctl: Move AC_LIBOBJ invocations to module description.
2540         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
2541         invocations from here...
2542         * modules/ioctl (configure.ac): ... to here.
2543         (Depends-on): Update condition.
2544
2545 2011-05-08  Bruno Haible  <bruno@clisp.org>
2546
2547         imaxdiv: Move AC_LIBOBJ invocations to module description.
2548         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
2549         invocations from here...
2550         * modules/imaxdiv (configure.ac): ... to here.
2551
2552 2011-05-08  Bruno Haible  <bruno@clisp.org>
2553
2554         imaxabs: Move AC_LIBOBJ invocations to module description.
2555         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
2556         invocations from here...
2557         * modules/imaxabs (configure.ac): ... to here.
2558
2559 2011-05-08  Bruno Haible  <bruno@clisp.org>
2560
2561         getaddrinfo: Move AC_LIBOBJ invocations to module description.
2562         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
2563         AC_LIBOBJ invocations from here...
2564         * modules/getaddrinfo (configure.ac): ... to here.
2565         (Depends-on): Add conditions.
2566
2567 2011-05-08  Bruno Haible  <bruno@clisp.org>
2568
2569         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
2570         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
2571         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
2572         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
2573         (gl_PREREQ_INET_PTON): ... from here.
2574         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
2575         gl_PREREQ_INET_PTON here.
2576         (Depends-on): Update condition.
2577
2578 2011-05-08  Bruno Haible  <bruno@clisp.org>
2579
2580         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
2581         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
2582         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
2583         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
2584         (gl_PREREQ_INET_NTOP): ... from here.
2585         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
2586         gl_PREREQ_INET_NTOP here.
2587         (Depends-on): Update condition.
2588
2589 2011-05-08  Bruno Haible  <bruno@clisp.org>
2590
2591         iconv_open: Move AC_LIBOBJ invocations to module description.
2592         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
2593         AC_LIBOBJ invocations from here...
2594         * modules/iconv_open (configure.ac): ... to here.
2595
2596 2011-05-08  Bruno Haible  <bruno@clisp.org>
2597
2598         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
2599         If module 'iconv_open' is among the main modules and module
2600         'iconv_open-utf' is among the tests dependencies, then
2601         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
2602         return the special iconv_t values. Therefore iconv() and iconv_close()
2603         must support these special iconv_t values, already in lib, not only in
2604         tests.
2605         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
2606         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
2607         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
2608         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
2609         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
2610         (Depends-on): Add the dependencies of iconv_open-utf.
2611         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
2612         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
2613         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
2614
2615 2011-05-08  Bruno Haible  <bruno@clisp.org>
2616
2617         group-member: Move AC_LIBOBJ invocations to module description.
2618         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
2619         gl_PREREQ_GROUP_MEMBER invocations from here...
2620         * modules/group-member (configure.ac): ... to here.
2621
2622 2011-05-08  Bruno Haible  <bruno@clisp.org>
2623
2624         grantpt: Move AC_LIBOBJ invocations to module description.
2625         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
2626         invocations from here...
2627         * modules/grantpt (configure.ac): ... to here.
2628
2629 2011-05-08  Bruno Haible  <bruno@clisp.org>
2630
2631         glob: Move AC_LIBOBJ invocations to module description.
2632         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
2633         from here...
2634         * modules/glob (configure.ac): ... to here.
2635
2636 2011-05-08  Bruno Haible  <bruno@clisp.org>
2637
2638         getusershell: Move AC_LIBOBJ invocations to module description.
2639         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
2640         Move AC_LIBOBJ invocation from here...
2641         * modules/getusershell (configure.ac): ... to here.
2642         (Depends-on): Update condition.
2643
2644 2011-05-08  Bruno Haible  <bruno@clisp.org>
2645
2646         gettimeofday: Move AC_LIBOBJ invocations to module description.
2647         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
2648         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
2649         gl_PREREQ_GETTIMEOFDAY invocations from here...
2650         * modules/gettimeofday (configure.ac): ... to here.
2651
2652 2011-05-08  Bruno Haible  <bruno@clisp.org>
2653
2654         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
2655         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
2656         just gl_FUNC_TZSET.
2657         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
2658         (gl_FUNC_TZSET_CLOBBER): Remove actions.
2659         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
2660         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
2661
2662 2011-05-08  Bruno Haible  <bruno@clisp.org>
2663
2664         getsubopt: Move AC_LIBOBJ invocations to module description.
2665         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
2666         gl_PREREQ_GETSUBOPT invocations from here...
2667         * modules/getsubopt (configure.ac): ... to here.
2668
2669 2011-05-08  Bruno Haible  <bruno@clisp.org>
2670
2671         getpass-gnu: Move AC_LIBOBJ invocations to module description.
2672         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
2673         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
2674         * modules/getpass-gnu (configure.ac): ... to here.
2675
2676 2011-05-08  Bruno Haible  <bruno@clisp.org>
2677
2678         getpass: Move AC_LIBOBJ invocations to module description.
2679         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
2680         gl_PREREQ_GETPASS invocations from here...
2681         * modules/getpass (configure.ac): ... to here.
2682
2683 2011-05-08  Bruno Haible  <bruno@clisp.org>
2684
2685         getpagesize: Move AC_LIBOBJ invocations to module description.
2686         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
2687         from here...
2688         * modules/getpagesize (configure.ac): ... to here.
2689
2690 2011-05-08  Bruno Haible  <bruno@clisp.org>
2691
2692         getopt: Move AC_LIBOBJ invocations to module description.
2693         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
2694         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
2695         invocations from here...
2696         * modules/getopt-gnu (configure.ac): ... to here.
2697         * modules/getopt-posix (configure.ac): ... and here.
2698         (Depends-on): Update condition.
2699
2700 2011-05-08  Bruno Haible  <bruno@clisp.org>
2701
2702         getopt, argp: Respect rules for use of AC_LIBOBJ.
2703         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
2704         (gl_REPLACE_GETOPT_ALWAYS): New macro.
2705         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
2706         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
2707
2708 2011-05-08  Bruno Haible  <bruno@clisp.org>
2709
2710         getlogin_r: Move AC_LIBOBJ invocations to module description.
2711         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
2712         gl_PREREQ_GETLOGIN_R invocations from here...
2713         * modules/getlogin_r (configure.ac): ... to here.
2714
2715 2011-05-08  Bruno Haible  <bruno@clisp.org>
2716
2717         getlogin: Move AC_LIBOBJ invocations to module description.
2718         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
2719         here...
2720         * modules/getlogin (configure.ac): ... to here.
2721
2722 2011-05-08  Bruno Haible  <bruno@clisp.org>
2723
2724         getloadavg: Move AC_LIBOBJ invocations to module description.
2725         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
2726         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
2727         * modules/getloadavg (configure.ac): ... to here.
2728
2729 2011-05-08  Bruno Haible  <bruno@clisp.org>
2730
2731         gethrxtime: Move AC_LIBOBJ invocations to module description.
2732         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
2733         LIB_GETHRXTIME from here...
2734         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
2735         invocations from here...
2736         * modules/gethrxtime (configure.ac): ... to here.
2737
2738 2011-05-08  Bruno Haible  <bruno@clisp.org>
2739
2740         gethostname: Move AC_LIBOBJ invocations to module description.
2741         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
2742         gl_PREREQ_GETHOSTNAME invocations from here...
2743         * modules/gethostname (configure.ac): ... to here.
2744
2745 2011-05-08  Bruno Haible  <bruno@clisp.org>
2746
2747         getgroups: Move AC_LIBOBJ invocations to module description.
2748         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
2749         here...
2750         * modules/getgroups (configure.ac): ... to here.
2751
2752 2011-05-08  Bruno Haible  <bruno@clisp.org>
2753
2754         getdtablesize: Move AC_LIBOBJ invocations to module description.
2755         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
2756         invocation from here...
2757         * modules/getdtablesize (configure.ac): ... to here.
2758
2759 2011-05-08  Bruno Haible  <bruno@clisp.org>
2760
2761         getdomainname: Move AC_LIBOBJ invocations to module description.
2762         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
2763         gl_PREREQ_GETDOMAINNAME invocations from here...
2764         * modules/getdomainname (configure.ac): ... to here.
2765
2766 2011-05-08  Bruno Haible  <bruno@clisp.org>
2767
2768         getline: Move AC_LIBOBJ invocations to module description.
2769         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
2770         invocations from here...
2771         * modules/getline (configure.ac): ... to here.
2772
2773 2011-05-08  Bruno Haible  <bruno@clisp.org>
2774
2775         getline: Simplify.
2776         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
2777         It's already handled through the module dependency.
2778
2779 2011-05-08  Bruno Haible  <bruno@clisp.org>
2780
2781         getdelim: Move AC_LIBOBJ invocations to module description.
2782         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
2783         and gl_PREREQ_GETDELIM invocations from here...
2784         * modules/getdelim (configure.ac): ... to here.
2785         (Depends-on): Fix condition.
2786
2787 2011-05-08  Bruno Haible  <bruno@clisp.org>
2788
2789         getcwd: Move AC_LIBOBJ invocations to module description.
2790         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
2791         invocations from here...
2792         * modules/getcwd (configure.ac): ... to here.
2793
2794 2011-05-08  Bruno Haible  <bruno@clisp.org>
2795
2796         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
2797         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
2798         here...
2799         * modules/getcwd-lgpl (configure.ac): ... to here.
2800
2801 2011-05-07  Bruno Haible  <bruno@clisp.org>
2802
2803         crypto/gc: Move AC_LIBOBJ invocations to module description.
2804         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
2805         * modules/crypto/gc (configure.ac): ... to here.
2806
2807 2011-05-07  Bruno Haible  <bruno@clisp.org>
2808
2809         fwriting: Move AC_LIBOBJ invocations to module description.
2810         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
2811         here...
2812         * modules/fwriting (configure.ac): ... to here.
2813
2814 2011-05-07  Bruno Haible  <bruno@clisp.org>
2815
2816         fwritable: Move AC_LIBOBJ invocations to module description.
2817         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
2818         here...
2819         * modules/fwritable (configure.ac): ... to here.
2820
2821 2011-05-07  Bruno Haible  <bruno@clisp.org>
2822
2823         futimens: Move AC_LIBOBJ invocations to module description.
2824         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
2825         here...
2826         * modules/futimens (configure.ac): ... to here.
2827
2828 2011-05-07  Bruno Haible  <bruno@clisp.org>
2829
2830         ftruncate: Move AC_LIBOBJ invocations to module description.
2831         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
2832         gl_PREREQ_FTRUNCATE invocations from here...
2833         * modules/ftruncate (configure.ac): ... to here.
2834
2835 2011-05-07  Bruno Haible  <bruno@clisp.org>
2836
2837         fsync: Move AC_LIBOBJ invocations to module description.
2838         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
2839         invocations from here...
2840         * modules/fsync (configure.ac): ... to here.
2841
2842 2011-05-07  Bruno Haible  <bruno@clisp.org>
2843
2844         fsusage: Move AC_LIBOBJ invocations to module description.
2845         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
2846         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
2847         * modules/fsusage (configure.ac): ... to here.
2848
2849 2011-05-07  Bruno Haible  <bruno@clisp.org>
2850
2851         freopen: Move AC_LIBOBJ invocations to module description.
2852         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
2853         invocations from here...
2854         * modules/freopen (configure.ac): ... to here.
2855
2856 2011-05-07  Bruno Haible  <bruno@clisp.org>
2857
2858         free: Move AC_LIBOBJ invocations to module description.
2859         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
2860         invocations from here...
2861         * modules/free (configure.ac): ... to here.
2862
2863 2011-05-07  Bruno Haible  <bruno@clisp.org>
2864
2865         freadable: Move AC_LIBOBJ invocations to module description.
2866         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
2867         here...
2868         * modules/freadable (configure.ac): ... to here.
2869
2870 2011-05-07  Bruno Haible  <bruno@clisp.org>
2871
2872         fpurge: Move AC_LIBOBJ invocations to module description.
2873         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
2874         invocations from here...
2875         * modules/fpurge (configure.ac): ... to here.
2876
2877 2011-05-07  Bruno Haible  <bruno@clisp.org>
2878
2879         fpending: Move AC_LIBOBJ invocations to module description.
2880         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
2881         gl_FUNC_FPENDING.
2882         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
2883         invocations from here...
2884         * modules/fpending (configure.ac): ... to here.
2885
2886 2011-05-07  Bruno Haible  <bruno@clisp.org>
2887
2888         fopen: Move AC_LIBOBJ invocations to module description.
2889         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
2890         invocations from here...
2891         * modules/fopen (configure.ac): ... to here.
2892
2893 2011-05-07  Bruno Haible  <bruno@clisp.org>
2894
2895         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
2896         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
2897         gl_FUNC_FNMATCH_POSIX.
2898         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
2899         invocations from here...
2900         * modules/fnmatch (configure.ac): ... to here.
2901         * modules/fnmatch-gnu (configure.ac): ... and here.
2902
2903 2011-05-07  Bruno Haible  <bruno@clisp.org>
2904
2905         flock: Move AC_LIBOBJ invocations to module description.
2906         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
2907         invocations from here...
2908         * modules/flock (configure.ac): ... to here.
2909
2910 2011-05-07  Bruno Haible  <bruno@clisp.org>
2911
2912         fileblocks: Move AC_LIBOBJ invocations to module description.
2913         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
2914         gl_PREREQ_FILEBLOCKS invocations from here...
2915         * modules/fileblocks (configure.ac): ... to here.
2916
2917 2011-05-06  Bruno Haible  <bruno@clisp.org>
2918
2919         fflush: Move AC_LIBOBJ invocations to module description.
2920         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
2921         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
2922         invocations from here...
2923         * modules/fflush (configure.ac): ... to here.
2924
2925 2011-05-06  Bruno Haible  <bruno@clisp.org>
2926
2927         fdopendir: Move AC_LIBOBJ invocations to module description.
2928         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
2929         here...
2930         * modules/fdopendir (configure.ac): ... to here.
2931         (Depends-on): Improve conditions.
2932
2933 2011-05-06  Bruno Haible  <bruno@clisp.org>
2934
2935         _Exit: Move AC_LIBOBJ invocations to module description.
2936         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
2937         invocations from here...
2938         * modules/_Exit (configure.ac): ... to here.
2939
2940 2011-05-21  Bruno Haible  <bruno@clisp.org>
2941
2942         euidaccess: Respect rules for use of AC_LIBOBJ.
2943         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
2944         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
2945         from here...
2946         * modules/euidaccess (configure.ac): ... to here.
2947
2948 2011-05-06  Bruno Haible  <bruno@clisp.org>
2949
2950         error: Move AC_LIBOBJ invocations to module description.
2951         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
2952         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
2953         invocations from here...
2954         * modules/error (configure.ac): ... to here.
2955
2956 2011-05-06  Bruno Haible  <bruno@clisp.org>
2957
2958         duplocale: Move AC_LIBOBJ invocations to module description.
2959         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
2960         gl_PREREQ_DUPLOCALE invocations from here...
2961         * modules/duplocale (configure.ac): ... to here.
2962
2963 2011-05-05  Bruno Haible  <bruno@clisp.org>
2964
2965         dirfd: Move AC_LIBOBJ invocations to module description.
2966         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
2967         gl_FUNC_DIRFD.
2968         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
2969         here...
2970         * modules/dirfd (configure.ac): ... to here.
2971         (Depends-on): Fix condition.
2972
2973 2011-05-05  Bruno Haible  <bruno@clisp.org>
2974
2975         chown: Respect rules for use of AC_LIBOBJ.
2976         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
2977         * modules/chown (configure.ac): ... to here.
2978
2979 2011-05-05  Bruno Haible  <bruno@clisp.org>
2980
2981         chdir-long: Move AC_LIBOBJ invocations to module description.
2982         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
2983         gl_PREREQ_CHDIR_LONG invocations from here...
2984         * modules/chdir-long (configure.ac): ... to here.
2985
2986 2011-05-05  Bruno Haible  <bruno@clisp.org>
2987
2988         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
2989         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
2990         from here...
2991         * modules/canonicalize-lgpl (configure.ac): ... to here.
2992
2993 2011-05-05  Bruno Haible  <bruno@clisp.org>
2994
2995         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
2996         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
2997         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
2998         REPLACE_CALLOC.
2999         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
3000         * modules/calloc-gnu (configure.ac): Likewise.
3001
3002 2011-05-05  Bruno Haible  <bruno@clisp.org>
3003
3004         btowc: Move AC_LIBOBJ invocations to module description.
3005         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
3006         invocations from here...
3007         * modules/btowc (configure.ac): ... to here.
3008
3009 2011-05-21  Bruno Haible  <bruno@clisp.org>
3010
3011         atexit: Move AC_LIBOBJ invocations to module description.
3012         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
3013         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
3014         here...
3015         * modules/atexit (configure.ac): ... to here.
3016
3017 2011-05-05  Bruno Haible  <bruno@clisp.org>
3018
3019         atoll: Move AC_LIBOBJ invocations to module description.
3020         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
3021         invocations from here...
3022         * modules/atoll (configure.ac): ... to here.
3023
3024 2011-05-05  Bruno Haible  <bruno@clisp.org>
3025
3026         argz: Move AC_LIBOBJ invocations to module description.
3027         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
3028         * modules/argz (configure.ac): ... to here.
3029
3030 2011-05-05  Bruno Haible  <bruno@clisp.org>
3031
3032         alphasort: Move AC_LIBOBJ invocations to module description.
3033         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
3034         gl_PREREQ_ALPHASORT invocations from here...
3035         * modules/alphasort (configure.ac): ... to here.
3036
3037 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
3038
3039         verify: new macro verify_expr; verify_true deprecated
3040         * NEWS: Mention this.
3041         * doc/verify.texi (Compile-time Assertions): Document this.
3042         * lib/verify.h (verify_true): Deprecate.
3043         (verify_expr): New macro.
3044         * tests/test-verify.c (function): Test verify_expr.
3045
3046 2011-06-14  Jim Meyering  <meyering@redhat.com>
3047
3048         init.sh: give more portable redirection-related advice in a comment
3049         * tests/init.sh (stderr_fileno_): Update the advice in comments.
3050         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
3051         for lots of discussion.  Stefano Lattarini suggested the solution
3052         of putting "9>&2" after the command.  Reported by Bruno Haible.
3053
3054 2011-06-13  Bruno Haible  <bruno@clisp.org>
3055
3056         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
3057         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
3058         'none'.
3059
3060 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
3061
3062         ftoastr: use strtof only if HAVE_STRTOF
3063         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
3064         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
3065         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
3066         * modules/ftoastr (configure.ac): Check for strtof.
3067
3068 2011-06-13  Bruno Haible  <bruno@clisp.org>
3069
3070         gnulib-tool: Addendum to 2011-06-08 commit.
3071         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
3072         and --witness-c-macro have been given, augment AM_CPPFLAGS.
3073
3074 2011-06-13  Bruno Haible  <bruno@clisp.org>
3075
3076         fseeko: Provide a non-inline replacement of fseek().
3077         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
3078         * modules/fseeko (Depends-on): Add fseek.
3079         * modules/fseek (License): Change to LGPLv2+.
3080
3081 2011-06-13  Bruno Haible  <bruno@clisp.org>
3082
3083         ftello: Provide a non-inline replacement of ftell().
3084         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
3085         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
3086         not have ftello() (such as on mingw).
3087         * modules/ftello (Depends-on): Add ftell.
3088         * modules/ftell (License): Change to LGPLv2+.
3089
3090 2011-05-07  Bruno Haible  <bruno@clisp.org>
3091
3092         ftell: Move AC_LIBOBJ invocations to module description.
3093         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
3094         * modules/ftell (configure.ac): ... to here.
3095
3096 2011-05-07  Bruno Haible  <bruno@clisp.org>
3097
3098         ftello: Respect rules for use of AC_LIBOBJ.
3099         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
3100         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
3101         here...
3102         * modules/ftello (configure.ac): ... to here.
3103
3104 2011-05-07  Bruno Haible  <bruno@clisp.org>
3105
3106         fseeko: Simplify.
3107         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
3108         (gl_FUNC_FSEEKO): Inline it here.
3109
3110 2011-05-07  Bruno Haible  <bruno@clisp.org>
3111
3112         fseek: Move AC_LIBOBJ invocations to module description.
3113         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
3114         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
3115         * modules/fseek (configure.ac): ... to here.
3116
3117 2011-05-07  Bruno Haible  <bruno@clisp.org>
3118
3119         fseek: Respect rules for use of AC_LIBOBJ.
3120         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
3121         here...
3122         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
3123
3124 2011-05-07  Bruno Haible  <bruno@clisp.org>
3125
3126         fseeko: Respect rules for use of AC_LIBOBJ.
3127         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
3128         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
3129         here...
3130         * modules/fseeko (configure.ac): ... to here.
3131
3132 2011-06-13  Bruno Haible  <bruno@clisp.org>
3133
3134         gnulib-tool: Allow comments in the 'Depends-on' section.
3135         * doc/gnulib.texi (Module description): Mention comment syntax in the
3136         Depends-on section.
3137         * gnulib-tool (func_get_dependencies): Filter out comment lines.
3138
3139 2011-06-13  Bruno Haible  <bruno@clisp.org>
3140
3141         file-set.h: guard __attibute__ use, now that it's not always defined
3142         * lib/file-set.h (record_file): Use __attribute__ only with compiler
3143         versions that support it.  This fixes a coreutils build failure with
3144         the vendor cc on HP-UX 11.31.
3145
3146 2011-06-12  Bruno Haible  <bruno@clisp.org>
3147
3148         acl: Add support for HP-UX >= 11.11 JFS ACLs.
3149         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
3150         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
3151         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
3152         (acl, aclsort): New declarations.
3153         (aclv_nontrivial): New declaration.
3154         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
3155         (file_has_acl): Read also the second kind of HP-UX ACLs.
3156         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
3157         kind of HP-UX ACLs if the first kind fails.
3158         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
3159         second kind of HP-UX ACLs.
3160         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
3161         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
3162         agree.
3163         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
3164         hpuxjfs.
3165         Handle hpuxjfs.
3166         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
3167         hpuxjfs.
3168         Handle hpuxjfs.
3169         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
3170         (func_test_same_acls): Use both lsacl and getacl.
3171         Handle hpuxjfs.
3172         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
3173         (func_test_same_acls): Use both lsacl and getacl.
3174         Handle hpuxjfs.
3175
3176 2011-06-12  Bruno Haible  <bruno@clisp.org>
3177
3178         acl: Complete the 2010-08-10 fix.
3179         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
3180         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
3181         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
3182         explicitly.
3183         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
3184         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
3185
3186 2011-06-12  Bruno Haible  <bruno@clisp.org>
3187
3188         spawn-pipe tests: Comments.
3189         * tests/test-spawn-pipe-child.c (main): Update comment.
3190         Reported by James Youngman <jay@gnu.org>.
3191
3192 2011-06-11  James Youngman  <jay@gnu.org>
3193
3194         New module 'stat-size'.
3195         * modules/stat-size: New module.  Provides macros for accessing
3196         file size information in instances of struct stat.  Depends on the
3197         fileblocks module because it calls st_blocks.
3198         * lib/stat-size.h: New file, adapted from coreutils' system.h.
3199         * doc/gnulib.texi: Include stat-size.texi.
3200         * doc/stat-size.texi: Documentation for this module.
3201         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
3202         * m4/fileblocks.m4: Mention that stat-size depends on the call to
3203         AC_STRUCT_ST_BLOCKS.
3204
3205 2011-06-09  Bruno Haible  <bruno@clisp.org>
3206
3207         thread: Support pthreads-win32.
3208         * lib/glthread/thread.h (gl_thread_self): Define differently on
3209         pthreads-win32.
3210         (gl_null_thread): New declaration.
3211         (gl_thread_self_pointer): New macro.
3212         * lib/glthread/thread.c (gl_null_thread): New constant.
3213         * tests/test-lock.c: Use gl_thread_self_pointer instead of
3214         gl_thread_self.
3215         * tests/test-tls.c: Likewise.
3216         Suggested by Paul Eggert. Reported by Eric Blake.
3217
3218 2011-06-09  Bruno Haible  <bruno@clisp.org>
3219
3220         thread: Fix confusion between NULL and 0.
3221         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
3222         Reported by Paul Eggert.
3223
3224 2011-06-09  Bruno Haible  <bruno@clisp.org>
3225
3226         spawn-pipe tests: Avoid test failure on HP-UX 11.
3227         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
3228         is closed.
3229
3230 2011-06-09  Bruno Haible  <bruno@clisp.org>
3231
3232         acl tests: Fix compilation error on HP-UX 11.
3233         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
3234
3235 2011-06-09  Bruno Haible  <bruno@clisp.org>
3236
3237         rmdir: Avoid test failure on HP-UX 10.20.
3238         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
3239         EEXIST.
3240
3241 2011-06-08  Eric Blake  <eblake@redhat.com>
3242
3243         perror: fix test on mingw
3244         * modules/perror-tests (Depends-on): Add dup2.
3245
3246         strerror_r-posix: fix on MacOS
3247         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
3248         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
3249         logic bug.
3250         * lib/strerror_r.c (strerror_r): Fix the bug.
3251         * lib/strerror.c (strerror): Likewise.
3252         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
3253         problem.
3254         * doc/posix-functions/strerror.texi (strerror): Likewise.
3255         * doc/posix-functions/perror.texi (perror): Likewise.
3256         * tests/test-strerror.c (main): Enhance test.
3257         * tests/test-strerror_r.c (main): Likewise.
3258
3259 2011-06-08  Bruno Haible  <bruno@clisp.org>
3260
3261         gnulib-tool: Better isolation between different gnulib-tool invocations.
3262         * gnulib-tool: New option --witness-c-macro.
3263         (witness_c_macro): New variable.
3264         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
3265         AM_CPPFLAGS define it as a C macro.
3266         (func_emit_tests_Makefile_am): Likewise.
3267         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
3268         read it from there.
3269         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
3270         m4_define, not AC_DEFUN.
3271         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
3272         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
3273         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
3274         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
3275         s|...|...|, to substitute the values of the GNULIB_* module indicator
3276         variables.
3277         * modules/dirent (Makefile.am): Likewise.
3278         * modules/fcntl-h (Makefile.am): Likewise.
3279         * modules/iconv-h (Makefile.am): Likewise.
3280         * modules/langinfo (Makefile.am): Likewise.
3281         * modules/locale (Makefile.am): Likewise.
3282         * modules/math (Makefile.am): Likewise.
3283         * modules/netdb (Makefile.am): Likewise.
3284         * modules/poll-h (Makefile.am): Likewise.
3285         * modules/pty (Makefile.am): Likewise.
3286         * modules/search (Makefile.am): Likewise.
3287         * modules/signal (Makefile.am): Likewise.
3288         * modules/spawn (Makefile.am): Likewise.
3289         * modules/stdio (Makefile.am): Likewise.
3290         * modules/stdlib (Makefile.am): Likewise.
3291         * modules/string (Makefile.am): Likewise.
3292         * modules/sys_ioctl (Makefile.am): Likewise.
3293         * modules/sys_select (Makefile.am): Likewise.
3294         * modules/sys_socket (Makefile.am): Likewise.
3295         * modules/sys_stat (Makefile.am): Likewise.
3296         * modules/sys_times (Makefile.am): Likewise.
3297         * modules/sys_utsname (Makefile.am): Likewise.
3298         * modules/sys_wait (Makefile.am): Likewise.
3299         * modules/termios (Makefile.am): Likewise.
3300         * modules/time (Makefile.am): Likewise.
3301         * modules/unistd (Makefile.am): Likewise.
3302         * modules/wchar (Makefile.am): Likewise.
3303
3304 2011-06-08  Eric Blake  <eblake@redhat.com>
3305
3306         strerror: simplify replacement
3307         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
3308         * modules/strerror (configure.ac): No prereqs needed here...
3309         * modules/strerror-override (configure.ac): ...but this needs it.
3310         (Files): Add file for needed prereq macro.
3311
3312 2011-06-08  Bruno Haible  <bruno@clisp.org>
3313
3314         strerror_r-posix: Tweaks.
3315         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
3316         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
3317         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
3318         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
3319         (gl_FUNC_STRERROR_R): ... to here.
3320         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
3321
3322 2011-06-07  Eric Blake  <eblake@redhat.com>
3323
3324         perror: document fixed bugs
3325         * doc/posix-functions/perror.texi (perror): Document recent
3326         patches.
3327
3328 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
3329
3330         stat-time: get_stat_birthtime failure is better-defined
3331         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
3332         return a timestamp whose tv_sec and tv_nsec values are both -1.
3333         Previously, the spec said only that the tv_nsec value was negative.
3334         This upward-compatible change simplifies GNU tar a bit.
3335
3336 2011-06-07  Eric Blake  <eblake@redhat.com>
3337
3338         strerror_r-posix: work around cygwin 1.7.9
3339         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
3340         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
3341         bug without replacing strerror_r.
3342         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
3343         strerror_r is buggy, but without requiring strerror_r compilation.
3344         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
3345
3346         test-perror: relax test to ignore cygwin bug
3347         * tests/test-perror2.c (main): Relax test on requiring detection
3348         of stream errors, and use unbuffered stream.
3349         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
3350         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
3351         * doc/posix-functions/fputc.texi (fputc): Likewise.
3352         * doc/posix-functions/fputs.texi (fputs): Likewise.
3353         * doc/posix-functions/fputws.texi (fputws): Likewise.
3354         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
3355         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
3356         * doc/posix-functions/getopt.texi (getopt): Likewise.
3357         * doc/posix-functions/perror.texi (perror): Likewise.
3358         * doc/posix-functions/printf.texi (printf): Likewise.
3359         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
3360         * doc/posix-functions/psignal.texi (psignal): Likewise.
3361         * doc/posix-functions/putc.texi (putc): Likewise.
3362         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
3363         Likewise.
3364         * doc/posix-functions/putchar.texi (putchar): Likewise.
3365         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
3366         Likewise.
3367         * doc/posix-functions/puts.texi (puts): Likewise.
3368         * doc/posix-functions/putwc.texi (putwc): Likewise.
3369         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
3370         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
3371         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
3372         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
3373         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
3374         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
3375         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
3376         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
3377
3378 2011-05-22  Bruno Haible  <bruno@clisp.org>
3379
3380         strerror: Move AC_LIBOBJ invocations to module description.
3381         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
3382         gl_PREREQ_STRERROR invocations from here...
3383         * modules/strerror (configure.ac): ... to here.
3384
3385 2011-05-21  Bruno Haible  <bruno@clisp.org>
3386
3387         perror: Use common idiom.
3388         * modules/perror (configure.ac): Reorder statements.
3389
3390 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
3391
3392         tests: fix usage message in 'mktempd_'
3393         * tests/init.sh (mktempd_): In the usage message, use literal
3394         'mktempd_', not '$ME' (which is even undefined), as the name of
3395         the subroutine.
3396
3397 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
3398
3399         tests init: new function 'fatal_', for hard errors
3400         Before this patch, the only way offered by tests/init.sh to
3401         properly signal a hard error was the `framework_failure_'
3402         function.  But the error message issued by that function,
3403         as its name would suggest, refers to a set-up failure in the
3404         testsuite, while hard errors can obviously also be due to
3405         other reasons.  The best way to fix this inconsistency is to
3406         introduce a new function with a more general error message.
3407         * tests/init.sh (fatal_): New function.
3408
3409 2011-06-06  Eric Blake  <eblake@redhat.com>
3410
3411         canonicalize-lgpl: use common idiom
3412         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
3413         over newer POSIX -Rf.
3414         Reported by Bruno Haible.
3415
3416         canonicalize-lgpl: work around AIX realpath bug
3417         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
3418         * doc/posix-functions/realpath.texi (realpath): Document it.
3419         Reported by Bruno Haible.
3420
3421         strerror: work around FreeBSD bug
3422         * lib/strerror.c (strerror): Special case 0.
3423         Reported by Bruno Haible.
3424
3425         strerror-override: avoid bloating errno module
3426         * modules/errno (Files, configure.ac): Move replacement strings...
3427         * modules/strerror-override: ...to new module.
3428         * modules/strerror (Depends-on): Add strerror-override.
3429         * modules/strerror_r-posix (Depends-on): Likewise.
3430         * MODULES.html.sh: Document new module.
3431         Reported by Bruno Haible.
3432
3433 2011-06-06  Bruno Haible  <bruno@clisp.org>
3434
3435         spawn-pipe tests: Rename program.
3436         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
3437         * tests/test-spawn-pipe-child.c: Update comment.
3438         * tests/test-spawn-pipe.sh: Update.
3439         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
3440
3441         spawn-pipe tests: Link the child program only against libc.
3442         * tests/test-spawn-pipe-child.c: New file, extracted from
3443         tests/test-spawn-pipe.c.
3444         (main): Expect only one argument.
3445         (is_open): New function, copied from tests/test-pipe.c.
3446         * tests/test-spawn-pipe.c: Don't include <errno.h>.
3447         (child_main): Remove function.
3448         (test_pipe): Pass only one argument to the child program.
3449         (main): Remove child process code. Expect the child program's name as
3450         first argument.
3451         * tests/test-spawn-pipe.sh: Pass the child program's name as first
3452         argument.
3453         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
3454         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
3455         test-spawn-pipe-child against no libraries.
3456
3457 2011-06-06  Bruno Haible  <bruno@clisp.org>
3458
3459         careadlinkat: Avoid mismatch between ssize_t and int.
3460         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
3461         * lib/careadlinkat.c (careadlinkatcwd): Define always.
3462
3463 2011-06-06  Jim Meyering  <meyering@redhat.com>
3464
3465         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
3466         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
3467         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
3468
3469 2011-06-05  Bruno Haible  <bruno@clisp.org>
3470
3471         ansi-c++-opt: Interoperability with libtool.
3472         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
3473         set the variable to "no", not to ":".
3474         * NEWS: Mention the change.
3475
3476 2011-06-05  Bruno Haible  <bruno@clisp.org>
3477
3478         acl: Fix test failure on AIX 7.
3479         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
3480         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
3481
3482 2011-06-05  Bruno Haible  <bruno@clisp.org>
3483
3484         pipe-filter-ii: Fix test failure on AIX and IRIX.
3485         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
3486         with EAGAIN, retry with a smaller buffer size.
3487
3488 2011-06-05  Bruno Haible  <bruno@clisp.org>
3489
3490         localename: Fix link dependencies.
3491         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
3492         * modules/localename-tests (Makefile.am): Link test-localename with
3493         $(LIBTHREAD).
3494
3495 2011-06-05  Bruno Haible  <bruno@clisp.org>
3496
3497         error: Avoid gcc warning.
3498         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
3499
3500 2011-06-05  Bruno Haible  <bruno@clisp.org>
3501
3502         unsetenv: Avoid gcc warning.
3503         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
3504
3505 2011-06-05  Bruno Haible  <bruno@clisp.org>
3506
3507         setenv: Avoid gcc warning.
3508         * lib/setenv.c (setenv): Provide declaration if system lacks it.
3509
3510 2011-06-05  Bruno Haible  <bruno@clisp.org>
3511
3512         sys_select: Ensure memset is declared also on AIX 7.
3513         * lib/sys_select.in.h: Include <string.h> also on AIX.
3514         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
3515         self-contained also on AIX 7.1.
3516
3517 2011-06-04  Jim Meyering  <meyering@redhat.com>
3518
3519         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
3520         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
3521         function name, "error".
3522         (_gl_translatable_diag_func_re): New configurable variable.
3523
3524 2011-06-04  Bruno Haible  <bruno@clisp.org>
3525
3526         getopt: Avoid gcc warning.
3527         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
3528
3529 2011-06-04  Bruno Haible  <bruno@clisp.org>
3530
3531         strerror_r: Fix comments.
3532         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
3533         commit.
3534
3535 2011-06-04  Bruno Haible  <bruno@clisp.org>
3536
3537         perror: Fix compilation error.
3538         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
3539         Undefine fprintf, not sprintf.
3540         * modules/perror (Depends-on): Remove intprops, verify.
3541
3542 2011-06-04  Bruno Haible  <bruno@clisp.org>
3543
3544         setlocale: Enable replacement on Cygwin 1.5.
3545         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
3546         Cygwin 1.5.x.
3547         * doc/posix-functions/setlocale.texi: Mention that the problem with the
3548         LC_CTYPE category also exists on Cygwin 1.5.x.
3549
3550 2011-06-04  Bruno Haible  <bruno@clisp.org>
3551
3552         strerror-override: Don't disable symbol renamings.
3553         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
3554         * lib/strerror-override.c: Include config.h.
3555         (strerror_override): Don't undefine.
3556
3557 2011-06-03  Bruno Haible  <bruno@clisp.org>
3558
3559         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
3560         * lib/localename.h: Update copyright header.
3561         * lib/localename.c: Likewise.
3562         * lib/relocatable.h: Likewise.
3563         * lib/relocatable.c: Likewise.
3564
3565 2011-06-02  Bruno Haible  <bruno@clisp.org>
3566
3567         doc: Fix a module name.
3568         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
3569
3570 2011-06-02  Bruno Haible  <bruno@clisp.org>
3571
3572         pipe2: Remove dependency on 'nonblocking' module.
3573         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
3574         O_NONBLOCK is defined by gnulib.
3575         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
3576         is zero.
3577         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
3578         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
3579         defined by gnulib.
3580         (get_nonblocking_flag): New function.
3581         (main): Test O_NONBLOCK flag only if it is nonzero.
3582         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
3583
3584 2011-06-03  Jim Meyering  <meyering@redhat.com>
3585
3586         maint: three new prohibit-header-without-use rules
3587         Prohibit use of cloexec.h, posixver.h, same.h without use.
3588         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
3589         (sc_prohibit_posixver_without_use): Likewise.
3590         (sc_prohibit_same_without_use): Likewise.
3591
3592 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
3593
3594         allocator: 'die' routine is now given requested size
3595         * lib/allocator.h (struct allocator.die): New size arg.
3596         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
3597         If the actual problem is an ssize_t limitation, not a size_t or
3598         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
3599
3600 2011-06-01  Eric Blake  <eblake@redhat.com>
3601
3602         strerror: drop strerror_r dependency
3603         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
3604         * lib/strerror-override.c (strerror_override): ...to new file.
3605         * lib/strerror-override.h: Add prototype.
3606         * lib/strerror-impl.h: Delete.
3607         * lib/strerror.c (strerror): New implementation.
3608         * modules/errno (Files): Add new files.
3609         (configure.ac): Compile new file as appropriate.
3610         * modules/strerror (Files): Drop unused file.
3611         (Depends-on): Drop strerror_r-posix.
3612         * MODULES.html.sh: Document strerror_r-posix.
3613         Requested by Sam Steingold.
3614
3615         perror: call strerror_r directly
3616         * modules/perror (Files): Drop strerror-impl.h.
3617         * lib/perror.c (perror): Use our own stack buffer, rather than
3618         calling a wrapper that uses static storage.
3619         * doc/posix-functions/perror.texi (perror): Document a limitation
3620         of our replacement.
3621
3622         strerror_r: fix includes for FreeBSD
3623         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
3624         since we use abort on some platforms.
3625         Reported by Matthias Bolte.
3626
3627 2011-05-31  Bruno Haible  <bruno@clisp.org>
3628
3629         Fix link errors in tests: openat-die uses gettext-h.
3630         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
3631         against $(LIBINTL).
3632         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
3633         against $(LIBINTL).
3634         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
3635         $(LIBINTL).
3636         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
3637         against $(LIBINTL).
3638         * modules/linkat-tests (Makefile.am): Link test-linkat against
3639         $(LIBINTL).
3640         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
3641         $(LIBINTL).
3642         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
3643         against $(LIBINTL).
3644         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
3645         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
3646         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
3647         $(LIBINTL).
3648         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
3649         $(LIBINTL).
3650         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
3651         $(LIBINTL).
3652         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3653
3654 2011-05-31  Bruno Haible  <bruno@clisp.org>
3655
3656         Fix link errors in tests: wait-process uses gettext-h.
3657         * modules/nonblocking-pipe-tests (Makefile.am): Set
3658         test_nonblocking_pipe_main_LDADD.
3659         * modules/nonblocking-socket-tests (Makefile.am): Link
3660         test-nonblocking-socket-main against $(LIBINTL).
3661         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3662
3663 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
3664
3665         assert-h: work around 'verify' incompatibility
3666         * lib/verify.h: Use @...@ directives, not ifdef.
3667         * modules/assert-h (assert.h): Implement the directives.
3668         (assert.h): Substitute the symbol-prefix more consistently.
3669
3670 2011-05-29  Jim Meyering  <meyering@redhat.com>
3671
3672         trim: remove three superfluous assignments
3673         * lib/trim.c (trim2): Remove three superfluous assignments
3674         and correct brace positioning.
3675
3676 2011-05-29  Bruno Haible  <bruno@clisp.org>
3677
3678         wctype-h: Avoid namespace pollution on Solaris 2.6.
3679         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
3680         identifiers.
3681         * doc/posix-headers/wctype.texi: Mention the problem.
3682         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3683
3684 2011-05-28  Jim Meyering  <meyering@redhat.com>
3685
3686         parse-datetime.y: accommodate -Wstrict-overflow
3687         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
3688         placate -Wstrict-overflow.
3689
3690         trim: avoid a warning from -O2 -Wstrict-overflow
3691         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
3692
3693 2011-05-29  Bruno Haible  <bruno@clisp.org>
3694
3695         gnulib-tool: Fix bug in yesterday's commit.
3696         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
3697         twice.
3698
3699 2011-05-29  Bruno Haible  <bruno@clisp.org>
3700
3701         Allow multiple gnulib generated include files to be combined.
3702         * gnulib-tool (func_compute_include_guard_prefix): New function.
3703         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
3704         ${gl_include_guard_prefix} references.
3705         (func_import, func_create_testdir): Invoke
3706         func_compute_include_guard_prefix.
3707         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
3708         * lib/ctype.in.h: Likewise.
3709         * lib/dirent.in.h: Likewise.
3710         * lib/errno.in.h: Likewise.
3711         * lib/fcntl.in.h: Likewise.
3712         * lib/float.in.h: Likewise.
3713         * lib/getopt.in.h: Likewise.
3714         * lib/iconv.in.h: Likewise.
3715         * lib/langinfo.in.h: Likewise.
3716         * lib/locale.in.h: Likewise.
3717         * lib/math.in.h: Likewise.
3718         * lib/netdb.in.h: Likewise.
3719         * lib/netinet_in.in.h: Likewise.
3720         * lib/poll.in.h: Likewise.
3721         * lib/pthread.in.h: Likewise.
3722         * lib/pty.in.h: Likewise.
3723         * lib/sched.in.h: Likewise.
3724         * lib/se-selinux.in.h: Likewise.
3725         * lib/search.in.h: Likewise.
3726         * lib/signal.in.h: Likewise.
3727         * lib/spawn.in.h: Likewise.
3728         * lib/stdarg.in.h: Likewise.
3729         * lib/stddef.in.h: Likewise.
3730         * lib/stdint.in.h: Likewise.
3731         * lib/stdio.in.h: Likewise.
3732         * lib/stdlib.in.h: Likewise.
3733         * lib/string.in.h: Likewise.
3734         * lib/strings.in.h: Likewise.
3735         * lib/sys_file.in.h: Likewise.
3736         * lib/sys_ioctl.in.h: Likewise.
3737         * lib/sys_select.in.h: Likewise.
3738         * lib/sys_socket.in.h: Likewise.
3739         * lib/sys_stat.in.h: Likewise.
3740         * lib/sys_time.in.h: Likewise.
3741         * lib/sys_times.in.h: Likewise.
3742         * lib/sys_uio.in.h: Likewise.
3743         * lib/sys_utsname.in.h: Likewise.
3744         * lib/sys_wait.in.h: Likewise.
3745         * lib/sysexits.in.h: Likewise.
3746         * lib/termios.in.h: Likewise.
3747         * lib/time.in.h: Likewise.
3748         * lib/unistd.in.h: Likewise.
3749         * lib/wchar.in.h: Likewise.
3750         * lib/wctype.in.h: Likewise.
3751         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
3752         * modules/ctype (Makefile.am): Likewise.
3753         * modules/dirent (Makefile.am): Likewise.
3754         * modules/errno (Makefile.am): Likewise.
3755         * modules/fcntl-h (Makefile.am): Likewise.
3756         * modules/float (Makefile.am): Likewise.
3757         * modules/getopt-posix (Makefile.am): Likewise.
3758         * modules/iconv-h (Makefile.am): Likewise.
3759         * modules/langinfo (Makefile.am): Likewise.
3760         * modules/locale (Makefile.am): Likewise.
3761         * modules/math (Makefile.am): Likewise.
3762         * modules/netdb (Makefile.am): Likewise.
3763         * modules/netinet_in (Makefile.am): Likewise.
3764         * modules/poll-h (Makefile.am): Likewise.
3765         * modules/pthread (Makefile.am): Likewise.
3766         * modules/pty (Makefile.am): Likewise.
3767         * modules/sched (Makefile.am): Likewise.
3768         * modules/search (Makefile.am): Likewise.
3769         * modules/selinux-h (Makefile.am): Likewise.
3770         * modules/signal (Makefile.am): Likewise.
3771         * modules/spawn (Makefile.am): Likewise.
3772         * modules/stdarg (Makefile.am): Likewise.
3773         * modules/stddef (Makefile.am): Likewise.
3774         * modules/stdint (Makefile.am): Likewise.
3775         * modules/stdio (Makefile.am): Likewise.
3776         * modules/stdlib (Makefile.am): Likewise.
3777         * modules/string (Makefile.am): Likewise.
3778         * modules/strings (Makefile.am): Likewise.
3779         * modules/sys_file (Makefile.am): Likewise.
3780         * modules/sys_ioctl (Makefile.am): Likewise.
3781         * modules/sys_select (Makefile.am): Likewise.
3782         * modules/sys_socket (Makefile.am): Likewise.
3783         * modules/sys_stat (Makefile.am): Likewise.
3784         * modules/sys_time (Makefile.am): Likewise.
3785         * modules/sys_times (Makefile.am): Likewise.
3786         * modules/sys_uio (Makefile.am): Likewise.
3787         * modules/sys_utsname (Makefile.am): Likewise.
3788         * modules/sys_wait (Makefile.am): Likewise.
3789         * modules/sysexits (Makefile.am): Likewise.
3790         * modules/termios (Makefile.am): Likewise.
3791         * modules/time (Makefile.am): Likewise.
3792         * modules/unistd (Makefile.am): Likewise.
3793         * modules/wchar (Makefile.am): Likewise.
3794         * modules/wctype-h (Makefile.am): Likewise.
3795         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
3796
3797 2011-05-29  Bruno Haible  <bruno@clisp.org>
3798
3799         assert-h: Allow multiple gnulib generated replacements to coexist.
3800         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
3801
3802 2011-05-29  Bruno Haible  <bruno@clisp.org>
3803
3804         argp: Allow coexistence with strerror_r-posix module.
3805         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
3806         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
3807         by gnulib's <string.h> replacement), assume it has the POSIX signature,
3808         not the glibc signature.
3809
3810 2011-05-28  Bruno Haible  <bruno@clisp.org>
3811
3812         gnulib-tool: Alternative structure of testdirs, similar to --import.
3813         * gnulib-tool: New option --single-configure.
3814         (func_usage): Document it.
3815         (single_configure): New variable.
3816         (func_modules_transitive_closure_separately,
3817         func_modules_transitive_closure_separately,
3818         func_determine_use_libtests, func_modules_add_dummy_separately,
3819         func_modules_to_filelist_separately): New functions, extracted from
3820         func_import.
3821         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
3822         (func_import): Use the new functions.
3823         (func_create_testdir): Set final_modules. Handle $single_configure =
3824         true case.
3825
3826 2011-05-28  Bruno Haible  <bruno@clisp.org>
3827
3828         getloadavg: Remove an unreliable safety check.
3829         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
3830         getloadavg.c is in place.
3831         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
3832         Reported by Sam Steingold <sds@gnu.org>.
3833
3834 2011-05-28  Bruno Haible  <bruno@clisp.org>
3835
3836         doc: Cleanup yet another file produced by texinfo.tex.
3837         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
3838
3839 2011-05-28  Bruno Haible  <bruno@clisp.org>
3840
3841         Finish the conditional dependencies mechanism.
3842         * gnulib-tool: New option --no-conditional-dependencies.
3843         (func_usage): Document it. Don't mark --conditional-dependencies as
3844         experimental.
3845         (cond_dependencies): The possible values can now be true, false, empty.
3846         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
3847         (func_import): Store setting in gnulib-cache.m4 and read it from there.
3848         * doc/gnulib-tool.texi (Conditional dependencies): New section.
3849
3850 2011-05-28  Bruno Haible  <bruno@clisp.org>
3851
3852         doc: Use a recent texinfo.tex.
3853         * doc/Makefile (tex_opts): New variable.
3854         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
3855
3856 2011-05-28  Jim Meyering  <meyering@redhat.com>
3857
3858         intprops.h: adjust comment to match code change
3859         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
3860         only once, it *may* have side effects.  Also fix an unrelated typo.
3861         (_GL_INT_SIGNED): Likewise.
3862
3863 2011-05-26  Simon Josefsson  <simon@josefsson.org>
3864
3865         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
3866
3867 2011-05-26  Bruno Haible  <bruno@clisp.org>
3868
3869         mbsrchr: Avoid collision with system function on Interix.
3870         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
3871         Reported by Markus Duft <mduft@gentoo.org>.
3872
3873 2011-05-15  James Youngman  <jay@gnu.org>
3874
3875         getopt: for ambiguous options, enumerate the possibilities.
3876         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
3877         the ambiguous options when an ambiguous prefix is given. This was
3878         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
3879         glibc change was
3880         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
3881
3882 2011-05-25  Eric Blake  <eblake@redhat.com>
3883
3884         getcwd: work around mingw bug
3885         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
3886         * doc/posix-functions/getcwd.texi (getcwd): Document it.
3887         Reported by Matthias Bolte.
3888
3889 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
3890
3891         test-intprops: disable -Wtype-limits diagnostics
3892         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
3893         diagnostics.  Otherwise, the integer overflow macros generate many
3894         diagnostics.  Reported by Jim Meyering in
3895         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
3896
3897         intprops: shorten, to pacify gcc -Woverlength-strings
3898         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
3899         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
3900         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
3901         likely to run afoul of C compiler limits for string constant lengths.
3902         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
3903
3904 2011-05-24  Eric Blake  <eblake@redhat.com>
3905
3906         docs: document recently fixed glibc printf bug
3907         * doc/posix-functions/fprintf.texi (fprintf): Document it.
3908         * doc/posix-functions/printf.texi (printf): Likewise.
3909         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
3910         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
3911
3912         closein-tests: convert to init.sh
3913         * modules/closein-tests (Files): Add init.sh
3914         * tests/test-closein.sh Use it.
3915
3916         yesno-tests: convert to init.sh
3917         * modules/yesno-tests (Files): Add init.sh.
3918         * tests/test-yesno.sh: Use it.
3919
3920         atexit-tests: ensure reliable exit status
3921         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
3922         Reported by Bruno Haible.
3923
3924 2011-05-24  Bruno Haible  <bruno@clisp.org>
3925
3926         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
3927         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
3928         gl_PREREQ_STRERROR_R invocations from here...
3929         * modules/strerror_r-posix (configure.ac): ... to here.
3930
3931 2011-05-24  Eric Blake  <eblake@redhat.com>
3932
3933         strerror_r: fix missing header
3934         * lib/strerror_r.c: Avoid compiler warning about snprintf.
3935
3936         strerror_r: fix AIX test failures
3937         * lib/strerror_r.c (strerror_r): Convert silent truncation to
3938         ERANGE failure.
3939
3940         strerror_r: fix Solaris test failures
3941         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
3942         failures.
3943         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
3944
3945         strerror_r: enforce POSIX recommendations
3946         * lib/strerror_r.c (safe_copy): New helper method.
3947         (strerror_r): Guarantee a non-empty string.
3948         * tests/test-strerror_r.c (main): Enhance tests to incorporate
3949         recent POSIX rulings and to match our strerror guarantees.
3950         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
3951
3952 2011-05-24  Jim Meyering  <meyering@redhat.com>
3953
3954         test-perror2.c: avoid warning about unused variable
3955         * tests/test-perror2.c (main): Remove declaration of unused "fp".
3956
3957 2011-05-24  Eric Blake  <eblake@redhat.com>
3958
3959         perror: avoid spurious test failure on HP-UX
3960         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
3961
3962         tests: fix logic bug in init.sh
3963         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
3964         shell.
3965
3966 2011-05-24  Jim Meyering  <meyering@redhat.com>
3967
3968         utimensat: do not reference an out-of-scope buffer
3969         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
3970         declared in an inner scope, yet "times" would be dereferenced outside
3971         the scope in which "ts" was valid.
3972         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
3973         of ts[2] "out/up", so that the use of aliased "times" (via
3974         "times = ts;") does not end up referencing an out-of-scope "ts"
3975
3976         opendir-safer.c: don't clobber errno; don't close negative FD
3977         * lib/opendir-safer.c (opendir_safer):
3978         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
3979         file descriptor, and more importantly, don't clobber the
3980         offending errno value with EINVAL.  Before, upon failure
3981         of dup_safer, we would pass the negative file descriptor to
3982         fdopendir, which would clobber errno.
3983
3984 2011-05-23  Bruno Haible  <bruno@clisp.org>
3985
3986         idcache: Fix module description.
3987         * modules/idcache (Include): Set to "idcache.h".
3988
3989 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
3990
3991         gnulib-tool: fix portability problem with MacOS sed
3992         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
3993         before the "}".  Problem reported by Leo in
3994         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
3995         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
3996         sed_extract_condition1, sed_extract_condition2.
3997
3998 2011-05-23  Bruno Haible  <bruno@clisp.org>
3999
4000         hash: Simplify autoconf macro.
4001         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
4002
4003 2011-05-23  Bruno Haible  <bruno@clisp.org>
4004
4005         getugroups: Fix module description.
4006         * modules/getugroups (Include): Set to "getugroups.h".
4007
4008 2011-05-23  Bruno Haible  <bruno@clisp.org>
4009
4010         linkat: Simplify autoconf macro.
4011         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
4012
4013 2011-05-23  Bruno Haible  <bruno@clisp.org>
4014             Eric Blake  <eblake@redhat.com>
4015
4016         linkat, renameat: Update dependencies.
4017         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
4018         * modules/linkat (Depends-on): Likewise. Remove also readlink,
4019         symlinkat.
4020
4021 2011-05-23  Jim Meyering  <meyering@redhat.com>
4022
4023         maint.mk: more tight_scope improvements
4024         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
4025         (_gl_TS_headers): Define only in if-0'd block.
4026         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
4027         sometimes we must *not* use it.  Adjust uses accordingly.
4028         (sc_tight_scope): Use much simpler grep-based test to determine
4029         whether we skip this rule.
4030
4031         maint.mk: generalize/improve the tight-scope rule
4032         * top/maint.mk: Emit a warning when the test is skipped.
4033         (_gl_TS_dir): Add $(srcdir)/ prefix.
4034         (_gl_TS_function_match): Simplify, rather than trying
4035         to enumerate common types.  Otherwise, it would fail to match an
4036         "extern unsigned char const *" declaration in idutils.
4037         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
4038         a way to support use of that type of macro.
4039         (_gl_TS_var_match): Simplify regexp.
4040         (_gl_TS_obj_files): New configurable variable.
4041         (_gl_TS_headers): Likewise.
4042
4043 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
4044
4045         verify: fix bug when gnulib <assert.h> is also included
4046         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
4047         is defined, not if _GL_STATIC_ASSERT_H is not defined.
4048         Perhaps there's a better way, but this fixes the immediate problem.
4049         Problem reported by Bruno Haible in
4050         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
4051
4052 2011-05-22  Bruno Haible  <bruno@clisp.org>
4053
4054         xgetcwd: Simplify autoconf macro.
4055         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
4056
4057 2011-05-22  Bruno Haible  <bruno@clisp.org>
4058
4059         New module 'mktime-internal'.
4060         * modules/mktime-internal: New file.
4061         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
4062         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
4063         mktime_internal as a C macro if libc has __mktime_internal.
4064         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
4065         conditions.
4066         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
4067
4068 2011-05-22  Bruno Haible  <bruno@clisp.org>
4069
4070         timegm: Correct mktime replacement statements.
4071         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
4072         defining mktime as a C macro. This completes a 2009-07-28 commit.
4073
4074 2011-05-22  Bruno Haible  <bruno@clisp.org>
4075
4076         timegm: Simplify autoconf macro.
4077         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
4078
4079 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
4080
4081         clock-time: change to LGPLv2+.
4082         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
4083         BSD-like but we have no mark for that; this is good enough for now.
4084
4085 2011-05-21  Bruno Haible  <bruno@clisp.org>
4086
4087         strerror_r: Fix comments.
4088         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
4089
4090 2011-05-21  Bruno Haible  <bruno@clisp.org>
4091
4092         relocatable-prog-wrapper: Fix possible link error.
4093         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
4094         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
4095         (gl_FUNC_SETENV): ... to here.
4096         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
4097         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
4098
4099 2011-05-21  Bruno Haible  <bruno@clisp.org>
4100
4101         relocatable-prog-wrapper: Assume strerror() exists.
4102         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
4103         m4/strerror.m4.
4104         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
4105         * lib/relocwrapper.c: Remove mention of strerror module.
4106         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
4107         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
4108         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
4109         C macro.
4110
4111 2011-05-21  Bruno Haible  <bruno@clisp.org>
4112
4113         select: Simplify replacement idiom.
4114         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
4115         Win32 platforms.
4116         * lib/sys_select.in.h (select): Simplify accordingly.
4117         * modules/select (Depends-on): Likewise.
4118
4119 2011-05-21  Bruno Haible  <bruno@clisp.org>
4120
4121         mkdir-p: Simplify autoconf macro.
4122         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
4123         gl_FUNC_LCHOWN.
4124
4125 2011-05-21  Eric Blake  <eblake@redhat.com>
4126
4127         strerror_r: avoid clobbering strerror on cygwin
4128         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
4129         fall back instead to sys_errlist.
4130         * modules/strerror (configure.ac): Add witness.
4131         * tests/test-strerror_r.c (main): Enhance test.
4132         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
4133         * tests/test-perror2.c (main): Free memory before exit.
4134
4135 2011-05-21  Bruno Haible  <bruno@clisp.org>
4136
4137         mkdtemp: Use gnulib naming conventions.
4138         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
4139         * modules/mkdtemp (configure.ac): Update.
4140
4141 2011-05-20  Eric Blake  <eblake@redhat.com>
4142
4143         strerror_r: avoid corrupting errno on Solaris
4144         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
4145         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
4146
4147         strerror_r: avoid compiler warning
4148         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
4149
4150         strerror_r: simplify AIX code
4151         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
4152
4153         test-perror: avoid spurious failure on FreeBSD
4154         * modules/perror-tests (Depends-on): Add strerror, now that
4155         strerror_r no longer pulls it in.
4156
4157 2011-05-20  Bruno Haible  <bruno@clisp.org>
4158
4159         strerror_r-posix: Remove unused dependencies.
4160         * modules/strerror_r-posix (Depends-on): Remove strerror.
4161         Reported by Eric Blake.
4162
4163 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
4164
4165         intprops: remove assumption about A|B representation
4166         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
4167         is a valid integer if both A and B are.  Although this is true for
4168         all known practical hosts, the C standard doesn't guarantee it,
4169         and the code need not assume it.  Also, this change may work around
4170         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
4171         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
4172
4173 2011-05-20  Eric Blake  <eblake@redhat.com>
4174
4175         perror: work around FreeBSD bug
4176         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
4177         is broken.  Move AC_LIBOBJ...
4178         * modules/perror (configure.ac): Here.
4179         * doc/posix-functions/perror.texi (perror): Document this.
4180         * tests/test-perror2.c (main): Enhance test.
4181
4182         test-perror: check for strerror interactions
4183         * tests/macros.h (STREQ): Add macro.
4184         * modules/perror-tests (Files): Add second test.
4185         * tests/test-perror2.c (main): New file.
4186         * doc/posix-functions/perror.texi (perror): Document glibc bug.
4187
4188         test-perror: rewrite to use init script
4189         * modules/perror-tests (Files): Add init.sh.
4190         * tests/test-perror.sh: Use temporary directory.
4191
4192 2011-05-20  Jim Meyering  <meyering@redhat.com>
4193
4194         maint: replace misused "a" with "an"
4195         * doc/intprops.texi: "a integer"
4196         * doc/regex.texi: "a explanation"
4197         * lib/alignof.h: "a object"
4198         * lib/argmatch.h: "a explanation"
4199         * lib/argp-help.c: "a option" and "a OPTION_DOC"
4200         * lib/stdint.in.h: "a integer"
4201         * lib/userspec.c: "a owner"
4202         * doc/gnulib.texi: Fix "a idea", and reword.
4203
4204 2011-05-19  Jim Meyering  <meyering@redhat.com>
4205
4206         maint: correct misuse of "a" and "an"
4207         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
4208         * lib/argp-help.c: "an docum...": s/an/a/
4209         * lib/argp-parse.c: "An vector": s/An/A/
4210         * lib/execute.c: "an native": s/an/a/
4211         * lib/spawn-pipe.c: Likewise.
4212         * lib/gc.h: "an Gc_rc": s/an/a/
4213         * lib/unigbrk.in.h: "an grapheme": s/an/a/
4214         * lib/fts.c: "an stat.st_dev": s/an/a/
4215
4216 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
4217
4218         intprops-tests: work around HP-UX 11.23 cc bug with constants
4219         * tests/test-intprops.c (VERIFY): New macro.
4220         (main): Use it, instead of verify, to work around the compiler bug; see
4221         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
4222
4223         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
4224         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
4225         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
4226         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
4227         (_GL_REMAINDER_OVERFLOW): Use it.
4228
4229         intprops-tests: revert unsigned part of previous change
4230         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
4231         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
4232         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
4233         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
4234
4235 2011-05-19  Bruno Haible  <bruno@clisp.org>
4236
4237         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
4238         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
4239         strerror_r() returned without filling the buffer.
4240         Reported by Eric Blake.
4241
4242 2011-05-19  Eric Blake  <eblake@redhat.com>
4243
4244         strerror_r: guarantee unchanged errno
4245         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
4246         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
4247         failure.
4248         * tests/test-strerror_r.c (main): Enhance test.
4249
4250 2011-05-19  Bruno Haible  <bruno@clisp.org>
4251
4252         strerror_r: Reorder #if blocks.
4253         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
4254         for consistency with the previous commit.
4255
4256 2011-05-19  Bruno Haible  <bruno@clisp.org>
4257
4258         perror: Avoid clobbering the strerror buffer when possible.
4259         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
4260         * lib/strerror.c: Include it.
4261         * modules/strerror (Files): Add lib/strerror-impl.h.
4262         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
4263         (my_strerror): New function, defined through lib/strerror-impl.h.
4264         (perror): Use it instead of strerror.
4265         * modules/perror (Files): Add lib/strerror-impl.h.
4266         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
4267
4268 2011-05-19  Eric Blake  <eblake@redhat.com>
4269
4270         strerror_r: fix on newer cygwin
4271         * lib/strerror_r.c (strerror_r): Cygwin now has
4272         __xpg_strerror_r, use it.
4273
4274 2011-05-19  Bruno Haible  <bruno@clisp.org>
4275
4276         strerror_r: Avoid clobbering the strerror buffer when possible.
4277         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
4278         (sys_nerr, sys_errlist): New declarations.
4279         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
4280         HP-UX, native Win32, IRIX, and 32-bit Solaris.
4281         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
4282
4283 2011-05-19  Bruno Haible  <bruno@clisp.org>
4284
4285         strerror_r: Fix test failure on mingw.
4286         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
4287         EXTEND_STRERROR_R.
4288         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
4289         macros from errno.in.h instead.
4290
4291 2011-05-19  Eric Blake  <eblake@redhat.com>
4292
4293         strerror: relax test for Solaris
4294         * tests/test-strerror.c (main): Permit Solaris behavior.
4295         * tests/test-strerror_r.c (main): Likewise.
4296
4297         strerror: enforce POSIX ruling on strerror(0)
4298         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
4299         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
4300         * lib/strerror_r.c (rpl_strerror_r): Work around it.
4301         * doc/posix-functions/strerror.texi (strerror): Document it.
4302         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
4303         * tests/test-strerror.c (main): Strengthen test.
4304         * tests/test-strerror_r.c (main): Likewise.
4305
4306 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
4307
4308         intprop-tests: port to older and more-pedantic compilers
4309         * modules/intprops-tests (Files): Add tests/macros.h.
4310         * tests/test-intprops.c: Include macros.h.
4311         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
4312         it's no longer documented to expand to an integer constant expression.
4313         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
4314         argument is floating point, as it's no longer documented to expand
4315         to an integer constant expression in that case.
4316         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
4317         compiler bugs reported by Bruno Haible.  See
4318         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
4319         (U0, U1): New constants, to work around the same bugs.  Also,
4320         in tests, use e.g., "(unsigned int) 39" rather than "39u".
4321
4322         intprops: work around C compiler bugs
4323         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
4324         bug in Sun C 5.11 2010/08/13 and other compilers; see
4325         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
4326
4327         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
4328         * doc/intprops.texi (Integer Type Determination): Fix
4329         documentation for TYPE_IS_INTEGER: it returns an constant
4330         expression, not an integer constant expression.  Fix doc for
4331         TYPE_SIGNED: it returns an integer constant expression only if its
4332         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
4333         hardly worth documented that way....)
4334
4335 2011-05-18  Bruno Haible  <bruno@clisp.org>
4336
4337         strerror_r: Avoid clobbering the strerror buffer when possible.
4338         * lib/strerror_r.c (strerror_r): Merge the three implementations.
4339         Handle gnulib defined errno values here. When strerror() returns NULL
4340         or an empty string, return EINVAL.
4341         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
4342         gnulib defined errno values here.
4343         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
4344
4345 2011-05-18  Eric Blake  <eblake@redhat.com>
4346
4347         fnmatch: avoid compiler warning
4348         * lib/fnmatch_loop.c (FCT): Use correct type.
4349         Reported by Matthias Bolte.
4350
4351 2011-05-13  Jim Meyering  <meyering@redhat.com>
4352
4353         maint.mk: three new prohibit_<HDR>_without_use rules
4354         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
4355         (sc_prohibit_stdio-safer_without_use): Likewise.
4356         (sc_prohibit_xfreopen_without_use): Likewise.
4357
4358 2011-05-17  Jim Meyering  <meyering@redhat.com>
4359
4360         announce-gen: fail if the NEWS delta is empty
4361         If there's nothing noteworthy in NEWS, then either you forgot
4362         or you shouldn't be releasing.
4363         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
4364
4365 2011-05-17  Pádraig Brady <P@draigBrady.com>
4366
4367         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
4368         reserved symbols starting with double underscore from the check.
4369
4370 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
4371
4372         intprops: add doc
4373         * doc/intprops.texi: New file, documenting intprops.
4374         * doc/gnulib.texi (Particular Modules): Include it.
4375
4376         verify: add doc to gnulib manual and fix example
4377         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
4378         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
4379         (Compile-time Assertions): Fix example so it can't overflow.
4380
4381 2011-05-17  Jim Meyering  <meyering@redhat.com>
4382
4383         warnings.m4: don't usurp save_CPPFLAGS variable name
4384         * m4/warnings.m4: Prefix local temporary variable name with gl_.
4385
4386         doc: fix typo
4387         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
4388
4389 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
4390             Bruno Haible  <bruno@clisp.org>
4391
4392         doc: Tweak recent change.
4393         * README (Portability guidelines): Tweak new text.
4394         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
4395         Interix 6.1.
4396
4397 2011-05-16  Eric Blake  <eblake@redhat.com>
4398
4399         inttypes: avoid autoconf warning
4400         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
4401         * m4/stdint.m4 (gl_STDINT_H): Likewise.
4402
4403 2011-05-16  Sam Steingold <sds@gnu.org>
4404         and Eric Blake  <eblake@redhat.com>
4405
4406         vc-list-files: accept multiple directory operands
4407         * build-aux/vc-list-files: Iterate over all remaining operands.
4408
4409 2011-05-16  Bruno Haible  <bruno@clisp.org>
4410
4411         Fix confusion regarding deprecated modules.
4412         * modules/calloc (Status, Notice): Mark module as deprecated, not
4413         obsolete.
4414         * modules/fnmatch-posix (Status, Notice): Likewise.
4415         * modules/getdate (Status, Notice): Likewise.
4416         * modules/getopt (Status, Notice): Likewise.
4417         * modules/malloc (Status, Notice): Likewise.
4418         * modules/pipe (Status, Notice): Likewise.
4419         * modules/realloc (Status, Notice): Likewise.
4420         * modules/rename-dest-slash (Status, Notice): Likewise.
4421         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
4422         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
4423         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
4424         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
4425         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
4426
4427 2011-05-16  Bruno Haible  <bruno@clisp.org>
4428
4429         doc: List the target platforms.
4430         * doc/gnulib-intro.texi (Target Platforms): New section.
4431         * doc/gnulib.texi (Introduction): Update menu.
4432         * README (Portability guidelines): Refer to the new section. Update
4433         statement about oldest supported environment. Remove rationale why
4434         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
4435         unportable C89 function.
4436         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
4437         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
4438
4439 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
4440
4441         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
4442
4443 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
4444
4445         intprops-tests: new module
4446         * modules/intprops-tests, tests/test-intprops.c: New files.
4447
4448         intprops: add safe, portable integer overflow checking
4449         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
4450         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
4451         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
4452         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
4453         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
4454         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
4455         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
4456         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
4457         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
4458         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
4459         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
4460
4461 2011-05-12  James Youngman  <jay@gnu.org>
4462
4463         Add a test for glibc's Bugzilla bug #12378.
4464         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
4465         doesn't allow the literal matching of a lone "[" (which is
4466         required by POSIX).
4467         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
4468
4469 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
4470
4471         Sync glibc change fixing Bugzilla bug #12378.
4472         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
4473         beginning and fall back to matching as normal character if the
4474         string ends before the matching ']' is found.  This is what POSIX
4475         requires.
4476
4477 2011-05-13  Eric Blake  <eblake@redhat.com>
4478
4479         getcwd-lgpl: relax test for FreeBSD
4480         * doc/posix-functions/getcwd.texi (getcwd): Document portability
4481         issue.
4482         * tests/test-getcwd-lgpl.c (main): Relax test.
4483         Reported by Matthias Bolte.
4484
4485 2011-05-11  Eric Blake  <eblake@redhat.com>
4486
4487         test-fflush: silence compiler warning
4488         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
4489
4490 2011-05-11  Bruno Haible  <bruno@clisp.org>
4491
4492         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
4493         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
4494         * modules/canonicalize (Depends-on): Add 'nocrash'.
4495         * modules/canonicalize-lgpl (Depends-on): Likewise.
4496         * doc/posix-functions/realpath.texi: Update platforms list.
4497         Reported by Ryan Schmidt <ryandesign@macports.org>.
4498
4499 2011-05-11  Bruno Haible  <bruno@clisp.org>
4500
4501         group-member: Declare function in <unistd.h>.
4502         * lib/unistd.in.h (group_member): New declaration.
4503         * lib/group-member.h: Remove file.
4504         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
4505         * tests/test-unistd-c++.cc: Check signature of group_member.
4506         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
4507         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
4508         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
4509         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
4510         HAVE_GROUP_MEMBER.
4511         * modules/group-member (Files): Remove lib/group-member.h.
4512         (Depends-on): Add unistd. Specify conditions.
4513         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
4514         (Include): Change to <unistd.h>.
4515         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
4516         HAVE_GROUP_MEMBER.
4517         * NEWS: Mention the change.
4518         * lib/euidaccess.c: Don't include group-member.h.
4519
4520 2011-05-11  Bruno Haible  <bruno@clisp.org>
4521
4522         group-member: Document module.
4523         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
4524         module.
4525
4526 2011-05-11  Bruno Haible  <bruno@clisp.org>
4527
4528         fclose: Fix mistake earlier today.
4529         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
4530
4531 2011-05-11  Eric Blake  <eblake@redhat.com>
4532
4533         fclose: preserve fflush errors
4534         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
4535         Reported by Jim Meyering.
4536
4537         bootstrap: support a prereq of 'rpcgen -' on RHEL5
4538         * build-aux/bootstrap (check_versions): When no specific version
4539         is required, merely check that the app produces an exit status
4540         that indicates its existence.
4541
4542         maint.mk: drop redundant check
4543         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
4544         the same but better.
4545
4546 2011-05-11  Bruno Haible  <bruno@clisp.org>
4547
4548         fclose: Fix possible link error.
4549         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
4550         unregister_shadow_fd. Improve comments.
4551         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
4552         Eric Blake.
4553
4554 2011-05-11  Jim Meyering  <meyering@redhat.com>
4555
4556         maint.mk: improve "can not" detection and generalize rule name
4557         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
4558         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
4559         Use the same technique as in sc_prohibit_doubled_word, so that
4560         we recognize "can not" also when the words are separated by a newline.
4561         Suggested by Eric Blake.
4562         (perl_filename_lineno_text_): Define.  Factored out of...
4563         (prohibit_doubled_word_): ...here.  Use the new definition.
4564         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
4565         (prohibit_undesirable_word_seq_RE_): New overridable variable.
4566         (ignore_undesirable_word_sequence_RE_): New overridable variable.
4567
4568 2011-05-10  Eric Blake  <eblake@redhat.com>
4569
4570         fclose: avoid double close race when possible
4571         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
4572         all but WINDOWS_SOCKETS.
4573
4574 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
4575
4576         openat: correct new comment
4577         * lib/openat-proc.c (openat_proc_name): Correct the comment.
4578
4579 2011-05-10  Jim Meyering  <meyering@redhat.com>
4580
4581         openat: add comments
4582         * lib/openat-proc.c (openat_proc_name): Add comments,
4583         mostly from Eric Blake.
4584
4585 2011-05-09  Eric Blake  <eblake@redhat.com>
4586
4587         openat: reduce syscalls in first probe of /proc
4588         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
4589         be a directory.  Simplify the probe for .. bugs.
4590         * modules/openat (Depends-on): Drop same-inode.
4591         Reported by Bastien ROUCARIES.
4592
4593 2011-05-09  Jim Meyering  <meyering@redhat.com>
4594
4595         maint.mk: change semantics/name of tight_scope variables
4596         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
4597         Rename variables to align with semantics that make them more useful.
4598
4599         maint.mk: tweak new rule's name not to impinge
4600         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
4601         (sc_tight_scope): Use new rule name rather than $@-0.
4602
4603         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
4604         * top/maint.mk (sc_tight_scope): New rule.
4605         (sc_tight_scope-0): New rule, ifdef'd out.
4606         (_gl_TS_dir): Default.
4607         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
4608         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
4609
4610 2011-05-09  Simon Josefsson  <simon@josefsson.org>
4611
4612         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
4613         Haible <bruno@clisp.org>.
4614
4615 2011-05-08  Bruno Haible  <bruno@clisp.org>
4616
4617         Comments.
4618         * m4/isnanf.m4: Add comment.
4619         * m4/isnanl.m4: Likewise.
4620
4621 2011-05-08  Bruno Haible  <bruno@clisp.org>
4622
4623         glob: Remove obsolete macro.
4624         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
4625
4626 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
4627
4628         intprops: Sun C 5.11 supports __typeof__
4629         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
4630         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
4631         which is new.
4632         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
4633
4634         intprops: switch to usual gnulib indenting and naming
4635         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
4636         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
4637
4638         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
4639
4640 2011-05-08  Jim Meyering  <meyering@redhat.com>
4641
4642         maint.mk: suppress "Entering/Leaving directory" diag in announcement
4643         * top/maint.mk (release-prep): Use make's --no-print-directory
4644         option when generating the announcement.  This eliminates the
4645         pesky "make[2]: Entering/Leaving directory" diagnostics in the
4646         generated announcement template.
4647
4648 2011-05-08  Bruno Haible  <bruno@clisp.org>
4649
4650         tzset: Fix gettimeofday wrapper on Solaris 2.6.
4651         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
4652         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
4653
4654 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
4655
4656         ignore-value, verify: Omit include files from lib_SOURCES.
4657         * modules/ignore-value, modules/verify (Makefile.am):
4658         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
4659         that leads Automake to duplicate use of am__objects_... variables
4660         in Makefile.in.  See
4661         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
4662
4663 2011-05-07  Bruno Haible  <bruno@clisp.org>
4664
4665         fclose: Simplify autoconf macro.
4666         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
4667         defined.
4668
4669 2011-05-07  Bruno Haible  <bruno@clisp.org>
4670
4671         canonicalize-lgpl: Fix autoconf macro ordering bug.
4672         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
4673         gl_STDLIB_H_DEFAULTS.
4674
4675 2011-05-06  Eric Blake  <eblake@redhat.com>
4676
4677         maintainer-makefile: make sc_po_check easier to tune
4678         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
4679         to probe for strings, such as an alternate location for gnulib.
4680
4681         fclose: guarantee behavior on seekable stdin
4682         * modules/fclose (Depends-on): Add fflush.
4683         * doc/posix-functions/fclose.texi (fclose): Document this.
4684         * tests/test-fclose.c (main): Make test for this unconditional.
4685
4686 2011-05-06  Bruno Haible  <bruno@clisp.org>
4687
4688         fflush, fpurge: Relicense under LGPLv2+.
4689         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
4690         * modules/fpurge (License): Likewise.
4691         With permission from Eric Blake and Jim Meyering.
4692         Suggested by Eric Blake.
4693
4694 2011-05-06  Karl Berry  <karl@gnu.org>
4695
4696         * MODULES.html.sh (func_all_modules): remove exit.
4697
4698 2011-05-06  Jim Meyering  <meyering@redhat.com>
4699
4700         maint.mk: use info-gnu@ as the default only for a stable release
4701         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
4702         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
4703         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
4704         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
4705
4706 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
4707
4708         assert-h: new module, which supports C1X-style static_assert
4709         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
4710         * lib/verify.h: Revamp so that this can be copied into assert.h,
4711         while retaining the ability to use it standalone as before.
4712         Rename private identifiers so as not to encroach on the
4713         standard C namespace, since this is now used by assert.h.
4714         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
4715         the old verify_true.
4716         (_GL_VERIFY_TRUE): New macro, with much of the contents of
4717         the old verify_true.  Use _GL_VERIFY_TYPE.
4718         (_GL_VERIFY): New macro, with much of the contents of the old verify.
4719         (static_assert): New macro, if _GL_STATIC_ASSERT_H
4720         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
4721         defined when this file is copied into the replacement assert.h.
4722         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
4723         and _Static_assert is not built in.
4724         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
4725         defined, and use the new macros mentioned above.
4726         * doc/posix-headers/assert.texi: Document this.
4727
4728 2011-05-05  Bruno Haible  <bruno@clisp.org>
4729
4730         fclose, fflush: Respect rules for use of AC_LIBOBJ.
4731         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
4732         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
4733         gl_REPLACE_FCLOSE here.
4734         * modules/fflush (Depends-on): Remove fclose.
4735         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
4736         combination with module 'fclose'.
4737
4738 2011-05-05  Bruno Haible  <bruno@clisp.org>
4739
4740         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
4741         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
4742         gl_FUNC_FFLUSH.
4743         (gl_FUNC_FFLUSH): Use it.
4744         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
4745         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
4746         gl_REPLACE_FSEEKO here.
4747
4748 2011-05-05  Bruno Haible  <bruno@clisp.org>
4749
4750         tzset: Relicense under LGPL.
4751         * modules/tzset (License): Change to LGPL.
4752         No agreement needed; it's a no-op.
4753
4754         strtoimax, strtoumax: Relicense under LGPL.
4755         * modules/strtoimax (License): Change to LGPL.
4756         * modules/strtoumax (License): Likewise.
4757         With permission from Jim Meyering, Paul Eggert:
4758         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
4759         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
4760
4761         getgroups: Relicense under LGPL.
4762         * modules/getgroups (License): Change to LGPL.
4763         With permission from Jim Meyering, Paul Eggert, Eric Blake:
4764         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
4765         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
4766         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
4767
4768         nanosleep: Relicense under LGPL.
4769         * modules/nanosleep (License): Change to LGPL.
4770         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
4771         Haible:
4772         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
4773         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
4774         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
4775         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
4776
4777         futimens: Relicense under LGPL.
4778         * modules/futimens (License): Change to LGPL.
4779         With permission from Eric Blake:
4780         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
4781
4782         fflush: Relicense under LGPL.
4783         * modules/fflush (License): Change to LGPL.
4784         With permission from Eric Blake, Bruno Haible, Jim Meyering:
4785         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
4786         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
4787         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
4788
4789         tmpfile: Relicense under LGPL.
4790         * modules/tmpfile (License): Change to LGPL.
4791         With permission from Ben Pfaff:
4792         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
4793
4794         isfinite: Relicense under LGPL.
4795         * modules/isfinite (License): Change to LGPL.
4796         With permission from Ben Pfaff, Bruno Haible:
4797         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
4798         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
4799
4800         acosl..tanl: Relicense under LGPL.
4801         * modules/acosl (License): Change to LGPL.
4802         * modules/asinl (License): Likewise.
4803         * modules/atanl (License): Likewise.
4804         * modules/cosl (License): Likewise.
4805         * modules/expl (License): Likewise.
4806         * modules/logl (License): Likewise.
4807         * modules/sinl (License): Likewise.
4808         * modules/sqrtl (License): Likewise.
4809         * modules/tanl (License): Likewise.
4810         Source code originally from glibc and Paolo Bonzini. Agreements:
4811         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
4812         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
4813
4814 2011-05-05  Bruno Haible  <bruno@clisp.org>
4815
4816         signal: Define sighandler_t.
4817         * lib/signal.in.h (sighandler_t): New type.
4818         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
4819         whether sighandler_t is defined.
4820         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
4821         * modules/signal (Depends-on): Add extensions.
4822         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
4823         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
4824         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
4825
4826 2011-05-05  Eric Blake  <eblake@redhat.com>
4827
4828         maint: remove useless REPLACE_*_H macros
4829         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
4830         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
4831         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
4832         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
4833         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
4834         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
4835         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
4836         * m4/btowc.m4: Update callers.
4837         * m4/dirfd.m4: Likewise.
4838         * m4/duplocale.m4: Likewise.
4839         * m4/fchdir.m4: Likewise.
4840         * m4/fdopendir.m4: Likewise.
4841         * m4/inet_ntop.m4: Likewise.
4842         * m4/inet_pton.m4: Likewise.
4843         * m4/ioctl.m4: Likewise.
4844         * m4/mbrlen.m4: Likewise.
4845         * m4/mbrtowc.m4: Likewise.
4846         * m4/mbsinit.m4: Likewise.
4847         * m4/mbsnrtowcs.m4: Likewise.
4848         * m4/mbsrtowcs.m4: Likewise.
4849         * m4/poll.m4: Likewise.
4850         * m4/setlocale.m4: Likewise.
4851         * m4/wcrtomb.m4: Likewise.
4852         * m4/wcsnrtombs.m4: Likewise.
4853         * m4/wcsrtombs.m4: Likewise.
4854         * m4/wctob.m4: Likewise.
4855         * m4/wcwidth.m4: Likewise.
4856         * modules/posix_spawn: Likewise.
4857         * modules/posix_spawn_file_actions_addclose: Likewise.
4858         * modules/posix_spawn_file_actions_adddup2: Likewise.
4859         * modules/posix_spawn_file_actions_addopen: Likewise.
4860         * modules/posix_spawn_file_actions_destroy: Likewise.
4861         * modules/posix_spawn_file_actions_init: Likewise.
4862         * modules/posix_spawnattr_destroy: Likewise.
4863         * modules/posix_spawnattr_getflags: Likewise.
4864         * modules/posix_spawnattr_getpgroup: Likewise.
4865         * modules/posix_spawnattr_getschedparam: Likewise.
4866         * modules/posix_spawnattr_getschedpolicy: Likewise.
4867         * modules/posix_spawnattr_getsigdefault: Likewise.
4868         * modules/posix_spawnattr_getsigmask: Likewise.
4869         * modules/posix_spawnattr_init: Likewise.
4870         * modules/posix_spawnattr_setflags: Likewise.
4871         * modules/posix_spawnattr_setpgroup: Likewise.
4872         * modules/posix_spawnattr_setschedparam: Likewise.
4873         * modules/posix_spawnattr_setschedpolicy: Likewise.
4874         * modules/posix_spawnattr_setsigdefault: Likewise.
4875         * modules/posix_spawnattr_setsigmask: Likewise.
4876         * modules/posix_spawnp: Likewise.
4877
4878 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
4879
4880         Add option to do-release-commit-and-tag to specify branch.
4881         * build-aux/do-release-commit-and-tag: Add --branch.
4882
4883 2011-05-03  Bruno Haible  <bruno@clisp.org>
4884
4885         Avoid unnecessary compilation units, through conditional dependencies.
4886         * modules/accept (Depends-on): Add conditions to the dependencies.
4887         * modules/acosl (Depends-on): Likewise.
4888         * modules/argz (Depends-on): Likewise.
4889         * modules/asinl (Depends-on): Likewise.
4890         * modules/atanl (Depends-on): Likewise.
4891         * modules/atoll (Depends-on): Likewise.
4892         * modules/bind (Depends-on): Likewise.
4893         * modules/btowc (Depends-on): Likewise.
4894         * modules/canonicalize-lgpl (Depends-on): Likewise.
4895         * modules/ceil (Depends-on): Likewise.
4896         * modules/ceilf (Depends-on): Likewise.
4897         * modules/ceill (Depends-on): Likewise.
4898         * modules/chdir-long (Depends-on): Likewise.
4899         * modules/chown (Depends-on): Likewise.
4900         * modules/close (Depends-on): Likewise.
4901         * modules/connect (Depends-on): Likewise.
4902         * modules/cosl (Depends-on): Likewise.
4903         * modules/dirfd (Depends-on): Likewise.
4904         * modules/dprintf (Depends-on): Likewise.
4905         * modules/dprintf-posix (Depends-on): Likewise.
4906         * modules/error (Depends-on): Likewise.
4907         * modules/euidaccess (Depends-on): Likewise.
4908         * modules/expl (Depends-on): Likewise.
4909         * modules/faccessat (Depends-on): Likewise.
4910         * modules/fchdir (Depends-on): Likewise.
4911         * modules/fclose (Depends-on): Likewise.
4912         * modules/fcntl (Depends-on): Likewise.
4913         * modules/fdopendir (Depends-on): Likewise.
4914         * modules/fflush (Depends-on): Likewise.
4915         * modules/floor (Depends-on): Likewise.
4916         * modules/floorf (Depends-on): Likewise.
4917         * modules/floorl (Depends-on): Likewise.
4918         * modules/fnmatch (Depends-on): Likewise.
4919         * modules/fopen (Depends-on): Likewise.
4920         * modules/fprintf-posix (Depends-on): Likewise.
4921         * modules/frexp (Depends-on): Likewise.
4922         * modules/frexp-nolibm (Depends-on): Likewise.
4923         * modules/frexpl (Depends-on): Likewise.
4924         * modules/frexpl-nolibm (Depends-on): Likewise.
4925         * modules/fseek (Depends-on): Likewise.
4926         * modules/fsusage (Depends-on): Likewise.
4927         * modules/ftell (Depends-on): Likewise.
4928         * modules/ftello (Depends-on): Likewise.
4929         * modules/futimens (Depends-on): Likewise.
4930         * modules/getcwd (Depends-on): Likewise.
4931         * modules/getcwd-lgpl (Depends-on): Likewise.
4932         * modules/getdelim (Depends-on): Likewise.
4933         * modules/getdomainname (Depends-on): Likewise.
4934         * modules/getgroups (Depends-on): Likewise.
4935         * modules/gethostname (Depends-on): Likewise.
4936         * modules/getline (Depends-on): Likewise.
4937         * modules/getlogin_r (Depends-on): Likewise.
4938         * modules/getopt-posix (Depends-on): Likewise.
4939         * modules/getpeername (Depends-on): Likewise.
4940         * modules/getsockname (Depends-on): Likewise.
4941         * modules/getsockopt (Depends-on): Likewise.
4942         * modules/getsubopt (Depends-on): Likewise.
4943         * modules/getusershell (Depends-on): Likewise.
4944         * modules/glob (Depends-on): Likewise.
4945         * modules/grantpt (Depends-on): Likewise.
4946         * modules/iconv_open (Depends-on): Likewise.
4947         * modules/iconv_open-utf (Depends-on): Likewise.
4948         * modules/inet_ntop (Depends-on): Likewise.
4949         * modules/inet_pton (Depends-on): Likewise.
4950         * modules/ioctl (Depends-on): Likewise.
4951         * modules/isapipe (Depends-on): Likewise.
4952         * modules/isfinite (Depends-on): Likewise.
4953         * modules/isinf (Depends-on): Likewise.
4954         * modules/lchown (Depends-on): Likewise.
4955         * modules/ldexpl (Depends-on): Likewise.
4956         * modules/link (Depends-on): Likewise.
4957         * modules/linkat (Depends-on): Likewise.
4958         * modules/listen (Depends-on): Likewise.
4959         * modules/logl (Depends-on): Likewise.
4960         * modules/lstat (Depends-on): Likewise.
4961         * modules/mbrlen (Depends-on): Likewise.
4962         * modules/mbrtowc (Depends-on): Likewise.
4963         * modules/mbsinit (Depends-on): Likewise.
4964         * modules/mbsnrtowcs (Depends-on): Likewise.
4965         * modules/mbsrtowcs (Depends-on): Likewise.
4966         * modules/mbtowc (Depends-on): Likewise.
4967         * modules/memcmp (Depends-on): Likewise.
4968         * modules/mkdir (Depends-on): Likewise.
4969         * modules/mkdtemp (Depends-on): Likewise.
4970         * modules/mkfifo (Depends-on): Likewise.
4971         * modules/mkfifoat (Depends-on): Likewise.
4972         * modules/mknod (Depends-on): Likewise.
4973         * modules/mkostemp (Depends-on): Likewise.
4974         * modules/mkostemps (Depends-on): Likewise.
4975         * modules/mkstemp (Depends-on): Likewise.
4976         * modules/mkstemps (Depends-on): Likewise.
4977         * modules/mktime (Depends-on): Likewise.
4978         * modules/nanosleep (Depends-on): Likewise.
4979         * modules/open (Depends-on): Likewise.
4980         * modules/openat (Depends-on): Likewise.
4981         * modules/perror (Depends-on): Likewise.
4982         * modules/poll (Depends-on): Likewise.
4983         * modules/popen (Depends-on): Likewise.
4984         * modules/posix_spawn (Depends-on): Likewise.
4985         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
4986         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
4987         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
4988         * modules/posix_spawnp (Depends-on): Likewise.
4989         * modules/pread (Depends-on): Likewise.
4990         * modules/printf-posix (Depends-on): Likewise.
4991         * modules/ptsname (Depends-on): Likewise.
4992         * modules/putenv (Depends-on): Likewise.
4993         * modules/pwrite (Depends-on): Likewise.
4994         * modules/readline (Depends-on): Likewise.
4995         * modules/readlink (Depends-on): Likewise.
4996         * modules/readlinkat (Depends-on): Likewise.
4997         * modules/recv (Depends-on): Likewise.
4998         * modules/recvfrom (Depends-on): Likewise.
4999         * modules/regex (Depends-on): Likewise.
5000         * modules/remove (Depends-on): Likewise.
5001         * modules/rename (Depends-on): Likewise.
5002         * modules/renameat (Depends-on): Likewise.
5003         * modules/rmdir (Depends-on): Likewise.
5004         * modules/round (Depends-on): Likewise.
5005         * modules/roundf (Depends-on): Likewise.
5006         * modules/roundl (Depends-on): Likewise.
5007         * modules/rpmatch (Depends-on): Likewise.
5008         * modules/select (Depends-on): Likewise.
5009         * modules/send (Depends-on): Likewise.
5010         * modules/sendto (Depends-on): Likewise.
5011         * modules/setenv (Depends-on): Likewise.
5012         * modules/setlocale (Depends-on): Likewise.
5013         * modules/setsockopt (Depends-on): Likewise.
5014         * modules/shutdown (Depends-on): Likewise.
5015         * modules/sigaction (Depends-on): Likewise.
5016         * modules/signbit (Depends-on): Likewise.
5017         * modules/sigprocmask (Depends-on): Likewise.
5018         * modules/sinl (Depends-on): Likewise.
5019         * modules/sleep (Depends-on): Likewise.
5020         * modules/snprintf (Depends-on): Likewise.
5021         * modules/snprintf-posix (Depends-on): Likewise.
5022         * modules/socket (Depends-on): Likewise.
5023         * modules/sprintf-posix (Depends-on): Likewise.
5024         * modules/sqrtl (Depends-on): Likewise.
5025         * modules/stat (Depends-on): Likewise.
5026         * modules/strchrnul (Depends-on): Likewise.
5027         * modules/strdup-posix (Depends-on): Likewise.
5028         * modules/strerror (Depends-on): Likewise.
5029         * modules/strerror_r-posix (Depends-on): Likewise.
5030         * modules/strndup (Depends-on): Likewise.
5031         * modules/strnlen (Depends-on): Likewise.
5032         * modules/strptime (Depends-on): Likewise.
5033         * modules/strsep (Depends-on): Likewise.
5034         * modules/strsignal (Depends-on): Likewise.
5035         * modules/strstr-simple (Depends-on): Likewise.
5036         * modules/strtod (Depends-on): Likewise.
5037         * modules/strtoimax (Depends-on): Likewise.
5038         * modules/strtok_r (Depends-on): Likewise.
5039         * modules/strtoumax (Depends-on): Likewise.
5040         * modules/symlink (Depends-on): Likewise.
5041         * modules/symlinkat (Depends-on): Likewise.
5042         * modules/tanl (Depends-on): Likewise.
5043         * modules/tcgetsid (Depends-on): Likewise.
5044         * modules/tmpfile (Depends-on): Likewise.
5045         * modules/trunc (Depends-on): Likewise.
5046         * modules/truncf (Depends-on): Likewise.
5047         * modules/truncl (Depends-on): Likewise.
5048         * modules/uname (Depends-on): Likewise.
5049         * modules/unlink (Depends-on): Likewise.
5050         * modules/unlockpt (Depends-on): Likewise.
5051         * modules/unsetenv (Depends-on): Likewise.
5052         * modules/usleep (Depends-on): Likewise.
5053         * modules/utimensat (Depends-on): Likewise.
5054         * modules/vasprintf (Depends-on): Likewise.
5055         * modules/vdprintf (Depends-on): Likewise.
5056         * modules/vdprintf-posix (Depends-on): Likewise.
5057         * modules/vfprintf-posix (Depends-on): Likewise.
5058         * modules/vprintf-posix (Depends-on): Likewise.
5059         * modules/vsnprintf (Depends-on): Likewise.
5060         * modules/vsnprintf-posix (Depends-on): Likewise.
5061         * modules/vsprintf-posix (Depends-on): Likewise.
5062         * modules/wcrtomb (Depends-on): Likewise.
5063         * modules/wcscasecmp (Depends-on): Likewise.
5064         * modules/wcscspn (Depends-on): Likewise.
5065         * modules/wcsdup (Depends-on): Likewise.
5066         * modules/wcsncasecmp (Depends-on): Likewise.
5067         * modules/wcsnrtombs (Depends-on): Likewise.
5068         * modules/wcspbrk (Depends-on): Likewise.
5069         * modules/wcsrtombs (Depends-on): Likewise.
5070         * modules/wcsspn (Depends-on): Likewise.
5071         * modules/wcsstr (Depends-on): Likewise.
5072         * modules/wcstok (Depends-on): Likewise.
5073         * modules/wcswidth (Depends-on): Likewise.
5074         * modules/wctob (Depends-on): Likewise.
5075         * modules/wctomb (Depends-on): Likewise.
5076         * modules/wctype (Depends-on): Likewise.
5077         * modules/wcwidth (Depends-on): Likewise.
5078         * modules/write (Depends-on): Likewise.
5079
5080 2011-05-03  Bruno Haible  <bruno@clisp.org>
5081
5082         Support for conditional dependencies.
5083         * doc/gnulib.texi (Module description): Document the syntax of
5084         conditional dependencies.
5085         * gnulib-tool: New option --conditional-dependencies.
5086         (func_usage): Document it.
5087         (cond_dependencies): New variable.
5088         (func_get_automake_snippet_conditional,
5089         func_get_automake_snippet_unconditional): New functions, extracted from
5090         func_get_automake_snippet.
5091         (func_get_automake_snippet): Use them.
5092         (sed_first_32_chars): New variable.
5093         (func_module_shellfunc_name): New function.
5094         (func_module_shellvar_name): New function.
5095         (func_module_conditional_name): New function.
5096         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
5097         func_cond_module_condition): New functions.
5098         (func_modules_transitive_closure): Add support for conditional
5099         dependencies.
5100         (func_emit_lib_Makefile_am): For a conditional module, enclose the
5101         conditional automake snippet in an automake conditional.
5102         (func_emit_autoconf_snippets): Emit shell functions that contain the
5103         code for conditional modules.
5104         (func_import, func_create_testdir): Update specification.
5105
5106 2011-05-03  Eric Blake  <eblake@redhat.com>
5107
5108         test-getaddrinfo: report error information
5109         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
5110
5111 2011-05-03  Jim Meyering  <meyering@redhat.com>
5112
5113         bootstrap: avoid build failure when $GZIP is set
5114         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
5115         program name.  If defined at all, it is supposed to list gzip options.
5116         Reported by Alan Curry in http://debbugs.gnu.org/8609
5117
5118 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
5119
5120         readme-release: new module with release instructions
5121         * modules/readme-release: New module.
5122         * top/README-release: New file, from coreutils, grep, diffutils.
5123         * MODULES.html.sh (Support for maintaining and releasing): Add it.
5124
5125 2011-05-02  Eric Blake  <eblake@redhat.com>
5126
5127         fflush: also replace fclose when fixing fflush
5128         * modules/fflush (Depends-on): Add fclose.
5129         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
5130         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
5131         memstreams with no backing fd.
5132         * doc/posix-functions/fclose.texi (fclose): Document the use of
5133         fflush module to fix the bug.
5134         * tests/test-fclose.c (main): Relax test when fclose is used in
5135         isolation.
5136
5137         fclose: add some tests
5138         * modules/fclose-tests: New test module.
5139         * tests/test-fclose.c: New file.
5140         * doc/posix-functions/fclose.texi (fclose): Document the bug.
5141
5142         fclose: reduced dependencies
5143         * modules/fclose (Depends-on): Switch from fflush/fseeko to
5144         simpler lseek.
5145         * lib/fclose.c (rpl_fclose): Likewise.
5146         Reported by Simon Josefsson.
5147
5148         exit: drop remaining clients
5149         * modules/argmatch (Depends-on): Replace exit with stdlib.
5150         * modules/copy-file (Depends-on): Likewise.
5151         * modules/execute (Depends-on): Likewise.
5152         * modules/exitfail (Depends-on): Likewise.
5153         * modules/obstack (Depends-on): Likewise.
5154         * modules/pagealign_alloc (Depends-on): Likewise.
5155         * modules/pipe-filter-gi (Depends-on): Likewise.
5156         * modules/pipe-filter-ii (Depends-on): Likewise.
5157         * modules/savewd (Depends-on): Likewise.
5158         * modules/spawn-pipe (Depends-on): Likewise.
5159         * modules/wait-process (Depends-on): Likewise.
5160         * modules/xsetenv (Depends-on): Likewise.
5161         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
5162         * modules/git-merge-changelog (Depends-on): Likewise.
5163         * modules/long-options (Depends-on): Likewise.
5164         * modules/pt_chown (Depends-on): Likewise.
5165         * modules/sysexits (Depends-on): Likewise.
5166
5167         freading: relax license from LGPLv3+ to LGPLv2+
5168         * modules/freading (License): Relax LGPL version.
5169
5170 2011-05-02  Bruno Haible  <bruno@clisp.org>
5171
5172         fchdir: Remove unused dependencies.
5173         * modules/fchdir (Depends-on): Remove include_next.
5174
5175 2011-05-02  Bruno Haible  <bruno@clisp.org>
5176
5177         gnulib-tool: Refactor.
5178         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
5179         from func_emit_autoconf_snippets.
5180         (func_emit_autoconf_snippets): Use it.
5181
5182 2011-05-02  Simon Josefsson  <simon@josefsson.org>
5183
5184         * NEWS: Document removal of 'exit'.
5185         * modules/exit: Remove file.
5186
5187 2011-05-01  Bruno Haible  <bruno@clisp.org>
5188
5189         Update DEPENDENCIES.
5190         * DEPENDENCIES (gettext): Recommend the newest release.
5191         Reported by Simon Josefsson.
5192
5193 2011-05-01  Bruno Haible  <bruno@clisp.org>
5194
5195         gnulib-tool: Reduce code duplication.
5196         * gnulib-tool (func_emit_autoconf_snippets): New function.
5197         (func_import, func_create_testdir): Use it.
5198
5199 2011-04-30  Eric Blake  <eblake@redhat.com>
5200
5201         fclose: don't fail on non-seekable input stream
5202         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
5203         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
5204         since fflush is allowed to fail in that case.
5205
5206 2011-04-30  Bruno Haible  <bruno@clisp.org>
5207
5208         dup3: cleanup
5209         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
5210
5211 2011-04-30  Bruno Haible  <bruno@clisp.org>
5212
5213         netdb: Make it work in C++ mode.
5214         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
5215         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
5216         module.
5217         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
5218         gl_MODULE_INDICATOR_FOR_TESTS.
5219         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
5220         * modules/netdb-c++-tests: New file.
5221         * tests/test-netdb-c++.cc: New file.
5222
5223 2011-04-30  Bruno Haible  <bruno@clisp.org>
5224
5225         New modules 'vfscanf', 'vscanf'.
5226         * modules/vfscanf: New file.
5227         * modules/vscanf: New file.
5228         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
5229         here.
5230         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
5231         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
5232
5233 2011-04-30  Bruno Haible  <bruno@clisp.org>
5234
5235         passfd: Add comments.
5236         * lib/passfd.c: Add comments about platforms.
5237
5238 2011-04-30  Bruno Haible  <bruno@clisp.org>
5239
5240         sys_uio: Make <sys/uio.h> self-contained.
5241         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
5242         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
5243
5244 2011-04-30  Bruno Haible  <bruno@clisp.org>
5245
5246         sys_socket: Ensure 'struct iovec' definition.
5247         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
5248         <sys/socket.h>.
5249         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
5250
5251 2011-04-30  Bruno Haible  <bruno@clisp.org>
5252
5253         sys_uio: Protect definition of 'struct iovec'.
5254         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
5255         it as a C struct.
5256
5257 2011-04-30  Bruno Haible  <bruno@clisp.org>
5258
5259         manywarnings: fix indentation
5260         * m4/manywarnings.m4: Indent by 2 spaces consistently.
5261
5262 2011-04-30  Pádraig Brady <P@draigBrady.com>
5263
5264         manywarnings: add -Wno-missing-field-initializers if needed.
5265         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
5266         option if it's needed to allow initialization with { 0, }
5267
5268 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
5269
5270         announce-gen: cosmetic improvement
5271         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
5272
5273 2011-04-29  Jim Meyering  <meyering@redhat.com>
5274
5275         vc-list-files: indent with spaces, not TABs
5276         * build-aux/vc-list-files: Convert leading TABs to spaces,
5277         to match the style of most other files in gnulib.
5278
5279         announce-gen: indent with spaces, not TABs
5280         * build-aux/announce-gen: Convert all TABs to spaces, to match
5281         the style of most other files in gnulib.
5282
5283 2011-04-29  Eric Blake  <eblake@redhat.com>
5284
5285         quotearg: avoid uninitialized variable use
5286         * lib/quotearg.c (quoting_options_from_style): Initialize
5287         remaining fields, and ensure that custom styles are only used via
5288         quoting_options rather than quoting_style.
5289
5290 2011-04-29  Jim Meyering  <meyering@redhat.com>
5291
5292         maint.mk: remove unused VC-tag variable
5293         * top/maint.mk (VC-tag): Remove unused variable.
5294
5295 2011-04-29  Bruno Haible  <bruno@clisp.org>
5296
5297         netdb: fix gai_strerror replacements
5298         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
5299         * modules/netdb: Substitute it.
5300
5301 2011-04-29  Jim Meyering  <meyering@redhat.com>
5302
5303         test-getcwd.c: avoid new set-but-not-used warning
5304         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
5305         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
5306         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
5307         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
5308
5309         test-hash.c: avoid a new shadowing warning
5310         * tests/test-hash.c (main): Don't shadow "dup".
5311
5312 2011-04-28  Eric Blake  <eblake@redhat.com>
5313
5314         getaddrinfo: fix gai_strerror signature
5315         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
5316         and work around mingw with UNICODE defined.
5317         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
5318         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
5319         * modules/netdb (Makefile.am): Substitute it.
5320         * lib/netdb.in.h (gai_strerror): Declare replacement.
5321         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
5322         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
5323         the fix.
5324
5325         getsockopt: avoid compiler warning
5326         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
5327         Reported by Matthias Bolte.
5328
5329         tests: drop unused link dependency
5330         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
5331         * modules/dirent-safer-tests (Makefile.am): Likewise.
5332         * modules/fdopendir-tests (Makefile.am): Likewise.
5333         * modules/mkfifoat-tests (Makefile.am): Likewise.
5334         * modules/openat-safer-tests (Makefile.am): Likewise.
5335         * modules/openat-tests (Makefile.am): Likewise.
5336         * modules/readlinkat-tests (Makefile.am): Likewise.
5337         * modules/symlinkat-tests (Makefile.am): Likewise.
5338         * modules/linkat-tests (Makefile.am): Likewise.
5339         (Depends-on): Switch to filenamecat-lgpl.
5340         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
5341         LIBINTL.
5342         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
5343         * tests/test-linkat.c (main): Don't require xalloc.
5344
5345         hash, mgetgroups: drop xalloc dependency
5346         * lib/hash.c (includes): Adjust includes.
5347         * lib/mgetgroups.c (includes): Likewise.
5348         (xgetgroups): Move...
5349         * lib/xgetgroups.c: ...to new file.
5350         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
5351         * modules/xgetgroups: New file, split from...
5352         * modules/mgetgroups: ...here.
5353         (Depends-on): Add xalloc-oversized.
5354         * modules/hash (Depends-on): Likewise.
5355         * modules/hash-tests (Depends-on): Drop xalloc.
5356         (test_hash_LDADD): Drop unused library.
5357         * tests/test-hash.c (main): Break xalloc dependency.
5358         (includes): Drop unused include.
5359
5360         xalloc-oversized: new module
5361         * modules/xalloc-oversized: New module.
5362         * modules/xalloc (Depends-on): Add it.
5363         * lib/xalloc.h (xalloc_oversized): Move...
5364         * lib/xalloc-oversized.h: ...into new file.
5365
5366         utimecmp: drop dependency on xmalloc
5367         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
5368         due to memory pressure.
5369         * modules/utimecmp (Depends-on): Drop xalloc.
5370
5371 2011-04-27  Eric Blake  <eblake@redhat.com>
5372
5373         getcwd: fix mingw bugs
5374         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
5375         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
5376         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
5377
5378 2011-04-27  Bruno Haible  <bruno@clisp.org>
5379
5380         mkstemps: Ensure declaration on MacOS X 10.5.
5381         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
5382         * doc/glibc-functions/mkstemps.texi: Document header file problem on
5383         MacOS X.
5384
5385 2011-04-27  Bruno Haible  <bruno@clisp.org>
5386
5387         mkstemp: More documentation.
5388         * doc/posix-functions/mkstemp.texi: Document header file problem on
5389         MacOS X.
5390
5391 2011-04-27  Bruno Haible  <bruno@clisp.org>
5392
5393         mkstemp: Tweak configure message when cross-compiling.
5394         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
5395         result as a guess.
5396
5397 2011-04-27  Bruno Haible  <bruno@clisp.org>
5398
5399         clean-temp: Clarify what it does.
5400         * lib/clean-temp.h: Add more comments.
5401         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
5402         module.
5403         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
5404         * doc/glibc-functions/mkstemps.texi: Likewise.
5405         * doc/glibc-functions/mkostemps.texi: Likewise.
5406
5407 2011-04-27  Eric Blake  <eblake@redhat.com>
5408
5409         fchdir: avoid extra chdir and fix test
5410         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
5411         getcwd-lgpl.
5412         * lib/fchdir.c (get_name): Any absolute name will do; it does not
5413         have to be canonical.
5414         (canonicalize_file_name): Drop unused macro.
5415         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
5416
5417         filenamecat-lgpl: fix licence
5418         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
5419         when it was first created.
5420
5421         linkat, renameat: add missing dependency
5422         * modules/linkat (Depends-on): Require getcwd-lgpl.
5423         * modules/renameat (Depends-on): Likewise.
5424
5425         tests: reduce dependencies
5426         * tests/test-linkat.c (main): Use lighter-weight getcwd.
5427         * tests/test-renameat.c (main): Likewise.
5428         * modules/linkat-tests (Depends-on): Relax dependency.
5429         * modules/renameat-tests (Depends-on): Likewise.
5430         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
5431         dependency explicit.
5432
5433         save-cwd: reduce default dependency
5434         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
5435         * lib/save-cwd.c: Update comments.
5436         * NEWS: Document the semantic change.
5437
5438         getcwd: enhance tests
5439         * tests/test-getcwd-lgpl.c: New file, taken from...
5440         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
5441         repeat long path stress tests from m4 probe.
5442         * modules/getcwd-lgpl-tests: New module.
5443         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
5444         * m4/getcwd-abort-bug.m4: Update comment.
5445         * m4/getcwd-path-max.m4: Likewise.
5446
5447         getcwd-lgpl: new module
5448         * modules/getcwd-lgpl: New module.
5449         * lib/getcwd-lgpl.c: New file.
5450         * doc/posix-functions/getcwd.texi (getcwd): Document it.
5451         * MODULES.html.sh (lacking POSIX:2008): Likewise.
5452         * modules/getcwd (configure.ac): Set C witness.
5453         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
5454
5455         getcwd: tweak comments
5456         * m4/getcwd-abort-bug.m4: Fix comments.
5457         * m4/getcwd-path-max.m4: Likewise.
5458         * m4/getcwd.m4: Likewise.
5459
5460 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
5461         and Eric Blake  <eblake@redhat.com>
5462
5463         mkstemp: replace if system version uses wrong permissions
5464         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
5465         read/write mode bits set in file created by mkstemp.
5466         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
5467
5468 2011-04-27  Eric Blake  <eblake@redhat.com>
5469
5470         passfd: avoid compiler warning
5471         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
5472         Reported by Laine Stump.
5473
5474 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
5475
5476         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
5477         required by the NetBSD (and perhaps other 4.4BSD derived) join.
5478
5479 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
5480         and Eric Blake  <eblake@redhat.com>
5481
5482         mkstemp: mention clean-temp module
5483         * lib/mkstemp.c: Add comment.
5484         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
5485
5486 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
5487
5488         inttypes: also provide default values for 32-bit tests
5489         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
5490         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
5491
5492 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
5493
5494         strtoumax: remove dependency on strtoimax
5495         This is like the strtoull change of yesterday.
5496         * modules/strtoumax (Files): Add lib/strtoimax.c.
5497         (Depends-on): Remove strtoimax and add verify.
5498
5499         inttypes-incomplete: new module
5500         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
5501         all but the PRI* and SCN* parts of gl_INTTYPES_H.
5502         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
5503         of gl_INTTYPES_H.
5504         (gl_INTTYPES_H): Rewrite in terms of these new macros.
5505         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
5506         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
5507         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
5508         * modules/strtoumax, modules/xstrtol (Depends-on):
5509         Depend on inttypes-incomplete, not inttypes.
5510         * modules/inttypes-incomplete: New module, containing the contents
5511         of the old modules/inttypes module, except that the Files: section
5512         omits m4/inttypes-pri.m4, and the configure.ac section invokes
5513         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
5514         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
5515         (Depends-on): Depend only on inttypes-incomplete.
5516         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
5517
5518         inttypes: omit now-redundant strtoimax and strtoumax work
5519         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
5520         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
5521
5522         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
5523         This supports apps that need pointers to strtoimax and strtoumax,
5524         and ports to HP-UX 11.00 64.bit, which has macros that expand to
5525         nonexistent functions.  See
5526         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
5527         et seq.
5528         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
5529         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
5530         a macro.
5531         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
5532
5533 2011-04-25  Simon Josefsson  <simon@josefsson.org>
5534
5535         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
5536
5537 2011-04-25  Bruno Haible  <bruno@clisp.org>
5538
5539         strtol, strtoul: Mark modules as obsolete.
5540         * modules/strtol (Status, Notice): New sections.
5541         * modules/strtoul (Status, Notice): New sections.
5542
5543 2011-04-25  Bruno Haible  <bruno@clisp.org>
5544
5545         strtod: Remove check for strtod, unless supporting old platforms.
5546         * modules/strtod-obsolete: New file.
5547         * m4/strtod-obsolete.m4: New file.
5548         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
5549         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
5550         * modules/strtod (Depends-on): Add strtod-obsolete.
5551         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
5552
5553 2011-04-25  Bruno Haible  <bruno@clisp.org>
5554
5555         strcase: Make module obsolete.
5556         * modules/strcase (Status, Notice): New sections.
5557
5558 2011-04-25  Bruno Haible  <bruno@clisp.org>
5559
5560         dup2: Remove check for dup2, unless supporting old obsolete platforms.
5561         * modules/dup2-obsolete: New file.
5562         * m4/dup2-obsolete.m4: New file.
5563         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
5564         gl_FUNC_DUP2_OBSOLETE is not also defined.
5565         * modules/dup2 (Depends-on): Add dup2-obsolete.
5566         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
5567
5568 2011-04-25  Bruno Haible  <bruno@clisp.org>
5569
5570         strnlen: Avoid memchr related link error on old obsolete platforms.
5571         * modules/memchr-obsolete: New file.
5572         * m4/memchr-obsolete.m4: New file.
5573         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
5574         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
5575         * modules/memchr (Depends-on): Add memchr-obsolete.
5576         * modules/strnlen (Depends-on): Likewise.
5577         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
5578
5579 2011-04-25  Jim Meyering  <meyering@redhat.com>
5580
5581         maint.mk: makefile_at_at_check extend and clean up
5582         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
5583         in addition to */Makefile.am.
5584         Exempt legitimate uses of @VAR@ notation, e.g.,
5585         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
5586         Remove obsolete coreutils-specific comment.
5587         Prompted by discussion here:
5588         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
5589
5590 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
5591
5592         strtoul: remove dependency on strtol
5593         This is so that 'configure' need not check for strtol merely because
5594         the application needs strtoul.
5595         * modules/strtoul (Files): Add lib/strtol.c.
5596         (Depends-on): Remove strtol.
5597
5598         strtoull: remove dependency on strtoul
5599         This is like the strtoll change.
5600         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
5601         (Depends-on): Remove strtoul.
5602
5603         strtoll: remove dependency on strtol
5604         This is so that 'configure' need not check for strtol merely because
5605         the application needs strtoll.
5606         * modules/strtoll (Files): Add lib/strtol.c.
5607         (Depends-on): Remove strtol.
5608
5609 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
5610
5611         inttypes: Move some configure check to module 'imaxdiv'.
5612         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
5613         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
5614         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
5615
5616 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
5617
5618         inttypes: Move some configure check to module 'imaxabs'.
5619         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
5620         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
5621         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
5622
5623 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
5624
5625         inttypes: Remove configure tests that are not needed since 2009-12-31.
5626         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
5627         gl_cv_header_working_inttypes_h.
5628
5629 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
5630
5631         * modules/strnlen (Depends-on): Remove memchr.
5632         The strnlen implementation doesn't need the memchr module's fixes; see
5633         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
5634
5635         strtol: remove dependency on wchar
5636         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
5637         * modules/strtol (Depends-on): Remove wchar.
5638
5639 2011-04-21  Eric Blake  <eblake@redhat.com>
5640
5641         passfd: fix test regression on Linux
5642         * modules/passfd-tests (configure.ac): Correct socketpair check.
5643
5644         passfd: speed up configure and drop unused code
5645         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
5646         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
5647         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
5648         Instead of probing at configure for unix_scm_rights_bsd44_way,
5649         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
5650         check to a struct member probe.
5651         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
5652         (sendfd, recvfd): Update preprocessor checks.
5653         * modules/passfd (Files): Reflect rename, and drop unused file.
5654         (Depends-on): Drop unused dependency.
5655
5656         passfd: allow compilation on mingw
5657         * modules/sys_socket (Depends-on): Add sys_uio.
5658         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
5659         iovec and a minimal struct msghdr.
5660         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
5661         * tests/test-sys_socket.c (main): Enhance test.
5662         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
5663         guaranteed to provide what we need.
5664         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
5665         * modules/passfd-tests (Depends-on): Add sys_wait.
5666         * tests/test-passfd.c (main): Skip test on mingw, for now.
5667         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
5668         partial 'struct msghdr' implementation.
5669
5670         sys_uio: new module
5671         * modules/sys_uio: New module.
5672         * modules/sys_uio-tests: Likewise.
5673         * lib/sys_uio.in.h: New file.
5674         * m4/sys_uio_h.m4: Likewise.
5675         * tests/test-sys_uio.c: Likewise.
5676         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
5677         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
5678
5679 2011-04-20  Jim Meyering  <meyering@redhat.com>
5680
5681         useless-if-before-free: avoid false-positive
5682         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
5683         disjunct so that it too requires a terminating ";".  Without that,
5684         this script would identify as useless one statement from gcc that
5685         was not:
5686           if (aligned_ptr)
5687             free (((void **) aligned_ptr) [-1]);
5688
5689 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
5690
5691         doc: update users.txt.
5692         * users.txt: Add barcode.
5693
5694 2011-04-19  Bruno Haible  <bruno@clisp.org>
5695
5696         ioctl: Remove link dependency on native Windows.
5697         * lib/fd-hook.h: Renamed from lib/close-hook.h.
5698         (gl_close_fn, gl_ioctl_fn): New types.
5699         (struct fd_hook): Renamed from struct close_hook. Change type of
5700         private_close_fn field. Add private_ioctl_fn field.
5701         (close_hook_fn): Add parameter for primary close method.
5702         (execute_close_hooks, execute_all_close_hooks): Likewise.
5703         (ioctl_hook_fn): New type.
5704         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
5705         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
5706         argument.
5707         (unregister_fd_hook): Renamed from unregister_close_hook.
5708         * lib/fd-hook.c: Renamed from lib/close-hook.c.
5709         Don't include <unistd.h>.
5710         (close): Remove undef.
5711         (anchor): Update.
5712         (execute_close_hooks): Add argument for primary close method.
5713         (execute_all_close_hooks): Likewise.
5714         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
5715         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
5716         argument. Allow each argument to be NULL.
5717         (unregister_fd_hook): Renamed from unregister_close_hook.
5718         * lib/close.c (rpl_close): Pass 'close' function pointer to
5719         execute_all_close_hooks.
5720         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
5721         (primary_ioctl): New function.
5722         (ioctl): Don't call ioctlsocket here. Instead, call
5723         execute_all_ioctl_hooks.
5724         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
5725         close method.
5726         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
5727         (fd_sockets_hook): Renamed from close_sockets_hook.
5728         (gl_sockets_startup, gl_sockets_cleanup): Update.
5729         * modules/fd-hook: Renamed from modules/close-hook. Update.
5730         * modules/close (Depends-on): Add fd-hook, remove close-hook.
5731         * modules/sockets (Depends-on): Likewise.
5732         * modules/ioctl (Depends-on): Add fd-hook.
5733         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
5734         GNULIB_SOCKET.
5735
5736 2011-04-19  Bruno Haible  <bruno@clisp.org>
5737
5738         Move the support of O_NONBLOCK in open() to the 'open' module.
5739         * modules/nonblocking (Depends-on): Remove 'open'.
5740         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
5741         gl_cv_have_open_O_NONBLOCK.
5742         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
5743         O_NONBLOCK support.
5744         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
5745
5746 2011-04-17  Bruno Haible  <bruno@clisp.org>
5747
5748         pipe2: Simplify code.
5749         * lib/pipe2.c (pipe2): Reduce code duplication.
5750
5751 2011-04-17  Bruno Haible  <bruno@clisp.org>
5752
5753         nonblocking: Add comment.
5754         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
5755
5756 2011-04-17  Bruno Haible  <bruno@clisp.org>
5757
5758         nonblocking: Add tests for sockets.
5759         * tests/test-nonblocking-socket.sh: New file.
5760         * tests/test-nonblocking-socket-main.c: New file.
5761         * tests/test-nonblocking-socket-child.c: New file.
5762         * tests/test-nonblocking-socket.h: New file.
5763         * tests/socket-server.h: New file.
5764         * tests/socket-client.h: New file.
5765         * modules/nonblocking-socket-tests: New file.
5766         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
5767
5768 2011-04-17  Bruno Haible  <bruno@clisp.org>
5769
5770         nonblocking: Add tests for pipes.
5771         * tests/test-nonblocking-pipe.sh: New file.
5772         * tests/test-nonblocking-pipe-main.c: New file.
5773         * tests/test-nonblocking-pipe-child.c: New file.
5774         * tests/test-nonblocking-pipe.h: New file.
5775         * tests/test-nonblocking-writer.h: New file.
5776         * tests/test-nonblocking-reader.h: New file.
5777         * tests/test-nonblocking-misc.h: New file.
5778         * modules/nonblocking-pipe-tests: New file.
5779         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
5780
5781 2011-04-16  Bruno Haible  <bruno@clisp.org>
5782
5783         gettext: Clarify the needed programmer actions.
5784         * modules/gettext (Notice): New field.
5785         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
5786
5787 2011-04-16  Bruno Haible  <bruno@clisp.org>
5788
5789         strchrnul: Tweak last commit.
5790         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
5791         bug.
5792         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
5793         as in _GL_FUNCDECL_SYS.
5794         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
5795         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
5796
5797 2011-04-15  Eric Blake  <eblake@redhat.com>
5798
5799         strchrnul: work around cygwin bug
5800         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
5801         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
5802         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
5803         * modules/string (Makefile.am): Substitute it.
5804         * lib/string.in.h (strchrnul): Use it.
5805
5806 2011-04-15  Bruno Haible  <bruno@clisp.org>
5807
5808         Don't require lib/stdio-write.c when only module 'stdio' is used.
5809         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
5810         invocation.
5811         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
5812
5813 2011-04-14  Bruno Haible  <bruno@clisp.org>
5814
5815         Support non-blocking pipe I/O in read() on native Windows.
5816         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
5817         (read): New declaration.
5818         * lib/read.c: New file.
5819         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
5820         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
5821         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
5822         vscanf): New declarations.
5823         * lib/stdio-read.c: New file.
5824         * m4/read.m4: New file.
5825         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
5826         REPLACE_READ.
5827         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
5828         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
5829         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
5830         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
5831         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
5832         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
5833         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
5834         * modules/read: New file.
5835         * modules/nonblocking (Files): Add lib/stdio-read.c.
5836         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
5837         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
5838         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
5839         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
5840         * modules/pread (Depends-on): Add read.
5841         * modules/safe-read (Depends-on): Likewise.
5842         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
5843         gets, scanf, vfscanf, vscanf): Verify signatures.
5844         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
5845         problem with non-blocking pipes.
5846         * doc/posix-functions/fgetc.texi: Likewise.
5847         * doc/posix-functions/fgets.texi: Likewise.
5848         * doc/posix-functions/fread.texi: Likewise.
5849         * doc/posix-functions/fscanf.texi: Likewise.
5850         * doc/posix-functions/getc.texi: Likewise.
5851         * doc/posix-functions/getchar.texi: Likewise.
5852         * doc/posix-functions/gets.texi: Likewise.
5853         * doc/posix-functions/scanf.texi: Likewise.
5854         * doc/posix-functions/vfscanf.texi: Likewise.
5855         * doc/posix-functions/vscanf.texi: Likewise.
5856
5857 2011-04-14  Bruno Haible  <bruno@clisp.org>
5858
5859         Support non-blocking pipe I/O in write() on native Windows.
5860         * lib/write.c (rpl_write): Split a write request that failed merely
5861         because the byte count was larger than the pipe buffer's size.
5862         * doc/posix-functions/write.texi: Mention the problem with large byte
5863         counts.
5864
5865 2011-04-14  Bruno Haible  <bruno@clisp.org>
5866
5867         wchar: Ensure that wchar_t gets defined on uClibc.
5868         * lib/wchar.in.h: On uClibc, include <stddef.h>.
5869         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
5870
5871 2011-04-13  Bruno Haible  <bruno@clisp.org>
5872
5873         safe-write, full-read: Avoid unnecessary compilation units.
5874         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
5875         (Depends-on): Remove safe-read. Add ssize_t.
5876         * modules/full-read (Files): Add lib/full-write.c.
5877         (Depends-on): Add full-write.
5878
5879 2011-04-13  Bruno Haible  <bruno@clisp.org>
5880
5881         Support non-blocking pipe I/O and SIGPIPE in pwrite().
5882         * modules/pwrite (Depends-on): Add 'write'.
5883
5884 2011-04-13  Bruno Haible  <bruno@clisp.org>
5885
5886         Support non-blocking pipe I/O in write() on native Windows.
5887         * lib/unistd.in.h (write): Enable replacement also if
5888         GNULIB_UNISTD_H_NONBLOCKING is 1.
5889         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
5890         (rpl_write): When failing to write on a non-blocking pipe, change
5891         errno from ENOSPC to EAGAIN.
5892         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
5893         putchar, puts, vfprintf, vprintf): Enable replacement also if
5894         GNULIB_STDIO_H_NONBLOCKING is 1.
5895         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
5896         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
5897         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
5898         CALL_WITH_SIGPIPE_EMULATION.
5899         (CALL_WITH_SIGPIPE_EMULATION): Use them.
5900         * m4/nonblocking.m4: New file.
5901         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
5902         for non-blocking I/O support.
5903         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
5904         GNULIB_UNISTD_H_NONBLOCKING.
5905         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
5906         required for non-blocking I/O support.
5907         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
5908         * modules/nonblocking (Files): Add m4/nonblocking.m4,
5909         lib/stdio-write.c, m4/asm-underscore.m4.
5910         (Depends-on): Add stdio, unistd.
5911         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
5912         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
5913         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
5914         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
5915         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
5916         problem with non-blocking pipes.
5917         * doc/posix-functions/fputc.texi: Likewise.
5918         * doc/posix-functions/fputs.texi: Likewise.
5919         * doc/posix-functions/fwrite.texi: Likewise.
5920         * doc/posix-functions/printf.texi: Likewise.
5921         * doc/posix-functions/putc.texi: Likewise.
5922         * doc/posix-functions/putchar.texi: Likewise.
5923         * doc/posix-functions/puts.texi: Likewise.
5924         * doc/posix-functions/vfprintf.texi: Likewise.
5925         * doc/posix-functions/vprintf.texi: Likewise.
5926         * doc/posix-functions/write.texi: Likewise.
5927
5928 2011-04-10  Jim Meyering  <meyering@redhat.com>
5929
5930         maint.mk: prohibit doubled words
5931         Detect them also when they're separated by a newline.
5932         There are 3 ways to customize it:
5933           - disable the test on a per file basis, as usual with rules using
5934             $(VC_LIST_EXCEPT)
5935           - replace the default doubled-word-selecting regexp (affects all files)
5936           - ignore a particular file-vs-doubled-word match
5937         I nearly used that last one to ignore the "is is" match in
5938         coreutils' NEWS file, since the text was "ls -is is ..."
5939         To do that, I would have added this line to cfg.mk:
5940           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
5941         but it would have ignored any "is is" match in NEWS.
5942         Low probability, but still...
5943         Instead, I changed the text, slightly:
5944           -  ls -is is now consistent with ls -lis in ignoring values returned
5945           +  "ls -is" is now consistent with ls -lis in ignoring values returned
5946         * top/maint.mk (prohibit_double_word_RE_): Provide default.
5947         (prohibit_doubled_word_): Define.
5948         (sc_prohibit_doubled_word): New rule.
5949         (sc_prohibit_the_the): Remove.  Subsumed by the above.
5950
5951 2011-04-10  Jim Meyering  <meyering@redhat.com>
5952
5953         maint: fix doubled-word typo in comment
5954         * m4/gethostname.m4: s/is is/it is/
5955         * m4/getdomainname.m4: Likewise.
5956
5957 2011-04-10  Jim Meyering  <meyering@redhat.com>
5958
5959         maint: remove doubled word: s/it it/it/
5960         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
5961
5962 2011-04-10  Jim Meyering  <meyering@redhat.com>
5963
5964         maint.mk: remove useless semicolon and backslash
5965         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
5966         semicolon and backslash.
5967
5968 2011-04-10  Bruno Haible  <bruno@clisp.org>
5969
5970         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
5971         * modules/stdint-tests (Depends-on): Add wchar.
5972
5973 2011-04-10  Jim Meyering  <meyering@redhat.com>
5974
5975         maint: remove doubled words in comments, e.g., s/a a/a/
5976         * lib/strptime.c (day_of_the_week): s/the the/the/
5977         * tests/test-chown.h (test_chown): s/a a/a/
5978
5979         test-chown.h: correct a cast
5980         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
5981         when the destination is a stat.st_gid.
5982
5983 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
5984
5985         getaddrinfo: Fix test for sa_len member.
5986         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
5987         include <sys/types.h> before <sys/socket.h>.
5988
5989 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
5990
5991         maint: change "can not" to "cannot"
5992         * doc/posix-functions/iconv.texi (iconv): This one crossed line
5993         boundaries.
5994
5995 2011-04-09  Jim Meyering  <meyering@redhat.com>
5996
5997         maint: change "a a" to "a"
5998         * tests/test-lchown.h (test_lchown): s/a a/a/
5999
6000         maint.mk: prohibit \<the the\>
6001         * top/maint.mk (sc_prohibit_the_the): New rule.
6002
6003         maint: fix "the the" in comment
6004         * lib/count-one-bits.h: s/the the/the/
6005
6006         maint: change "can not" to "cannot"
6007         But do not change the occurrences in maintain.texi or in
6008         build-aux/po/Makefile.in.in, which I presume comes from gettext.
6009         * doc/gnulib-tool.texi: s/can not/cannot/
6010         * doc/posix-functions/accept.texi (accept): Likewise.
6011         * doc/posix-functions/socket.texi (socket): Likewise.
6012         * lib/mbrtowc.c: Likewise.
6013
6014         maint.mk: prohibit use of "can not"
6015         * top/maint.mk (sc_prohibit_can_not): New rule.
6016         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
6017
6018 2011-04-09  Bruno Haible  <bruno@clisp.org>
6019
6020         careadlinkat: Guard against misuse of careadlinkatcwd.
6021         * lib/careadlinkat.c: Include <stdlib.h>.
6022         (careadlinkatcwd): Check that the fd argument is as expected.
6023
6024 2011-04-09  Bruno Haible  <bruno@clisp.org>
6025
6026         careadlinkat: Use common coding style.
6027         * lib/careadlinkat.c: Move gnulib includes after system includes.
6028
6029 2011-04-09  Bruno Haible  <bruno@clisp.org>
6030
6031         careadlinkat: Clarify specification.
6032         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
6033         (careadlinkatcwd): Add comment.
6034         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
6035
6036 2011-04-09  Bruno Haible  <bruno@clisp.org>
6037
6038         areadlinkat: Avoid link error on many platforms.
6039         * modules/areadlinkat (Depends-on): Add areadlink.
6040
6041 2011-04-09  Bruno Haible  <bruno@clisp.org>
6042
6043         allocator, careadlinkat: Fix double-inclusion guard.
6044         * lib/allocator.h: Fix double-inclusion guard.
6045         * lib/careadlinkat.h: Likewise.
6046
6047 2011-04-09  Bruno Haible  <bruno@clisp.org>
6048
6049         relocatable-prog-wrapper: Update after module 'areadlink' changed.
6050         * lib/relocwrapper.c: Update dependencies hierarchy.
6051         * build-aux/install-reloc: Update list of files to be compiled.
6052         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
6053         lib/allocator.[hc].
6054
6055 2011-04-08  Eric Blake  <eblake@redhat.com>
6056
6057         strftime: silence gnulib-tool warning
6058         * modules/strftime-tests (Depends-on): Drop automatic dependency.
6059
6060 2011-04-08  Bruno Haible  <bruno@clisp.org>
6061
6062         verify: Fix syntax error with GCC 4.6 in C++ mode.
6063         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
6064         (HAVE_STATIC_ASSERT): New macro.
6065         (verify_true, verify): Use 'static_assert' if it is supported and
6066         '_Static_assert' is not supported.
6067
6068 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
6069
6070         allocator: New module.
6071         * modules/allocator, lib/allocator.c: New files.
6072         * lib/allocator.h (stdlib_allocator): New decl.
6073         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
6074         Remove.  Do not include <stdlib.h>.
6075         (careadlinkat): Use stdlib_allocator instead of rolling our own.
6076         * modules/careadlinkat (Files): Remove lib/allocator.h.
6077         (Depends-on): Add allocator.
6078
6079         stdlib: let modules use system malloc, realloc
6080         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
6081         if !_GL_USE_STDLIB_ALLOC.
6082         (malloc, realloc): Limit this change to a smaller scope.
6083
6084         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
6085         (malloc, realloc): Don't #undef; no longer needed.
6086         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
6087         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
6088         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
6089         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
6090         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
6091         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
6092         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
6093         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
6094
6095         careadlinkat: rename members to avoid problem
6096         * lib/allocator.h (struct allocator): Rename members from
6097         malloc/realloc to allocate/reallocate, to avoid problems if malloc
6098         and realloc are #define'd.  Reported by Eric Blake in
6099         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
6100         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
6101
6102 2011-04-08  Eric Blake  <eblake@redhat.com>
6103
6104         nonblocking: reduce dependency
6105         * tests/test-nonblocking.c: Only test sockets when in use.
6106         * modules/nonblocking-tests (Depends-on): Drop socket.
6107         (Makefile.am): Link even if sockets are not present.
6108         * modules/pipe2-tests (Makefile.am): Likewise.
6109         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
6110
6111         pipe2: fix O_NONBLOCK support on mingw
6112         * modules/pipe2 (Depends-on): Add nonblocking.
6113         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
6114         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
6115         * tests/test-nonblocking.c (main): Likewise.
6116         * modules/pipe2-tests (Makefile.am): Avoid link failure.
6117
6118         fcntl-h: fix O_ACCMODE on cygwin
6119         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
6120         * lib/fcntl.in.h (O_ACCMODE): Fix it.
6121
6122         pipe-filter: drop O_NONBLOCK workarounds
6123         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
6124         * modules/pipe-filter-ii (Depends-on): Likewise.
6125         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
6126
6127         nonblocking: provide O_NONBLOCK for mingw
6128         * modules/nonblocking (Depends-on): Add open.
6129         (configure.ac): Set new witness macro.
6130         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
6131         * modules/fcntl-h (Makefile.am): Substitute it.
6132         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
6133         nonblocking module is in use.
6134         * lib/nonblocking.c: Adjust portability test.
6135         * lib/open.c (open): Don't let native open see gnulib flag.
6136         * tests/test-fcntl-h.c (main): Enhance test.
6137         * tests/test-open.h (test_open): Likewise.
6138         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
6139
6140         careadlinkat: fix compilation error on mingw
6141         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
6142         within struct allocator.
6143
6144 2011-04-06  Eric Blake  <eblake@redhat.com>
6145
6146         binary-io: relicense under LGPLv2+
6147         * modules/binary-io (License): Relax to LGPLv2+.
6148         Requested for libvirt, and required by pipe2.
6149
6150 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
6151
6152         verify: use _Static_assert if available
6153         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
6154         (verify_true, verify): Use it if available.  This generates better
6155         diagnostics with GCC 4.6.0 and later.
6156
6157 2011-04-05  Bruno Haible  <bruno@clisp.org>
6158
6159         Remove leftover generated .h files after config.status changed.
6160
6161         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
6162         GL_GENERATE_ALLOCA_H.
6163         * modules/alloca-opt (Makefile.am): Remove alloca.h if
6164         GL_GENERATE_ALLOCA_H evaluates to false.
6165
6166         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
6167         GL_GENERATE_ARGZ_H.
6168         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
6169         evaluates to false.
6170
6171         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
6172         GL_GENERATE_BYTESWAP_H.
6173         * modules/byteswap (Makefile.am): Remove byteswap.h if
6174         GL_GENERATE_BYTESWAP_H evaluates to false.
6175
6176         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
6177         GL_GENERATE_ERRNO_H.
6178         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
6179         evaluates to false.
6180
6181         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
6182         GL_GENERATE_FLOAT_H.
6183         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
6184         evaluates to false.
6185
6186         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
6187         GL_GENERATE_FNMATCH_H.
6188         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
6189         GL_GENERATE_FNMATCH_H evaluates to false.
6190
6191         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
6192         GL_GENERATE_GLOB_H.
6193         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
6194         evaluates to false.
6195
6196         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
6197         automake conditional GL_GENERATE_ICONV_H.
6198         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
6199         evaluates to false.
6200
6201         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
6202         GL_GENERATE_NETINET_IN_H.
6203         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
6204         GL_GENERATE_NETINET_IN_H evaluates to false.
6205
6206         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
6207         conditional GL_GENERATE_PTHREAD_H.
6208         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
6209         * modules/pthread (Makefile.am): Remove pthread.h if
6210         GL_GENERATE_PTHREAD_H evaluates to false.
6211
6212         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
6213         GL_GENERATE_SCHED_H.
6214         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
6215         evaluates to false.
6216
6217         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
6218         conditional GL_GENERATE_SELINUX_CONTEXT_H.
6219         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
6220         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
6221
6222         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
6223         GL_GENERATE_STDARG_H.
6224         * modules/stdarg (Makefile.am): Remove stdarg.h if
6225         GL_GENERATE_STDARG_H evaluates to false.
6226
6227         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
6228         GL_GENERATE_STDBOOL_H.
6229         * modules/stdbool (Makefile.am): Remove stdbool.h if
6230         GL_GENERATE_STDBOOL_H evaluates to false.
6231
6232         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
6233         conditional GL_GENERATE_STDDEF_H.
6234         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
6235         * modules/stddef (Makefile.am): Remove stddef.h if
6236         GL_GENERATE_STDDEF_H evaluates to false.
6237
6238         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
6239         GL_GENERATE_STDINT_H.
6240         * modules/stdint (Makefile.am): Remove stdint.h if
6241         GL_GENERATE_STDINT_H evaluates to false.
6242
6243         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
6244         GL_GENERATE_SYSEXITS_H.
6245         * modules/sysexits (Makefile.am): Remove sysexits.h if
6246         GL_GENERATE_SYSEXITS_H evaluates to false.
6247
6248         Reported by Karl Berry and Ralf Wildenhues.
6249
6250 2011-04-05  Bruno Haible  <bruno@clisp.org>
6251
6252         Ensure to rebuild generated .h files when config.status has changed.
6253         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
6254         config.status.
6255         * modules/ctype (Makefile.am): Likewise.
6256         * modules/dirent (Makefile.am): Likewise.
6257         * modules/errno (Makefile.am): Likewise.
6258         * modules/fcntl-h (Makefile.am): Likewise.
6259         * modules/float (Makefile.am): Likewise.
6260         * modules/getopt-posix (Makefile.am): Likewise.
6261         * modules/glob (Makefile.am): Likewise.
6262         * modules/iconv-h (Makefile.am): Likewise.
6263         * modules/inttypes (Makefile.am): Likewise.
6264         * modules/langinfo (Makefile.am): Likewise.
6265         * modules/locale (Makefile.am): Likewise.
6266         * modules/math (Makefile.am): Likewise.
6267         * modules/netdb (Makefile.am): Likewise.
6268         * modules/netinet_in (Makefile.am): Likewise.
6269         * modules/poll-h (Makefile.am): Likewise.
6270         * modules/pthread (Makefile.am): Likewise.
6271         * modules/pty (Makefile.am): Likewise.
6272         * modules/sched (Makefile.am): Likewise.
6273         * modules/search (Makefile.am): Likewise.
6274         * modules/selinux-h (Makefile.am): Likewise.
6275         * modules/signal (Makefile.am): Likewise.
6276         * modules/spawn (Makefile.am): Likewise.
6277         * modules/stdarg (Makefile.am): Likewise.
6278         * modules/stdbool (Makefile.am): Likewise.
6279         * modules/stddef (Makefile.am): Likewise.
6280         * modules/stdint (Makefile.am): Likewise.
6281         * modules/stdio (Makefile.am): Likewise.
6282         * modules/stdlib (Makefile.am): Likewise.
6283         * modules/string (Makefile.am): Likewise.
6284         * modules/strings (Makefile.am): Likewise.
6285         * modules/sys_file (Makefile.am): Likewise.
6286         * modules/sys_ioctl (Makefile.am): Likewise.
6287         * modules/sys_select (Makefile.am): Likewise.
6288         * modules/sys_socket (Makefile.am): Likewise.
6289         * modules/sys_stat (Makefile.am): Likewise.
6290         * modules/sys_time (Makefile.am): Likewise.
6291         * modules/sys_times (Makefile.am): Likewise.
6292         * modules/sys_utsname (Makefile.am): Likewise.
6293         * modules/sys_wait (Makefile.am): Likewise.
6294         * modules/sysexits (Makefile.am): Likewise.
6295         * modules/termios (Makefile.am): Likewise.
6296         * modules/time (Makefile.am): Likewise.
6297         * modules/unistd (Makefile.am): Likewise.
6298         * modules/wchar (Makefile.am): Likewise.
6299         * modules/wctype-h (Makefile.am): Likewise.
6300         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
6301
6302 2011-04-05  Bruno Haible  <bruno@clisp.org>
6303
6304         pipe2: Relicense under LGPLv2+.
6305         * modules/pipe2 (License): Change to LGPLv2+.
6306         Requested by Eric Blake, for libvirt.
6307
6308 2011-04-05  Bruce Korb  <bkorb@gnu.org>
6309
6310         bootstrap: compute gnulib_extra_files after updating build_aux
6311         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
6312         change build_aux or also supply gnulib_extra_files.  Handle correctly.
6313
6314 2011-04-05  Eric Blake  <eblake@redhat.com>
6315
6316         bootstrap: preserve git whitelist item sorting
6317         * build-aux/bootstrap (sort_patterns): New function.
6318         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
6319
6320 2011-04-05  Simon Josefsson  <simon@josefsson.org>
6321
6322         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
6323         sc_space_tab check.
6324
6325 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
6326
6327         areadlink, areadlinkat: rewrite in terms of careadlinkat
6328         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
6329         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
6330         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
6331         (malloc, realloc): Remove #undefs.
6332         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
6333         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
6334         readlink, ssize_t, stdint, unistd.
6335         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
6336         areadlink, stdint.
6337
6338         careadlinkat: new module
6339         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
6340         * modules/careadlinkat: New files, written by me with
6341         a review and feedback from Ben Pfaff in
6342         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
6343
6344 2011-04-01  Bruno Haible  <bruno@clisp.org>
6345
6346         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
6347         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
6348         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
6349         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
6350         Reported by Bruce Korb <bruce.korb@gmail.com>.
6351
6352 2011-04-01  Bruno Haible  <bruno@clisp.org>
6353
6354         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
6355         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
6356         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
6357         * modules/wcpcpy (Depends-on): Add extensions.
6358         * modules/wcpncpy (Depends-on): Likewise.
6359         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
6360         systems.
6361         * doc/posix-functions/wcpncpy.texi: Likewise.
6362         * doc/posix-functions/wcwidth.texi: Likewise.
6363
6364 2011-03-31  Eric Blake  <eblake@redhat.com>
6365
6366         nonblocking: fix mingw test failures
6367         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
6368         non-blocking flag on regular file.
6369         (get_nonblocking_flag): Set errno on invalid fd.
6370         * tests/test-nonblocking.c (main): Avoid test failure on
6371         directories if fchdir is not active.
6372         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
6373
6374 2011-03-31  Bruno Haible  <bruno@clisp.org>
6375
6376         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
6377         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
6378         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
6379         Reported by Simon Josefsson <simon@josefsson.org>.
6380
6381 2011-03-31  Bruno Haible  <bruno@clisp.org>
6382         and Eric Blake  <eblake@redhat.com>
6383
6384         nonblocking: new module
6385         * modules/nonblocking: New module.
6386         * modules/nonblocking-tests: Likewise.
6387         * lib/nonblocking.h: New file.
6388         * lib/nonblocking.c: Likewise.
6389         * tests/test-nonblocking.c: New test.
6390         * lib/ioctl.c (ioctl) [mingw]: Update comment.
6391
6392 2011-03-30  Bruno Haible  <bruno@clisp.org>
6393
6394         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
6395         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
6396         instead of 'printf' format for GCC >= 4.4.
6397         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
6398         (fprintf, printf, vfprintf, vprintf): Declare with
6399         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
6400         the system's vfprintf() function.
6401         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
6402
6403 2011-03-30  Eric Blake  <eblake@redhat.com>
6404
6405         passfd: fix scoping bug
6406         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
6407         before sendmsg/recvmsg.
6408
6409         passfd: standardize coding conventions
6410         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
6411         can be learned at compile time.
6412         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
6413         ifdefs.
6414         (sendfd, recvfd): Follow gnulib code conventions.
6415
6416         passfd: fix incorrect sendmsg arguments
6417         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
6418         incorrect msg_controllen value.
6419         * modules/passfd-tests (Depends-on): Check for alarm.
6420         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
6421         Reported by Bastien ROUCARIES.
6422
6423 2011-03-30  Bruno Haible  <bruno@clisp.org>
6424
6425         c-strcasestr: Relicense under LGPLv2+.
6426         * modules/c-strcasestr (License): Change to LGPLv2+.
6427         Requested by Eric Blake, for libvirt.
6428
6429 2011-03-30  Simon Josefsson  <simon@josefsson.org>
6430
6431         * users.txt: Add libidn2.  Fix libtasn1 link.
6432
6433 2011-03-30  Jim Meyering  <meyering@redhat.com>
6434
6435         tests: readlink* ("",... fails with EINVAL on newer kernels
6436         readlink and readlinkat have typically failed with ENOENT for
6437         the invalid, empty file name,  "".  However, with the advent
6438         of linux-2.6.39, they fail with EINVAL.
6439         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
6440         when operating on the empty file name.
6441         * tests/test-readlink.h (test_readlink): Likewise.
6442
6443 2011-03-29  Bruno Haible  <bruno@clisp.org>
6444
6445         Relicense some modules under LGPLv2+, for libidn2.
6446         * modules/array-mergesort (License): Change to LGPLv2+.
6447         * modules/c-strcaseeq (License): Likewise.
6448         * modules/striconveh (License): Likewise.
6449         * modules/striconveha (License): Likewise.
6450         * modules/uniconv/base (License): Likewise.
6451         * modules/uniconv/u8-conv-from-enc (License): Likewise.
6452         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
6453         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
6454         * modules/unictype/base (License): Likewise.
6455         * modules/unictype/bidiclass-of (License): Likewise.
6456         * modules/unictype/category-M (License): Likewise.
6457         * modules/unictype/category-none (License): Likewise.
6458         * modules/unictype/category-of (License): Likewise.
6459         * modules/unictype/category-test (License): Likewise.
6460         * modules/unictype/category-test-withtable (License): Likewise.
6461         * modules/unictype/combining-class (License): Likewise.
6462         * modules/unictype/joiningtype-of (License): Likewise.
6463         * modules/unictype/scripts (License): Likewise.
6464         * modules/uninorm/base (License): Likewise.
6465         * modules/uninorm/canonical-decomposition (License): Likewise.
6466         * modules/uninorm/composition (License): Likewise.
6467         * modules/uninorm/decompose-internal (License): Likewise.
6468         * modules/uninorm/decomposition-table (License): Likewise.
6469         * modules/uninorm/nfc (License): Likewise.
6470         * modules/uninorm/nfd (License): Likewise.
6471         * modules/uninorm/u32-normalize (License): Likewise.
6472         * modules/unistr/base (License): Likewise.
6473         * modules/unistr/u32-cpy (License): Likewise.
6474         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
6475         * modules/unistr/u32-to-u8 (License): Likewise.
6476         * modules/unistr/u32-uctomb (License): Likewise.
6477         * modules/unistr/u8-check (License): Likewise.
6478         * modules/unistr/u8-mblen (License): Likewise.
6479         * modules/unistr/u8-mbtouc (License): Likewise.
6480         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
6481         * modules/unistr/u8-mbtoucr (License): Likewise.
6482         * modules/unistr/u8-prev (License): Likewise.
6483         * modules/unistr/u8-strlen (License): Likewise.
6484         * modules/unistr/u8-to-u32 (License): Likewise.
6485         * modules/unistr/u8-uctomb (License): Likewise.
6486         * modules/unitypes (License): Likewise.
6487         Requested by Simon Josefsson.
6488
6489 2011-03-29  Simon Josefsson  <simon@josefsson.org>
6490
6491         lib-symbol-visibility: Add a notice.
6492         * modules/lib-symbol-visibility (Notice): New field.
6493
6494 2011-03-29  Bruno Haible  <bruno@clisp.org>
6495
6496         getaddrinfo: Doc fix.
6497         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
6498         section "fixed in Gnulib".
6499
6500 2011-03-28  Simon Josefsson  <simon@josefsson.org>
6501
6502         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
6503         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
6504
6505 2011-03-26  Bruno Haible  <bruno@clisp.org>
6506
6507         unictype/property-byname: Reduce the number of load-time relocations.
6508         * lib/unictype/pr_byname.c: Include <stdlib.h>.
6509         (UC_PROPERTY_INDEX_*): New enumeration values.
6510         (uc_property_byname): Convert an index from the lookup table to an
6511         uc_property_t.
6512         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
6513         values.
6514
6515 2011-03-26  Bruno Haible  <bruno@clisp.org>
6516
6517         unictype/property-byname: Allow omitted word separators and aliases.
6518         * lib/unictype/pr_byname.gperf: Add property names without word
6519         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
6520         for 'space'.
6521
6522 2011-03-26  Bruno Haible  <bruno@clisp.org>
6523
6524         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
6525         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
6526         also hyphens to space.
6527         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
6528         without spaces.
6529         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
6530
6531 2011-03-26  Bruno Haible  <bruno@clisp.org>
6532
6533         unictype/joiningtype-byname: Recognize long names as well.
6534         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
6535         a long name.
6536         * lib/unictype/joiningtype_byname.c: Include <string.h>,
6537         unictype/joiningtype_byname.h.
6538         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
6539         * lib/unictype/joiningtype_byname.gperf: New file.
6540         * modules/unictype/joiningtype-byname (Files): Add
6541         lib/unictype/joiningtype_byname.gperf.
6542         (Depends-on): Add gperf.
6543         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
6544         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
6545         long names.
6546
6547         Tests for module 'unictype/joiningtype-longname'.
6548         * modules/unictype/joiningtype-longname-tests: New file.
6549         * tests/unictype/test-joiningtype_longname.c: New file.
6550
6551         New module 'unictype/joiningtype-longname'.
6552         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
6553         * lib/unictype/joiningtype_longname.c: New file.
6554         * modules/unictype/joiningtype-longname: New file.
6555         * modules/unictype/joiningtype-all (Depends-on): Add
6556         unictype/joiningtype-longname.
6557
6558 2011-03-26  Bruno Haible  <bruno@clisp.org>
6559
6560         unictype/bidiclass-byname: Recognize long names as well.
6561         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
6562         name.
6563         * lib/unictype/bidi_byname.c: Include <string.h>,
6564         unictype/bidi_byname.h.
6565         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
6566         * lib/unictype/bidi_byname.gperf: New file.
6567         * modules/unictype/bidiclass-byname (Files): Add
6568         lib/unictype/bidi_byname.gperf.
6569         (Depends-on): Add gperf.
6570         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
6571         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
6572         long names.
6573
6574         Tests for module 'unictype/bidiclass-longname'.
6575         * modules/unictype/bidiclass-longname-tests: New file.
6576         * tests/unictype/test-bidi_longname.c: New file.
6577
6578         New module 'unictype/bidiclass-longname'.
6579         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
6580         * lib/unictype/bidi_longname.c: New file.
6581         * modules/unictype/bidiclass-longname: New file.
6582         * modules/unictype/bidiclass-all (Depends-on): Add
6583         unictype/bidiclass-longname.
6584
6585 2011-03-26  Bruno Haible  <bruno@clisp.org>
6586
6587         unictype/bidi*: Rename modules.
6588         * modules/unictype/bidiclass-all: Renamed from
6589         modules/unictype/bidicategory-all.
6590         * modules/unictype/bidiclass-name: Renamed from
6591         modules/unictype/bidiclass-name.
6592         (Description): Update.
6593         * modules/unictype/bidiclass-name-tests: Renamed from
6594         modules/unictype/bidicategory-name-tests.
6595         * modules/unictype/bidiclass-byname: Renamed from
6596         modules/unictype/bidicategory-byname.
6597         (Description): Update.
6598         * modules/unictype/bidiclass-byname-tests: Renamed from
6599         modules/unictype/bidicategory-byname-tests.
6600         * modules/unictype/bidiclass-of: Renamed from
6601         modules/unictype/bidicategory-of.
6602         (Description): Update.
6603         * modules/unictype/bidiclass-of-tests: Renamed from
6604         modules/unictype/bidicategory-of-tests.
6605         * modules/unictype/bidiclass-test: Renamed from
6606         modules/unictype/bidicategory-test.
6607         (Description): Update.
6608         * modules/unictype/bidiclass-test-tests: Renamed from
6609         modules/unictype/bidicategory-test-tests.
6610         * modules/unictype/bidicategory-all: New file, a simple redirection.
6611         * modules/unictype/bidicategory-name: Likewise.
6612         * modules/unictype/bidicategory-byname: Likewise.
6613         * modules/unictype/bidicategory-of: Likewise.
6614         * modules/unictype/bidicategory-test: Likewise.
6615         * modules/unictype/property-bidi-* (Dependencies): Update.
6616         * lib/unictype/bidi_*.c: Update comment.
6617
6618 2011-03-26  Bruno Haible  <bruno@clisp.org>
6619
6620         unictype/bidi*: Rename functions, part 2.
6621         * modules/unictype/bidicategory-name (configure.ac): Update required
6622         libunistring version.
6623         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
6624
6625 2011-03-25  Bruno Haible  <bruno@clisp.org>
6626
6627         New module 'unictype/combining-class-all'.
6628         * modules/unictype/combining-class-all: New file.
6629
6630         Tests for module 'unictype/combining-class-byname'.
6631         * modules/unictype/combining-class-byname-tests: New file.
6632         * tests/unictype/test-combiningclass_byname.c: New file.
6633
6634         New module 'unictype/combining-class-byname'.
6635         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
6636         * lib/unictype/combiningclass_byname.c: New file.
6637         * lib/unictype/combiningclass_byname.gperf: New file.
6638         * modules/unictype/combining-class-byname: New file.
6639
6640         Tests for module 'unictype/combining-class-longname'.
6641         * modules/unictype/combining-class-longname-tests: New file.
6642         * tests/unictype/test-combiningclass_longname.c: New file.
6643
6644         New module 'unictype/combining-class-longname'.
6645         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
6646         * lib/unictype/combiningclass_longname.c: New file.
6647         * modules/unictype/combining-class-longname: New file.
6648
6649         Tests for module 'unictype/combining-class-name'.
6650         * modules/unictype/combining-class-name-tests: New file.
6651         * tests/unictype/test-combiningclass_name.c: New file.
6652
6653         New module 'unictype/combining-class-name'.
6654         * lib/unictype.in.h (uc_combining_class_name): New declaration.
6655         * lib/unictype/combiningclass_name.c: New file.
6656         * modules/unictype/combining-class-name: New file.
6657
6658 2011-03-25  Bruno Haible  <bruno@clisp.org>
6659
6660         unictype/combining-class: Rename source files.
6661         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
6662         of unictype/combining.h.
6663         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
6664         Update.
6665         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
6666         * modules/unictype/combining-class (Description): Fix.
6667         (Files, Makefile.am): Update.
6668         * tests/unictype/test-combiningclass.c: Renamed from
6669         tests/unictype/test-combining.c.
6670         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
6671
6672 2011-03-25  Bruno Haible  <bruno@clisp.org>
6673
6674         unictype: Update list of canonical combining classes.
6675         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
6676
6677 2011-03-25  Bruno Haible  <bruno@clisp.org>
6678
6679         unictype/category-byname: Recognize long names as well.
6680         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
6681         a long name.
6682         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
6683         unictype/categ_byname.h.
6684         (UC_CATEGORY_INDEX_*): New enumeration values.
6685         (uc_general_category_byname): Use uc_general_category_lookup and
6686         convert from index to value.
6687         * lib/unictype/categ_byname.gperf: New file.
6688         * modules/unictype/category-byname (Files): Add
6689         lib/unictype/categ_byname.gperf.
6690         (Depends-on): Add gperf.
6691         (Makefile.am): Add rule for generating unictype/categ_byname.h.
6692         * tests/unictype/test-categ_byname.c (main): Test the recognition of
6693         long names.
6694
6695         Tests for module 'unictype/category-longname'.
6696         * modules/unictype/category-longname-tests: New file.
6697         * tests/unictype/test-categ_longname.c: New file.
6698
6699         New module 'unictype/category-longname'.
6700         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
6701         * lib/unictype/categ_longname.c: New file.
6702         * modules/unictype/category-longname: New file.
6703         * modules/unictype/category-all (Depends-on): Add it.
6704
6705 2011-03-25  Bruno Haible  <bruno@clisp.org>
6706
6707         Tests for module 'unictype/category-LC'.
6708         * modules/unictype/category-LC-tests: New file.
6709         * tests/unictype/test-categ_LC.c: New file, automatically generated.
6710
6711         New module 'unictype/category-LC'.
6712         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
6713         (UC_CATEGORY_LC): New declaration.
6714         (UC_CASED_LETTER): New macro.
6715         * lib/gen-uni-tables.c (is_category_LC): New function.
6716         (output_categories): Also handle category LC.
6717         (UC_CATEGORY_MASK_LC): New enumeration value.
6718         (general_category_byname): Also handle category LC.
6719         * lib/unictype/categ_LC.c: New file.
6720         * lib/unictype/categ_LC.h: New file, automatically generated.
6721         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
6722         category LC.
6723         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
6724         * modules/unictype/category-LC: New file.
6725         * modules/unictype/category-byname (Depends-on): Add
6726         unictype/category-LC.
6727         * modules/unictype/category-all (Depends-on): Likewise.
6728
6729 2011-03-25  Eric Blake  <eblake@redhat.com>
6730
6731         xmalloc: revert yesterday's regression
6732         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
6733         realloc's underlying behavior (allowing allocation of zero-size
6734         objects, especially if malloc-gnu is also in use).
6735
6736 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
6737
6738         maint.mk: add missing version to VC-tag
6739         * top/maint.mk: git tag was missing actual tag name; add it.
6740
6741         valgrind: do leak checking, and exit with code 1 on error (not 0)
6742         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
6743         to VALGRIND.
6744
6745 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
6746
6747         posix-modules: say what it does.
6748         * posix-modules: Add a line to the --help output saying what it does.
6749
6750 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
6751
6752         xmalloc: Do not leak if underlying realloc is C99 compatible.
6753         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
6754         This avoids a leak on C99-based systems.  See
6755         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
6756
6757 2011-03-24  Eric Blake  <eblake@redhat.com>
6758
6759         realloc: document portability problem
6760         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
6761         passing 0 size to realloc.
6762
6763 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
6764
6765         doc: update users.txt
6766         * users.txt: Add cvsps, tmpwatch
6767
6768 2011-03-23  Matt Rice  <ratmice@gmail.com>
6769
6770         doc: update users.txt
6771         * users.txt: Add gdb.
6772
6773 2011-03-23  Jim Meyering  <meyering@redhat.com>
6774
6775         doc: update users.txt
6776         Looking through matches up to the following URL (there are still
6777         several more pages), I found several projects that use gnulib:
6778         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
6779         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
6780         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
6781
6782 2011-03-22  Bruno Haible  <bruno@clisp.org>
6783
6784         unictype/bidi*: Rename functions.
6785         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
6786         uc_bidi_class, uc_is_bidi_class): New declarations.
6787         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
6788         uc_bidi_category_byname.
6789         (uc_bidi_category_byname): New function.
6790         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
6791         u_bidi_category_name.
6792         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
6793         (uc_bidi_category_name): New function.
6794         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
6795         uc_bidi_category.
6796         (uc_bidi_category): New function.
6797         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
6798         uc_is_bidi_category. Invoke uc_bidi_class.
6799         (uc_is_bidi_category): New function.
6800         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
6801         instead of uc_bidi_category_byname.
6802         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
6803         instead of uc_bidi_category_name.
6804         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
6805         uc_bidi_category.
6806         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
6807         instead of uc_is_bidi_category.
6808
6809 2011-03-21  Bruno Haible  <bruno@clisp.org>
6810
6811         New module 'unictype/joininggroup-all'.
6812         * modules/unictype/joininggroup-all: New file.
6813
6814         Tests for module 'unictype/joininggroup-of'.
6815         * modules/unictype/joininggroup-of-tests: New file.
6816         * tests/unictype/test-joininggroup_of.c: New file.
6817         * tests/unictype/test-joininggroup_of.h: New file, automatically
6818         generated by gen-uni-tables.
6819
6820         New module 'unictype/joininggroup-of'.
6821         * modules/unictype/joininggroup-of: New file.
6822         * lib/unictype/joininggroup_of.c: New file.
6823         * lib/unictype/joininggroup_of.h: New file, automatically generated by
6824         gen-uni-tables.
6825
6826         Tests for module 'unictype/joininggroup-byname'.
6827         * modules/unictype/joininggroup-byname-tests: New file.
6828         * tests/unictype/test-joininggroup_byname.c: New file.
6829
6830         New module 'unictype/joininggroup-byname'.
6831         * modules/unictype/joininggroup-byname: New file.
6832         * lib/unictype/joininggroup_byname.c: New file.
6833         * lib/unictype/joininggroup_byname.gperf: New file.
6834
6835         Tests for module 'unictype/joininggroup-name'.
6836         * modules/unictype/joininggroup-name-tests: New file.
6837         * tests/unictype/test-joininggroup_name.c: New file.
6838
6839         New module 'unictype/joininggroup-name'.
6840         * modules/unictype/joininggroup-name: New file.
6841         * lib/unictype/joininggroup_name.c: New file.
6842         * lib/unictype/joininggroup_name.h: New file.
6843
6844         New module 'unictype/joiningtype-all'.
6845         * modules/unictype/joiningtype-all: New file.
6846
6847         Tests for module 'unictype/joiningtype-of'.
6848         * modules/unictype/joiningtype-of-tests: New file.
6849         * tests/unictype/test-joiningtype_of.c: New file.
6850         * tests/unictype/test-joiningtype_of.h: New file, automatically
6851         generated by gen-uni-tables.
6852
6853         New module 'unictype/joiningtype-of'.
6854         * modules/unictype/joiningtype-of: New file.
6855         * lib/unictype/joiningtype_of.c: New file.
6856         * lib/unictype/joiningtype_of.h: New file, automatically generated by
6857         gen-uni-tables.
6858
6859         Tests for module 'unictype/joiningtype-byname'.
6860         * modules/unictype/joiningtype-byname-tests: New file.
6861         * tests/unictype/test-joiningtype_byname.c: New file.
6862
6863         New module 'unictype/joiningtype-byname'.
6864         * modules/unictype/joiningtype-byname: New file.
6865         * lib/unictype/joiningtype_byname.c: New file.
6866
6867         Tests for module 'unictype/joiningtype-name'.
6868         * modules/unictype/joiningtype-name-tests: New file.
6869         * tests/unictype/test-joiningtype_name.c: New file.
6870
6871         New module 'unictype/joiningtype-name'.
6872         * modules/unictype/joiningtype-name: New file.
6873         * lib/unictype/joiningtype_name.c: New file.
6874
6875         unictype: Add support for Arabic shaping properties.
6876         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
6877         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
6878         declarations.
6879         (UC_JOINING_GROUP_*): New enumeration values.
6880         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
6881         declarations.
6882         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
6883         (unicode_joining_type): New variable.
6884         (UC_JOINING_GROUP_*): New enumeration values.
6885         (unicode_joining_group): New variable.
6886         (fill_arabicshaping, joining_type_as_c_identifier,
6887         output_joining_type_test, output_joining_type,
6888         joining_group_as_c_identifier, output_joining_group_test,
6889         output_joining_group): New functions.
6890         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
6891         fill_arabicshaping and output_joining_type_test, output_joining_type,
6892         output_joining_group_test, output_joining_group.
6893         Reported by Simon Josefsson.
6894
6895 2011-03-21  Jim Meyering  <meyering@redhat.com>
6896
6897         strftime: fix a bug in yesterday's change
6898         * lib/strftime.c (add): Accommodate width's initial value of -1.
6899         Otherwise, nstrftime would copy uninitialized data into
6900         the result buffer.
6901
6902 2011-03-21  Jim Meyering  <meyering@redhat.com>
6903
6904         tests: add strftime-tests module
6905         * tests/test-strftime.c: New file.
6906         * modules/strftime-tests: New module.
6907
6908 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
6909
6910         strftime: don't assume a byte count fits in 'int'
6911         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
6912         found this problem by static analysis, using gcc -Wstrict-overflow
6913         (GCC 4.5.2, x86-64).  This reported an optimization that depended
6914         on an integer overflow having undefined behavior, but it turns out
6915         that the argument is a size, which might not fit in 'int' anyway,
6916
6917 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
6918
6919         stdio: don't require ignore_value around fwrite
6920
6921         This patch works around libc bug 11959
6922         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
6923         Without this patch, applications must often write
6924         ignore_value (fwrite (...)) even though the ignore_value is
6925         not helpful here.  It's common to write many objects, using
6926         fwrite/printf/etc., and then use ferror to detect output error.
6927
6928         I considered making this patch optional, but decided against it,
6929         because libc is obviously being inconsistent here: there is no
6930         reason libc should insist that user code must inspect fwrite
6931         return's value without also insisting that it inspect printf's,
6932         putchar's, etc.  If user code wants to have a strict style where
6933         all these functions' values are checked (so that ferror need not
6934         be checked), we could add support for that style in a new gnulib
6935         module, but in the meantime it's better to be consistent and to
6936         support common usage.
6937
6938         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
6939         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
6940         that we are compiling in checking mode, and if not C++, and
6941         if not already wrapping fwrite for some other reason.
6942         (fwrite): #define to rpl_fwrite if the latter is defined.
6943
6944 2011-03-20  Bruno Haible  <bruno@clisp.org>
6945
6946         verror: Fix compilation error introduced on 2011-02-13.
6947         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
6948         instead of __attribute__.
6949         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6950
6951 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
6952             Bruno Haible  <bruno@clisp.org>
6953
6954         socklen: do not depend on sys_socket
6955         While trying to modify Emacs to use gnulib's socklen module,
6956         I discovered a circular dependency: socklen depends on sys_socket
6957         and vice versa.  Emacs can use socklen, but it does not need
6958         sys_socket because it has its own substitute for sys/socket.h.
6959         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
6960         gl_TYPE_SOCKLEN_T.
6961         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
6962         gl_PREREQ_SYS_H_SOCKET.
6963         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
6964         gl_PREREQ_SYS_H_SOCKET.
6965         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
6966         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
6967         * modules/socklen (Depends-on): Do not depend on sys_socket.
6968         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
6969
6970 2011-03-20  Jim Meyering  <meyering@redhat.com>
6971
6972         maint.mk: sort file names *after* new transformation
6973         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
6974         prefix would have led to an unwarranted failure in GNU parted.
6975         Sort after that transformation.
6976
6977 2011-03-19  Jim Meyering  <meyering@redhat.com>
6978
6979         maint.mk: fix po-file syntax-check rule
6980         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
6981         Patch by Bruno Haible.
6982
6983 2011-03-19  Bruno Haible  <bruno@clisp.org>
6984
6985         socklen: Update comment.
6986         * m4/socklen.m4: Update comment about platforms.
6987
6988 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
6989             Bruno Haible  <bruno@clisp.org>
6990
6991         inet_ntop, inet_pton: Simplify.
6992         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
6993         documented to provide socklen_t and we already depend on sys_socket.
6994         * modules/inet_pton (Depends-on): Likewise.
6995         * lib/arpa_inet.in.h: Adjust comment.
6996
6997 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
6998             Bruno Haible  <bruno@clisp.org>
6999
7000         netdb: Simplify.
7001         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
7002         documented to provide socklen_t and we already depend on sys_socket.
7003         * lib/netdb.in.h: Adjust comment.
7004
7005 2011-03-19  Bruno Haible  <bruno@clisp.org>
7006
7007         sys_socket, netdb: Document problem with socklen_t.
7008         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
7009         platforms.
7010         * doc/posix-headers/netdb.texi: Likewise.
7011
7012 2011-03-18  Eric Blake  <eblake@redhat.com>
7013
7014         maint.mk: let po check work in VPATH build
7015         * top/maint.mk (po_file): Allow cfg.mk override.
7016         (sc_po_check): Allow VPATH use.
7017         Reported by Jiri Denemark.
7018
7019 2011-03-16  Jim Meyering  <meyering@redhat.com>
7020
7021         maint.mk: allow fine-grained syntax-check exclusion via Make variables
7022         Before, you would have had to create one .x-sc_ file per rule in order
7023         to exempt offending files.  Now, you may instead use a Make variable --
7024         usually defined in cfg.mk -- whose name identifies the affected rule.
7025         * top/maint.mk (_sc_excl): Define.
7026         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
7027         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
7028
7029 2011-03-13  Bruno Haible  <bruno@clisp.org>
7030
7031         ignore-value tests: Avoid warnings.
7032         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
7033         empty for gcc < 3.4.
7034
7035 2011-03-13  Bruno Haible  <bruno@clisp.org>
7036
7037         passfd: Fix link error on Solaris.
7038         * modules/passfd (Description): Correct.
7039         (Depends-on): Add socketlib.
7040         (Link): New section.
7041         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
7042
7043 2011-03-13  Bruno Haible  <bruno@clisp.org>
7044
7045         passfd: Fix link error on AIX 5.2.
7046         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
7047
7048 2011-03-13  Bruno Haible  <bruno@clisp.org>
7049
7050         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
7051         * lib/sys_socket.in.h: Include <stddef.h>.
7052         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
7053         CMSG_FIRSTHDR. Remove unused variable.
7054
7055 2011-03-13  Bruno Haible  <bruno@clisp.org>
7056
7057         passfd: Fix compilation error on OpenBSD.
7058         * lib/passfd.c: Include <sys/uio.h>.
7059
7060 2011-03-13  Bruno Haible  <bruno@clisp.org>
7061
7062         passfd test: Fix warnings.
7063         * tests/test-passfd.c: Include <sys/wait.h>.
7064         (main): Fix typo.
7065
7066 2011-03-13  Bruno Haible  <bruno@clisp.org>
7067
7068         passfd module, part 4, tweaks.
7069         * tests/test-passfd.c: Reorder includes.
7070         (main): Fix perror and printf calls.
7071
7072 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
7073
7074         passfd module, part 4.
7075         * modules/passfd-tests: New file.
7076         * tests/test-passfd.c: New file.
7077
7078 2011-03-13  Jim Meyering  <meyering@redhat.com>
7079
7080         Makefile: rely on GNU make; derive syntax-check rule names
7081         Rather than requiring that each sc_ rule be listed as a dependent
7082         of "check", use features of GNU make to derive the list.
7083         * Makefile (syntax-check-rules): Define.
7084         (check): Depend on the new variable, not the hard-coded list.
7085
7086 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
7087             Bruno Haible  <bruno@clisp.org>
7088
7089         passfd module, part 3.
7090         * lib/passfd.h (recvfd): Add a flags argument.
7091         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
7092         (recvfd): Add a flags argument.
7093         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
7094         exists.
7095         * modules/passfd (Depends-on): Add cloexec.
7096         Suggested by Eric Blake.
7097
7098 2011-03-13  Bruno Haible  <bruno@clisp.org>
7099
7100         passfd module, part 2, tweaks.
7101         * modules/passfd (Files): Reorder.
7102         (Depends-on): Remove errno.
7103         (Include): Remove <sys/socket.h>, <sys/un.h>.
7104         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
7105         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
7106         specification header. Include <sys/socket.h> always. Don't include
7107         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
7108         (sendfd): Clarify that it sets errno when it fails.
7109         (recvfd): Fix specification.
7110
7111 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
7112
7113         passfd module, part 2.
7114         * modules/passfd: New file.
7115         * lib/passfd.h: New file.
7116         * lib/passfd.c: New file.
7117
7118 2011-03-12  Bruno Haible  <bruno@clisp.org>
7119
7120         wcswidth, mbswidth: Avoid integer overflow.
7121         * lib/wcswidth.c: Include <limits.h>.
7122         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
7123         * lib/mbswidth.c: Include <limits.h>.
7124         (mbsnwidth): Avoid 'int' overflow.
7125         Reported by Jim Meyering.
7126
7127 2011-03-12  Bruno Haible  <bruno@clisp.org>
7128
7129         futimens, utimensat: Avoid endless recursion on Solaris 10.
7130         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
7131         Solaris.
7132         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
7133         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
7134
7135 2011-03-11  Jim Meyering  <meyering@redhat.com>
7136
7137         maint.mk: relax a regexp to accommodate other formatting styles
7138         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
7139         between "ngettext" and the following "(".
7140
7141 2011-03-11  Pádraig Brady <P@draigBrady.com>
7142
7143         maint.mk: suppress a false positive warning
7144         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
7145         diagnostics are marked with ngettext.
7146
7147 2011-03-10  Eric Blake  <eblake@redhat.com>
7148
7149         wchar: add explicit dependencies, for Tru64
7150         * modules/mbmemcasecoll (Depends-on): Add wchar.
7151         * modules/mbtowc (Depends-on): Likewise.
7152         * modules/vasnprintf (Depends-on): Likewise.
7153         * modules/unistdio/u-printf-args (Depends-on): Likewise.
7154         * modules/wctomb (Depends-on): Likewise.
7155         Reported by Peter O'Gorman.
7156
7157 2011-03-08  Bruno Haible  <bruno@clisp.org>
7158
7159         passfd module, part 1, tweaks.
7160         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
7161         Improve indentation. Improve AC_MSG_CHECKING messages.
7162         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
7163         gl_SOCKET_FAMILIES.
7164
7165 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
7166
7167         passfd module, part 1.
7168         * m4/afunix.m4: New file.
7169         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
7170         sockets.
7171
7172 2011-03-08  Bruno Haible  <bruno@clisp.org>
7173
7174         regex-quote: New API.
7175         * lib/regex-quote.h: Include <stdbool.h>.
7176         (struct regex_quote_spec): New type.
7177         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
7178         New declarations.
7179         (regex_quote_length, regex_quote_copy, regex_quote): Take a
7180         'const struct regex_quote_spec *' argument.
7181         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
7182         (pcre_special): New constant.
7183         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
7184         New functions.
7185         (regex_quote_length, regex_quote_copy, regex_quote): Take a
7186         'const struct regex_quote_spec *' argument.
7187         * modules/regex-quote (Depends-on): Add stdbool.
7188         * tests/test-regex-quote.c (check): Update for new API. Add test for
7189         anchored results.
7190         * NEWS: Mention the API change.
7191         Reported by Reuben Thomas and Eric Blake.
7192
7193 2011-03-06  Bruno Haible  <bruno@clisp.org>
7194
7195         regex-quote: Fix creation of POSIX extended regular expressions.
7196         * lib/regex-quote.c (ere_special): Add grouping and alternation
7197         operators.
7198
7199 2011-03-05  Bruno Haible  <bruno@clisp.org>
7200
7201         doc: Improve doc regarding autopoint vs. gnulib.
7202         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
7203         disable autopoint while running autoreconf.
7204         Suggested by Ralf Wildenhues.
7205
7206 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7207
7208         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
7209         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
7210
7211 2011-03-03  Bruce Korb  <bkorb@gnu.org>
7212
7213         parse-duration: remove xalloc.h dependency
7214         * lib/parse-duration.c (parse_period): handle NULL return from
7215         strdup instead of calling xstrdup().
7216         * modules/parse-duration: remove "xalloc" dependency
7217
7218 2011-03-03  Matthew Booth  <mbooth@redhat.com>
7219
7220         bootstrap: honor m4_base when running aclocal
7221         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
7222
7223 2011-03-02  Jim Meyering  <meyering@redhat.com>
7224
7225         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
7226         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
7227         on request from Matt Booth.
7228
7229 2011-03-01  Eric Blake  <eblake@redhat.com>
7230
7231         test-link: work on Hurd
7232         * tests/test-link.h (test_link): Hurd rejects linking directories
7233         with EISDIR instead of the POSIX-mandated EPERM.
7234
7235 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
7236
7237         stdio: simplify by moving files to printf-posix, sigpipe
7238         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
7239         since this symbol is needed only if printf is replaced.
7240         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
7241         Require gl_ASM_SYMBOL_PREFIX.
7242         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
7243         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
7244         (Depends-on): Add 'raise'.
7245         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
7246         * modules/stdio (Files): Remove lib/stdio-write.c,
7247         m4/asm-underscore.m4.
7248         (Depends-on): Remove 'raise'.
7249
7250         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
7251         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
7252         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
7253         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
7254
7255 2011-02-28  Bruno Haible  <bruno@clisp.org>
7256
7257         localcharset: Assume ANSI C behaviour of free().
7258         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
7259         calling free().
7260         Suggested by Simon Josefsson <simon@josefsson.org>.
7261
7262 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
7263             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
7264             Bruno Haible  <bruno@clisp.org>  (tiny change)
7265
7266         On Cygwin, use /proc file system instead of win32 API.
7267         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
7268         Win32 file names.
7269         (DllMain): Simplify by removing Cygwin specific code.
7270         (find_shared_library_fullname): Use Linux specific implementation also
7271         for Cygwin.
7272         (get_shared_library_fullname): Update accordingly.
7273         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
7274         Win32 file names.
7275         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
7276         Cygwin specific code.
7277
7278 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
7279             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
7280
7281         Fix OpenMP flag detection for various Fortran compilers.
7282         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
7283         OpenMP-conditional compilation construct, to force compile
7284         failure with missing OpenMP flag.
7285         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
7286
7287 2011-02-25  Eric Blake  <eblake@redhat.com>
7288
7289         strstr: expand test coverage
7290         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
7291         compilation.
7292         * tests/test-memmem.c (main): Duplicate tests.
7293         * tests/test-strcasestr.c (main): Likewise.
7294         * tests/test-c-strcasestr.c (main): Likewise.
7295
7296 2011-02-25  Jim Meyering  <meyering@redhat.com>
7297
7298         maint.mk: detect missing-NL-at-EOF, too
7299         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
7300         it also detects when a file lacks a newline at EOF.
7301         (require_exactly_one_NL_at_EOF_): Renamed from
7302         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
7303         since people may well have .x-sc_... file names tied to the
7304         existing name.  Suggested by Eric Blake.
7305
7306 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
7307
7308         dirname: move m4/dos.m4 functionality into lib/dosname.h
7309
7310         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
7311         extracts symbols from it, puts them into config.h; but it's much
7312         easier to use the symbols directly.  filename.h already does this,
7313         but it disagrees with dos.m4 in some respects.  This patch
7314         introduces a different include file dosname.h that packages up
7315         dos.m4, and then later we can work on merging filename.h and
7316         dosname.h.  Applications that need only the easy-to-configure
7317         symbols should consider including dosname.h rather than dirname.h.
7318         * NEWS: Mention incompatible changes.
7319         * m4/dos.m4: Remove.
7320         * lib/dosname.h, modules/dosname: New files.
7321         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
7322         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
7323         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
7324         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
7325         Include dosname.h, not dirname.h.
7326         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
7327         Include dosname.h, for definitions of symbols like ISSLASH
7328         that used to be in config.h.
7329         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
7330         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
7331         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
7332         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
7333         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
7334         * modules/rmdir (Files): Likewise.
7335         * modules/stat (Files): Likewise.
7336         * modules/unlink (Files): Likewise.
7337         * modules/dirname-lgpl (Depends-on): Add dosname.
7338         * modules/lstat (Depends-on): Likewise.
7339         * modules/openat (Depends-on): Likewise.
7340         * modules/rmdir (Depends-on): Likewise.
7341         * modules/savewd (Depends-on): Likewise.
7342         * modules/stat (Depends-on): Likewise.
7343         * modules/unlink (Depends-on): Likewise.
7344         * modules/openat (Depends-on): Remove dirname-lgpl.
7345         * modules/savewd (Depends-on): Likewise.
7346         * tests/test-dirname.c: Do not use removed symbols like
7347         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
7348         the remaining symbols, e.g., ISSLASH ('\\').
7349
7350 2011-02-25  Eric Blake  <eblake@redhat.com>
7351
7352         strstr: revert patches that introduced bug and pessimization
7353         * lib/str-two-way.h: Add another reference.
7354         (two_way_short_needle, two_way_long_needle): Revert changes from
7355         2011-02-24; they pessimize search speed.
7356         (critical_factorization): Partially revert changes from
7357         2010-06-22; they violate the requirement that the left half of the
7358         needle be smaller than the period of the needle.
7359
7360 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
7361
7362         filenamecat: remove unnecessary dependency on dirname-lgpl
7363         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
7364         is no direct dependency, just an indirect one via filenamecat-lgpl.
7365
7366         remove: remove unnecessary use of m4/dos.m4
7367         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
7368         * modules/remove (FILES): Remove m4/dos.m4.
7369
7370         * lib/openat-proc.c: Don't include dirname.h; not needed.
7371
7372         backupfile: remove unnecessary use of m4/dos.m4
7373         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
7374         of its symbols are used by the backupfile code.  backupfile.c does
7375         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
7376         for the rare case of programs that want all their backup file
7377         names to live within 8+3 limits, and dos.m4 doesn't address that.
7378         * modules/backupfile (Files): Remove m4/dos.m4.
7379
7380 2011-02-24  Jim Meyering  <meyering@redhat.com>
7381
7382         strstr: fix a bug whereby strstr would mistakenly return NULL
7383         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
7384         in period calculation.
7385         (two_way_long_needle): Likewise.
7386         The original problem was reported by Mike Stump in
7387         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
7388         Ralf Wildenhues provided the short needle and haystack.
7389         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
7390         Add a more involved test to trigger the bug in two_way_long_needle.
7391
7392 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
7393
7394         gnulib-tool: remove use of bold display in help screen
7395         * gnulib-tool (func_usage): Do not use bold display anymore in the
7396         help screen.  That was just meant to be a temporary emphasis for a
7397         backward-incompatible change.
7398
7399 2011-02-23  Bruno Haible  <bruno@clisp.org>
7400
7401         Fix misindentation of preprocessor directives.
7402         * lib/argp-namefrob.h: Reindent preprocessor directives.
7403         * lib/getopt_int.h (struct _getopt_data): Likewise.
7404         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
7405         * lib/vasnprintf.c (decode_long_double): Likewise.
7406         * tests/test-argmatch.c: Insert blank lines, for clarity.
7407         * tests/test-exclude.c: Likewise.
7408
7409 2011-02-22  Bruno Haible  <bruno@clisp.org>
7410
7411         ioctl: Fix for MacOS X in 64-bit mode.
7412         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
7413         value.
7414         Suggested by Eric Blake.
7415         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
7416
7417 2011-02-22  Jim Meyering  <meyering@redhat.com>
7418
7419         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
7420         * Makefile (sc_cpp_indent_check): Don't limit the check to files
7421         in lib/.
7422
7423 2011-02-22  Eric Blake  <eblake@redhat.com>
7424
7425         maint: avoid any CDPATH issue
7426         * Makefile (sc_cpp_indent_check): Anchor cd argument.
7427
7428         maint: adjust cpp indentation for my modules, as well
7429         * Makefile (sc_cpp_indent_check): Add my name.
7430         * lib/fbufmode.c: Filter through cppi.
7431         * lib/fpurge.c: Likewise.
7432         * lib/freadable.c: Likewise.
7433         * lib/freading.c: Likewise.
7434         * lib/fwritable.c: Likewise.
7435         * lib/fwriting.c: Likewise.
7436         * lib/sigaction.c: Likewise.
7437
7438 2011-02-22  Jim Meyering  <meyering@redhat.com>
7439
7440         maint: adjust cpp indentation to reflect nesting depth
7441         I.e., in a block of code that begins with an unnested "#if",
7442         put one space between the "#" in column 1 and following token.
7443         For example,
7444         -#include <sys/vfs.h>
7445         +# include <sys/vfs.h>
7446         Do this only in .c files that are part of a module I maintain.
7447         * lib/linkat.c: Filter through cppi.
7448         * lib/nanosleep.c: Likewise.
7449         * lib/openat.c: Likewise.
7450         * lib/openat-die.c: Likewise.
7451         * lib/dup3.c: Likewise.
7452         * lib/fchownat.c: Likewise.
7453         * lib/flock.c: Likewise.
7454         * lib/fsync.c: Likewise.
7455         * lib/fts.c: Likewise.
7456         * lib/getpass.c: Likewise.
7457         * lib/gettimeofday.c: Likewise.
7458         * lib/userspec.c: Likewise.
7459         * Makefile (sc_cpp_indent_check): New rule, to check this.
7460
7461 2011-02-22  Bruno Haible  <bruno@clisp.org>
7462
7463         New module 'wctomb'.
7464         * lib/stdlib.in.h (wctomb): New declaration.
7465         * lib/wctomb.c: New file.
7466         * lib/wctomb-impl.h: New file.
7467         * m4/wctomb.m4: New file.
7468         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
7469         REPLACE_WCTOMB.
7470         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
7471         REPLACE_WCTOMB.
7472         * modules/wctomb: New file.
7473         * tests/test-stdlib-c++.cc: Test signature of wctomb.
7474         * doc/posix-functions/wctomb.texi: Mention the new module.
7475         * modules/wctob (Depends-on): Add wctomb.
7476
7477 2011-02-22  Bruno Haible  <bruno@clisp.org>
7478
7479         New module 'mbtowc'.
7480         * lib/stdlib.in.h (mbtowc): New declaration.
7481         * lib/mbtowc.c: New file.
7482         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
7483         * m4/mbtowc.m4: New file.
7484         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
7485         REPLACE_MBTOWC.
7486         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
7487         REPLACE_MBTOWC.
7488         * modules/mbtowc: New file.
7489         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
7490         * doc/posix-functions/mbtowc.texi: Mention the new module.
7491         * modules/btowc (Depends-on): Add mbtowc.
7492
7493 2011-02-22  Bruno Haible  <bruno@clisp.org>
7494
7495         wcrtomb: Add more tests for native Windows platforms.
7496         * tests/test-wcrtomb-w32-1.sh: New file.
7497         * tests/test-wcrtomb-w32-2.sh: New file.
7498         * tests/test-wcrtomb-w32-3.sh: New file.
7499         * tests/test-wcrtomb-w32-4.sh: New file.
7500         * tests/test-wcrtomb-w32-5.sh: New file.
7501         * tests/test-wcrtomb-w32.c: New file.
7502         * modules/wcrtomb-tests (Files): Add them.
7503         (Makefile.am): Arrange to run these tests.
7504         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
7505         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
7506
7507 2011-02-20  Bruno Haible  <bruno@clisp.org>
7508
7509         wcrtomb: Enhance test.
7510         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
7511
7512 2011-02-20  Bruno Haible  <bruno@clisp.org>
7513
7514         mbrtowc: Tiny optimization.
7515         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
7516
7517 2011-02-20  Jim Meyering  <meyering@redhat.com>
7518
7519         test-exclude.c: remove unmatched #endif
7520         * tests/test-exclude.c: Remove stray #endif, left over from
7521         the change of a week ago.
7522
7523 2011-02-19  Jim Meyering  <meyering@redhat.com>
7524
7525         git-version-gen: skip "-dirty" check when appropriate
7526         * build-aux/git-version-gen: Don't run any git commands when the
7527         version string comes from .tarball-version.  Prior to this, we
7528         would run git update-index --refresh even from a just-unpacked
7529         tarball directory, and that could affect a .git/ directory in a
7530         parent of the build directory.  Reported by Mike Frysinger.
7531
7532 2011-02-19  Bruno Haible  <bruno@clisp.org>
7533
7534         unictype/property-byname: Reduce the size of the 'data' segment.
7535         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
7536
7537 2011-02-19  Bruno Haible  <bruno@clisp.org>
7538
7539         unictype/scripts: Reduce the size of the 'data' segment.
7540         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
7541         '%pic'.
7542         * lib/unictype/scripts_byname.gperf: Regenerated.
7543
7544 2011-02-19  Bruno Haible  <bruno@clisp.org>
7545
7546         stdint: Update documentation.
7547         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
7548
7549 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
7550
7551         stdint: omit redundant check for wchar.h
7552         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
7553         always tests whether wchar.h exists, so remove the now-redundant test.
7554
7555 2011-02-18  Bruno Haible  <bruno@clisp.org>
7556
7557         stdint: Cut dependency to module 'wchar'.
7558         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
7559         include the necessary prerequisites.
7560         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
7561         * modules/stdint (Depends-on): Remove wchar.
7562         (Makefile.am): Substitute HAVE_WCHAR_H.
7563         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
7564
7565 2011-02-18  Eric Blake  <eblake@redhat.com>
7566
7567         longlong: skip, rather than fail, on cross-compilation
7568         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
7569         when cross-compiling; regression from 2011-02-16.
7570
7571 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
7572
7573         * NEWS: Mention 2011-02-08 change to stdlib.
7574
7575 2011-02-17  Bruno Haible  <bruno@clisp.org>
7576
7577         getloadavg: Add comments about platforms.
7578         * m4/getloadavg.m4: Add comment.
7579         * lib/getloadavg.c: Likewise.
7580
7581 2011-02-17  Bruno Haible  <bruno@clisp.org>
7582
7583         getloadavg: Fix link error on Solaris 2.6.
7584         * modules/getloadavg (Link): New section.
7585         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
7586         linking test-getloadavg.
7587         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
7588         getloadavg.
7589
7590 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
7591
7592         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
7593         It was 'int', but this doesn't match the IRIX 6.5 manual.
7594         Suggested by Bruno Haible in
7595         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
7596
7597 2011-02-17  Bruno Haible  <bruno@clisp.org>
7598
7599         havelib: Fix comments.
7600         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
7601         change.
7602
7603 2011-02-17  Bruno Haible  <bruno@clisp.org>
7604
7605         havelib: Update config.rpath.
7606         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
7607
7608 2011-02-17  Bruno Haible  <bruno@clisp.org>
7609
7610         getloadavg test: Add some plausibility checks.
7611         * tests/test-getloadavg.c (check_avg): Print a warning when the value
7612         is improbable.
7613
7614 2011-02-16  Eric Blake  <eblake@redhat.com>
7615
7616         maintainer-makefile: make syntax-check a no-op from tarballs
7617         * top/maint.mk (no-vc-detected): New rule.
7618         (local-checks-available): Use it to avoid hanging if someone tries
7619         'make syntax-check' from a tarball.  Also append to any non-syntax
7620         checks already defined in cfg.mk.
7621
7622 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
7623
7624         longlong: tune, particularly for common case of c99
7625
7626         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
7627         or running anything if c99, or if unsigned long long int does not
7628         work.  In either case, we know the answer without further tests.
7629         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
7630         it at most once, and use its results for both long long int and
7631         unsigned long long int.  This is more likely to be efficient in
7632         the common case where the program wants to check for both long
7633         long int and unsigned long long int.
7634         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
7635         since the answer is already known.
7636
7637 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
7638
7639         getloadavg: set errno
7640         * lib/getloadavg.c: Set errno when returning -1.  If no other
7641         error number looks appropriate, set it to ENOSYS if the getloadavg
7642         looks like it can't possibly ever work, ENOTSUP otherwise.
7643         Suggested by Bruno Haible in
7644         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
7645
7646         getloadavg: trim unused parts and speed up 'configure'
7647         * NEWS: Document this.
7648         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
7649         always compiled if getloadavg is absent.
7650         Move test code to ...
7651         * tests/test-getloadavg.c: New file, containing previous
7652         contents of test from lib/getloadavg.c.  It also contains
7653         suggestions by Bruno Haible in
7654         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
7655         * modules/getloadavg-tests: New file.
7656         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
7657         Do tests in the same order as they're needed for getloadavg.c.
7658         Omit setgid-related tests that generate symbols KMEM_GROUP,
7659         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
7660         Do only the tests that are needed to see whether the system has
7661         getloadavg, moving the other tests into ...
7662         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
7663         NLIST_NAME_UNION; nobody should be using it.  Do not define
7664         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
7665         relevant, as the user of this module shouldn't care how getloadavg
7666         is implemented.
7667
7668         getloadavg: omit unused var
7669         * lib/getloadavg.c (getloadavg): Omit unused local variable.
7670
7671 2011-02-15  Jim Meyering  <meyering@redhat.com>
7672
7673         doc: update users.txt
7674         * users.txt: Update iwhd's URL.
7675
7676 2011-02-13  Bruno Haible  <bruno@clisp.org>
7677
7678         Consistent macro naming for macros that use GCC __attribute__.
7679         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
7680         _ATTRIBUTE_NONNULL_.
7681         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
7682         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
7683         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
7684         ATTRIBUTE_DEPRECATED.
7685         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
7686         ATTRIBUTE_NORETURN.
7687         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
7688         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
7689         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
7690         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
7691         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
7692         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
7693         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
7694         ATTRIBUTE_SENTINEL.
7695         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
7696         ATTRIBUTE_RETURN_CHECK.
7697         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
7698         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
7699         ATTRIBUTE_NORETURN.
7700         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
7701         Reported by Paul Eggert.
7702
7703 2011-02-13  Bruno Haible  <bruno@clisp.org>
7704
7705         Don't interfere with a program's definition of __attribute__.
7706         * lib/argp.h (__attribute__): Remove definition.
7707         (_GL_ATTRIBUTE_FORMAT): New macro.
7708         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
7709         * lib/argp-fmtstream.h (__attribute__): Remove definition.
7710         (_GL_ATTRIBUTE_FORMAT): New macro.
7711         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
7712         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
7713         GCC 3 or newer.
7714         * lib/error.h (__attribute__): Remove definition.
7715         (_GL_ATTRIBUTE_FORMAT): New macro.
7716         (error, error_at_line): Use it.
7717         * lib/hash.h (__attribute__): Remove definition.
7718         (ATTRIBUTE_WUR): Update definition. Define always.
7719         * lib/openat.h (__attribute__): Remove definition.
7720         (ATTRIBUTE_NORETURN): Update definition. Define always.
7721         * lib/sigpipe-die.h (__attribute__): Remove definition.
7722         (ATTRIBUTE_NORETURN): Update definition. Define always.
7723         * lib/vasnprintf.h (__attribute__): Remove definition.
7724         (_GL_ATTRIBUTE_FORMAT): New macro.
7725         (asnprintf, vasnprintf): Use it.
7726         * lib/xalloc.h (__attribute__): Remove definition.
7727         (ATTRIBUTE_NORETURN): Update definition. Define always.
7728         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
7729         * lib/xmemdup0.h (__attribute__): Remove definition.
7730         (ATTRIBUTE_NORETURN): Update definition. Define always.
7731         * lib/xprintf.h (__attribute__): Remove definition.
7732         (_GL_ATTRIBUTE_FORMAT): New macro.
7733         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
7734         * lib/xstrtol.h (__attribute__): Remove definition.
7735         (ATTRIBUTE_NORETURN): Update definition. Define always.
7736         * lib/xvasprintf.h (__attribute__): Remove definition.
7737         (_GL_ATTRIBUTE_FORMAT): New macro.
7738         (xasprintf, xvasprintf): Use it.
7739         * tests/test-argmatch.c (__attribute__): Remove definition.
7740         (ATTRIBUTE_NORETURN): Update definition. Define always.
7741         * tests/test-exclude.c (__attribute__): Remove definition.
7742         (ATTRIBUTE_NORETURN): Update definition. Define always.
7743         Reported by Paul Eggert.
7744
7745 2011-02-13  Bruno Haible  <bruno@clisp.org>
7746
7747         mbrtowc: Add more tests for native Windows platforms.
7748         * tests/test-mbrtowc-w32-1.sh: New file.
7749         * tests/test-mbrtowc-w32-2.sh: New file.
7750         * tests/test-mbrtowc-w32-3.sh: New file.
7751         * tests/test-mbrtowc-w32-4.sh: New file.
7752         * tests/test-mbrtowc-w32-5.sh: New file.
7753         * tests/test-mbrtowc-w32.c: New file.
7754         * modules/mbrtowc-tests (Files): Add them.
7755         (Makefile.am): Arrange to run these tests.
7756         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
7757         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
7758
7759 2011-02-13  Bruno Haible  <bruno@clisp.org>
7760
7761         mbrtowc: Work around native Windows bug.
7762         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
7763         guess when no suitable locale for testing was found.
7764         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
7765
7766 2011-02-13  Bruno Haible  <bruno@clisp.org>
7767
7768         mbsinit: Work around mingw bug.
7769         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
7770         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
7771         Windows.
7772         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
7773
7774 2011-02-13  Bruno Haible  <bruno@clisp.org>
7775
7776         mbsinit: Don't crash for a NULL argument.
7777         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
7778         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
7779
7780 2011-02-13  Bruno Haible  <bruno@clisp.org>
7781
7782         Don't interfere with a program's definition of __attribute__.
7783         * lib/stdio.in.h (__attribute__): Remove definition.
7784         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
7785         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
7786         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
7787         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
7788         * lib/string.in.h (__attribute__): Remove definition.
7789         Reported by Paul Eggert.
7790
7791 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
7792
7793         stdlib: don't get in the way of non-GCC __attribute__
7794         See thread starting at
7795         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
7796         Revert previous stdlib change, installing the following instead:
7797         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
7798         to get in the way of a non-GCC compiler that supports __attribute__.
7799         (_GL_ATTRIBUTE_RETURN): New macro.
7800         (_Exit): Use it instead of __attribute__.
7801
7802 2011-02-12  Bruno Haible  <bruno@clisp.org>
7803
7804         quotearg test: Avoid test failure on mingw.
7805         * tests/test-quotearg.sh: Convert the locale identifier from native
7806         Windows syntax to Unix syntax.
7807
7808 2011-02-12  Bruno Haible  <bruno@clisp.org>
7809
7810         setlocale: Prefer gnulib's override over libintl's override.
7811         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
7812         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
7813         GNULIB_defined_setlocale is set.
7814
7815 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
7816
7817         stdlib: support non-GCC __attribute__
7818
7819         Fix a serious and tricky problem encountered when attempting to
7820         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
7821         5.5, but it crashed due to memory corruption on Solaris 10 with
7822         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
7823         bits that are otherwise zero.  This tagging is optional inside
7824         Emacs but is preferred and is used when __attribute__ ((__aligned
7825         (8))) works, as it does with both recent-enough GCC and with Sun C
7826         5.11.  However, Sun C 5.11 is not GCC and does not #define
7827         __GNUC__ and __GNUC_MINOR__.
7828
7829         When I added the getloadavg module to Emacs, it brought in
7830         stdlib.in.h, which contained this fragment:
7831
7832            #ifndef __attribute__
7833            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
7834            #  define __attribute__(Spec)   /* empty */
7835            # endif
7836            #endif
7837
7838         When files that include <stdlib.h> were compiled with Sun C 5.11,
7839         the above code disabled __attribute__ ((__aligned (8))), which
7840         caused variables to not be properly aligned, which eventually led
7841         to the pointer corruption mentioned above.  (This was a bit hard
7842         to diagnose, unfortunately.)
7843
7844         Several "#define __attribute__(X) /* empty */" code snippets need
7845         to be eradicated from Gnulib to work with non-GCC compilers that
7846         support __attribute__.  The Autoconf way to do this is to test for
7847         each kind of attribute that we want support for, and selectively
7848         enable that in source code.
7849
7850         Fix this problem just for stdlib.h, by adding a test for the
7851         __noreturn__ attribute, and change stdlib.in.h to use that test
7852         when needed.  This technique can be easily generalized to the
7853         other *.in.h files and attributes, and a similar technique can be
7854         used for *.h and *.c files.  This patch is enough to solve the
7855         problem for Emacs + getloadavg, and I thought I'd publish it for
7856         feedback before undertaking further, similar fixes in other
7857         modules.
7858
7859         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
7860         because it's not needed for stdlib.h.  It merely substitutes the
7861         value directly into stdlib.h.  We may well need to #define it, or
7862         similar symbols, for other modules, but it's nice to also have an
7863         option to not #define it for applications like Emacs that do not
7864         need it.
7865
7866         * lib/stdlib.in.h (__attribute__): Do not #define.
7867         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
7868         be defined only if the _Exit module is also used.
7869         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
7870         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
7871         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
7872         platforms.
7873         * modules/_Exit (Files): Add m4/attribute.m4.
7874         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
7875         * m4/attribute.m4: New file.
7876
7877 2011-02-12  Bruno Haible  <bruno@clisp.org>
7878
7879         wcsrtombs: Work around bug on native Windows.
7880         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
7881         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
7882         instead of len.
7883         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
7884
7885 2011-02-12  Bruno Haible  <bruno@clisp.org>
7886
7887         mbsrtowcs: Work around bug on native Windows.
7888         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
7889         against mingw bug.
7890         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
7891
7892 2011-02-12  Bruno Haible  <bruno@clisp.org>
7893
7894         Avoid setlocale bugs in tests.
7895         * modules/btowc (Dependencies): Add setlocale.
7896         * modules/c-strcase (Dependencies): Likewise.
7897         * modules/mbmemcasecmp (Dependencies): Likewise.
7898         * modules/mbmemcasecoll (Dependencies): Likewise.
7899         * modules/mbrtowc (Dependencies): Likewise.
7900         * modules/mbscasecmp (Dependencies): Likewise.
7901         * modules/mbscasestr (Dependencies): Likewise.
7902         * modules/mbschr (Dependencies): Likewise.
7903         * modules/mbscspn (Dependencies): Likewise.
7904         * modules/mbsinit (Dependencies): Likewise.
7905         * modules/mbsncasecmp (Dependencies): Likewise.
7906         * modules/mbsnrtowcs (Dependencies): Likewise.
7907         * modules/mbspbrk (Dependencies): Likewise.
7908         * modules/mbspcasecmp (Dependencies): Likewise.
7909         * modules/mbsrchr (Dependencies): Likewise.
7910         * modules/mbsrtowcs (Dependencies): Likewise.
7911         * modules/mbsspn (Dependencies): Likewise.
7912         * modules/mbsstr (Dependencies): Likewise.
7913         * modules/nl_langinfo (Dependencies): Likewise.
7914         * modules/quotearg (Dependencies): Likewise.
7915         * modules/unicase/locale-language (Dependencies): Likewise.
7916         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
7917         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
7918         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
7919         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
7920         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
7921         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
7922         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
7923         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
7924         * modules/vasnprintf-posix (Dependencies): Likewise.
7925         * modules/wcrtomb (Dependencies): Likewise.
7926         * modules/wcsnrtombs (Dependencies): Likewise.
7927         * modules/wcsrtombs (Dependencies): Likewise.
7928
7929 2011-02-12  Bruno Haible  <bruno@clisp.org>
7930
7931         setlocale: Workaround native Windows bug.
7932         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
7933         succeeds but sets LC_CTYPE to "C", report a failure.
7934         * tests/test-setlocale2.sh: New file.
7935         * tests/test-setlocale2.c: New file.
7936         * modules/setlocale-tests (Files): Add the new files.
7937         (Makefile.am): Enable test-setlocale2.sh test.
7938         * doc/posix-functions/setlocale.texi: Mention workaround.
7939
7940 2011-02-11  Bruno Haible  <bruno@clisp.org>
7941
7942         Tests for module 'setlocale'.
7943         * modules/setlocale-tests: New file.
7944         * tests/test-setlocale1.sh: New file.
7945         * tests/test-setlocale1.c: New file.
7946
7947         New module 'setlocale'.
7948         * lib/locale.in.h (setlocale): New declaration.
7949         * lib/setlocale.c: New file, based on
7950         gettext/gettext-runtime/intl/setlocale.c.
7951         * m4/setlocale.m4: New file.
7952         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
7953         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
7954         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
7955         REPLACE_SETLOCALE.
7956         * modules/setlocale: New file.
7957         * tests/test-locale-c++.cc: Test the declaration of setlocale.
7958         * doc/posix-functions/setlocale.texi: Mention the new module.
7959
7960 2011-02-11  Bruno Haible  <bruno@clisp.org>
7961
7962         Prepare for locale dependent tests on mingw.
7963         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
7964         because it has the wrong locale encoding.
7965         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
7966         French_France.1252 instead of "fr".
7967         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
7968         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
7969         because it has the wrong locale encoding.
7970         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
7971         native Windows, try Turkish_Turkey.65001.
7972         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
7973         Chinese_China.54936.
7974
7975         Prepare for locale dependent tests on mingw.
7976         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
7977         differently.
7978         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
7979         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
7980         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
7981         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
7982
7983 2011-02-11  Eric Blake  <eblake@redhat.com>
7984
7985         strptime: avoid compiler warnings
7986         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
7987         compiler warnings about dead code.
7988         Reported by Daniel P. Berrange.
7989
7990 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
7991
7992         doc: update users.txt
7993         * users.txt: Add rcs.
7994
7995 2011-02-10  John W. Eaton  <jwe@gnu.org>
7996
7997         doc: update users.txt
7998         * users.txt: Add octave.
7999
8000 2011-02-10  Jim Meyering  <meyering@redhat.com>
8001
8002         doc: update users.txt
8003         * users.txt: Add iwhd.
8004
8005 2011-02-09  Bruno Haible  <bruno@clisp.org>
8006
8007         gnulib-tool: Make copyright notice adjustment more robust.
8008         * gnulib-tool (func_import): In sed_transform_main_lib_file,
8009         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
8010         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
8011         License".
8012         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
8013
8014 2011-02-06  Bruno Haible  <bruno@clisp.org>
8015
8016         New module 'towctrans'.
8017         * modules/towctrans: New file.
8018         * lib/wctype.in.h (towctrans): New declaration.
8019         * lib/towctrans.c: New file.
8020         * lib/towctrans-impl.h: New file.
8021         * m4/towctrans.m4: New file.
8022         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
8023         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
8024         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
8025         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
8026         * doc/posix-functions/towctrans.texi: Mention the new module.
8027
8028 2011-02-06  Bruno Haible  <bruno@clisp.org>
8029
8030         New module 'wctrans'.
8031         * modules/wctrans: New file.
8032         * lib/wctype.in.h (wctrans): New declaration.
8033         * lib/wctrans.c: New file.
8034         * lib/wctrans-impl.h: New file.
8035         * m4/wctrans.m4: New file.
8036         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
8037         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
8038         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
8039         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
8040         * doc/posix-functions/wctrans.texi: Mention the new module.
8041
8042 2011-02-06  Bruno Haible  <bruno@clisp.org>
8043
8044         New module 'iswctype'.
8045         * modules/iswctype: New file.
8046         * lib/wctype.in.h (iswctype): New declaration.
8047         * lib/iswctype.c: New file.
8048         * lib/iswctype-impl.h: New file.
8049         * m4/iswctype.m4: New file.
8050         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
8051         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
8052         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
8053         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
8054         * doc/posix-functions/iswctype.texi: Mention the new module and the
8055         HP-UX 11.00 problem.
8056
8057 2011-02-06  Bruno Haible  <bruno@clisp.org>
8058
8059         New module 'wctype'.
8060         * modules/wctype: Change to represent the wctype() substitute.
8061         * lib/wctype.in.h (wctype): New declaration.
8062         * lib/wctype.c: New file.
8063         * lib/wctype-impl.h: New file.
8064         * m4/wctype.m4: New file.
8065         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
8066         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
8067         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
8068         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
8069         * doc/posix-functions/wctype.texi: Mention the new module and the
8070         HP-UX 11.00 problem.
8071
8072 2011-02-06  Bruno Haible  <bruno@clisp.org>
8073
8074         wctype-h: Ensure wctype_t and wctrans_t are defined.
8075         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
8076         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
8077         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
8078         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
8079         HAVE_WCTRANS_T.
8080         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
8081
8082 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
8083
8084         flock: fix license typo
8085
8086         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
8087         omitted.
8088
8089 2011-02-08  Bruno Haible  <bruno@clisp.org>
8090
8091         Split large sed scripts, for HP-UX sed.
8092         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
8093         to avoid HP-UX limit of 99 commands, in the near future.
8094         * modules/stdlib (Makefile.am): Likewise.
8095         * modules/unistd (Makefile.am): Likewise.
8096         * modules/wchar (Makefile.am): Likewise.
8097         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
8098         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
8099         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
8100
8101 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
8102             Bruno Haible  <bruno@clisp.org>
8103
8104         stdlib: improve random_r modularization
8105         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
8106         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
8107         you also need the random_r module to get this material right.
8108         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
8109         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
8110         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
8111
8112 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
8113
8114         stdlib: don't depend on stdint
8115         * lib/stdlib.in.h: Don't include <stdint.h> merely because
8116         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
8117         be independent of whether stdint.h is needed.
8118         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
8119         here, instead of ...
8120         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
8121         struct random_data should be using the random_r module, not just
8122         the stdlib module (which wouldn't make sense: what package needs
8123         just struct random_data without also needing random_r?).
8124         * modules/stdlib (Depends-on): Remove stdint.
8125
8126         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
8127         See the thread rooted at
8128         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
8129         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
8130         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
8131         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
8132         __VMS)); previously it was always included (via fcntl--.h).
8133         (getloadavg): Do not use c_strtod.  Instead, approximate it by
8134         hand; this is good enough for load averages.  Also, do not use
8135         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
8136         flags directly if available and don't bother otherwise.  (Packages
8137         that need the extra reliability should use the modules that define
8138         these flags on older platforms that lack them.)
8139         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
8140         fcntl-safer.
8141
8142 2011-02-08  Jim Meyering  <meyering@redhat.com>
8143
8144         di-set.h, ino-map.h: add multiple-inclusion guard
8145         Technically, the guard is required only for ino-map.h, due to its
8146         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
8147         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
8148         * lib/ino-map.h: Likewise.
8149
8150 2011-02-06  Bruno Haible  <bruno@clisp.org>
8151
8152         iswblank: Ensure declaration on glibc systems.
8153         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
8154         * modules/iswblank (Dependencies): Add 'extensions'.
8155         * doc/posix-functions/iswblank.texi: Document the glibc problem.
8156
8157 2011-02-06  Bruno Haible  <bruno@clisp.org>
8158
8159         New module 'iswblank'.
8160         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
8161         * modules/iswblank: New file.
8162         * modules/wctype-h (Files): Remove lib/iswblank.c.
8163         (Makefile.am): Substitute GNULIB_ISWBLANK.
8164         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
8165         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
8166         (gl_WCTYPE_H_DEFAULTS): New macro.
8167         (gl_WCTYPE_H): Require it. Remove iswblank related code.
8168         * modules/iswblank-tests: New file.
8169         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
8170         * tests/test-wctype-h.c (main): Remove iswblank tests.
8171         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
8172         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
8173         of 'wctype-h'.
8174         * NEWS: Mention the change.
8175         * modules/mbchar (Depends-on): Add iswblank.
8176
8177 2011-02-08  Bruno Haible  <bruno@clisp.org>
8178
8179         di-set tests: Refactor.
8180         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
8181         unnecessary includes.
8182         (ASSERT): Remove macro.
8183         (main): Make C90 compliant by avoiding variable declaration after
8184         statement.
8185         * modules/di-set-tests (Files): Add tests/macros.h.
8186
8187 2011-02-08  Bruno Haible  <bruno@clisp.org>
8188
8189         ino-map tests: Refactor.
8190         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
8191         unnecessary includes.
8192         (ASSERT): Remove macro.
8193         (main): Make C90 compliant by avoiding variable declaration after
8194         statement.
8195         * modules/ino-map-tests (Files): Add tests/macros.h.
8196
8197 2011-02-08  Jim Meyering  <meyering@redhat.com>
8198
8199         di-set: add "const" to a cast
8200         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
8201         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
8202
8203 2011-02-06  Bruno Haible  <bruno@clisp.org>
8204
8205         Rename module 'wctype' to 'wctype-h'.
8206         * modules/wctype-h: Renamed from modules/wctype.
8207         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
8208         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
8209         (Files, Depends-on, Makefile.am): Update.
8210         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
8211         (Files, Makefile.am): Update.
8212         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
8213         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
8214         * doc/posix-headers/wctype.texi: Update.
8215         * doc/posix-functions/iswalnum.texi: Update.
8216         * doc/posix-functions/iswalpha.texi: Update.
8217         * doc/posix-functions/iswblank.texi: Update.
8218         * doc/posix-functions/iswcntrl.texi: Update.
8219         * doc/posix-functions/iswdigit.texi: Update.
8220         * doc/posix-functions/iswgraph.texi: Update.
8221         * doc/posix-functions/iswlower.texi: Update.
8222         * doc/posix-functions/iswprint.texi: Update.
8223         * doc/posix-functions/iswpunct.texi: Update.
8224         * doc/posix-functions/iswspace.texi: Update.
8225         * doc/posix-functions/iswupper.texi: Update.
8226         * doc/posix-functions/iswxdigit.texi: Update.
8227         * doc/posix-functions/towlower.texi: Update.
8228         * doc/posix-functions/towupper.texi: Update.
8229         * NEWS: Mention the change.
8230         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
8231         * modules/mbchar (Dependencies): Likewise.
8232         * modules/mbswidth (Dependencies): Likewise.
8233         * modules/quotearg (Dependencies): Likewise.
8234         * modules/regex (Dependencies): Likewise.
8235         * modules/wcscasecmp (Dependencies): Likewise.
8236         * modules/wcsncasecmp (Dependencies): Likewise.
8237         * modules/wcwidth (Dependencies): Likewise.
8238
8239 2011-02-06  Bruno Haible  <bruno@clisp.org>
8240
8241         New module 'wcswidth'.
8242         * modules/wcswidth: New file.
8243         * lib/wchar.in.h (wcswidth): New declaration.
8244         * lib/wcswidth.c: New file.
8245         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
8246         * m4/wcswidth.m4: New file.
8247         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
8248         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
8249         REPLACE_WCSWIDTH.
8250         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
8251         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
8252         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
8253         * doc/posix-functions/wcswidth.texi: Mention the new module.
8254
8255 2011-02-06  Bruno Haible  <bruno@clisp.org>
8256
8257         New module 'wcstok'.
8258         * modules/wcstok: New file.
8259         * lib/wchar.in.h (wcstok): New declaration.
8260         * lib/wcstok.c: New file.
8261         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
8262         * m4/wcstok.m4: New file.
8263         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
8264         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
8265         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
8266         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
8267         * doc/posix-functions/wcstok.texi: Mention the new module.
8268
8269 2011-02-06  Bruno Haible  <bruno@clisp.org>
8270
8271         New module 'wcsstr'.
8272         * modules/wcsstr: New file.
8273         * lib/wchar.in.h (wcsstr): New declaration.
8274         * lib/wcsstr.c: New file.
8275         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
8276         * m4/wcsstr.m4: New file.
8277         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
8278         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
8279         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
8280         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
8281         * doc/posix-functions/wcsstr.texi: Mention the new module.
8282
8283 2011-02-06  Bruno Haible  <bruno@clisp.org>
8284
8285         New module 'wcspbrk'.
8286         * modules/wcspbrk: New file.
8287         * lib/wchar.in.h (wcspbrk): New declaration.
8288         * lib/wcspbrk.c: New file.
8289         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
8290         * m4/wcspbrk.m4: New file.
8291         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
8292         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
8293         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
8294         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
8295         * doc/posix-functions/wcspbrk.texi: Mention the new module.
8296
8297 2011-02-06  Bruno Haible  <bruno@clisp.org>
8298
8299         New module 'wcsspn'.
8300         * modules/wcsspn: New file.
8301         * lib/wchar.in.h (wcsspn): New declaration.
8302         * lib/wcsspn.c: New file.
8303         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
8304         * m4/wcsspn.m4: New file.
8305         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
8306         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
8307         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
8308         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
8309         * doc/posix-functions/wcsspn.texi: Mention the new module.
8310
8311 2011-02-06  Bruno Haible  <bruno@clisp.org>
8312
8313         New module 'wcscspn'.
8314         * modules/wcscspn: New file.
8315         * lib/wchar.in.h (wcscspn): New declaration.
8316         * lib/wcscspn.c: New file.
8317         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
8318         * m4/wcscspn.m4: New file.
8319         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
8320         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
8321         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
8322         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
8323         * doc/posix-functions/wcscspn.texi: Mention the new module.
8324
8325 2011-02-06  Bruno Haible  <bruno@clisp.org>
8326
8327         New module 'wcsrchr'.
8328         * modules/wcsrchr: New file.
8329         * lib/wchar.in.h (wcsrchr): New declaration.
8330         * lib/wcsrchr.c: New file.
8331         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
8332         * m4/wcsrchr.m4: New file.
8333         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
8334         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
8335         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
8336         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
8337         * doc/posix-functions/wcsrchr.texi: Mention the new module.
8338
8339 2011-02-06  Bruno Haible  <bruno@clisp.org>
8340
8341         New module 'wcschr'.
8342         * modules/wcschr: New file.
8343         * lib/wchar.in.h (wcschr): New declaration.
8344         * lib/wcschr.c: New file.
8345         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
8346         * m4/wcschr.m4: New file.
8347         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
8348         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
8349         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
8350         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
8351         * doc/posix-functions/wcschr.texi: Mention the new module.
8352
8353 2011-02-06  Bruno Haible  <bruno@clisp.org>
8354
8355         New module 'wcsdup'.
8356         * modules/wcsdup: New file.
8357         * lib/wchar.in.h (wcsdup): New declaration.
8358         * lib/wcsdup.c: New file.
8359         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
8360         * m4/wcsdup.m4: New file.
8361         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
8362         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
8363         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
8364         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
8365         * doc/posix-functions/wcsdup.texi: Mention the new module.
8366
8367 2011-02-06  Bruno Haible  <bruno@clisp.org>
8368
8369         New module 'wcsxfrm'.
8370         * modules/wcsxfrm: New file.
8371         * lib/wchar.in.h (wcsxfrm): New declaration.
8372         * lib/wcsxfrm.c: New file.
8373         * lib/wcsxfrm-impl.h: New file.
8374         * m4/wcsxfrm.m4: New file.
8375         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
8376         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
8377         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
8378         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
8379         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
8380
8381 2011-02-06  Bruno Haible  <bruno@clisp.org>
8382
8383         New module 'wcscoll'.
8384         * modules/wcscoll: New file.
8385         * lib/wchar.in.h (wcscoll): New declaration.
8386         * lib/wcscoll.c: New file.
8387         * lib/wcscoll-impl.h: New file.
8388         * m4/wcscoll.m4: New file.
8389         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
8390         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
8391         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
8392         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
8393         * doc/posix-functions/wcscoll.texi: Mention the new module.
8394
8395 2011-02-06  Bruno Haible  <bruno@clisp.org>
8396
8397         New module 'wcsncasecmp'.
8398         * modules/wcsncasecmp: New file.
8399         * lib/wchar.in.h (wcsncasecmp): New declaration.
8400         * lib/wcsncasecmp.c: New file.
8401         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
8402         * m4/wcsncasecmp.m4: New file.
8403         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
8404         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
8405         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
8406         HAVE_WCSNCASECMP.
8407         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
8408         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
8409
8410 2011-02-06  Bruno Haible  <bruno@clisp.org>
8411
8412         New module 'wcscasecmp'.
8413         * modules/wcscasecmp: New file.
8414         * lib/wchar.in.h (wcscasecmp): New declaration.
8415         * lib/wcscasecmp.c: New file.
8416         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
8417         * m4/wcscasecmp.m4: New file.
8418         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
8419         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
8420         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
8421         HAVE_WCSCASECMP.
8422         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
8423         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
8424
8425 2011-02-05  Bruno Haible  <bruno@clisp.org>
8426
8427         New module 'wcsncmp'.
8428         * modules/wcsncmp: New file.
8429         * lib/wchar.in.h (wcsncmp): New declaration.
8430         * lib/wcsncmp.c: New file.
8431         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
8432         * m4/wcsncmp.m4: New file.
8433         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
8434         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
8435         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
8436         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
8437         * doc/posix-functions/wcsncmp.texi: Mention the new module.
8438
8439 2011-02-05  Bruno Haible  <bruno@clisp.org>
8440
8441         New module 'wcscmp'.
8442         * modules/wcscmp: New file.
8443         * lib/wchar.in.h (wcscmp): New declaration.
8444         * lib/wcscmp.c: New file.
8445         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
8446         * m4/wcscmp.m4: New file.
8447         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
8448         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
8449         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
8450         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
8451         * doc/posix-functions/wcscmp.texi: Mention the new module.
8452
8453 2011-02-05  Bruno Haible  <bruno@clisp.org>
8454
8455         New module 'wcsncat'.
8456         * modules/wcsncat: New file.
8457         * lib/wchar.in.h (wcsncat): New declaration.
8458         * lib/wcsncat.c: New file.
8459         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
8460         * m4/wcsncat.m4: New file.
8461         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
8462         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
8463         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
8464         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
8465         * doc/posix-functions/wcsncat.texi: Mention the new module.
8466
8467 2011-02-05  Bruno Haible  <bruno@clisp.org>
8468
8469         New module 'wcscat'.
8470         * modules/wcscat: New file.
8471         * lib/wchar.in.h (wcscat): New declaration.
8472         * lib/wcscat.c: New file.
8473         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
8474         * m4/wcscat.m4: New file.
8475         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
8476         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
8477         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
8478         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
8479         * doc/posix-functions/wcscat.texi: Mention the new module.
8480
8481 2011-02-05  Bruno Haible  <bruno@clisp.org>
8482
8483         New module 'wcpncpy'.
8484         * modules/wcpncpy: New file.
8485         * lib/wchar.in.h (wcpncpy): New declaration.
8486         * lib/wcpncpy.c: New file.
8487         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
8488         * m4/wcpncpy.m4: New file.
8489         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
8490         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
8491         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
8492         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
8493         * doc/posix-functions/wcpncpy.texi: Mention the new module.
8494
8495 2011-02-05  Bruno Haible  <bruno@clisp.org>
8496
8497         New module 'wcsncpy'.
8498         * modules/wcsncpy: New file.
8499         * lib/wchar.in.h (wcsncpy): New declaration.
8500         * lib/wcsncpy.c: New file.
8501         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
8502         * m4/wcsncpy.m4: New file.
8503         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
8504         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
8505         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
8506         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
8507         * doc/posix-functions/wcsncpy.texi: Mention the new module.
8508
8509 2011-02-05  Bruno Haible  <bruno@clisp.org>
8510
8511         New module 'wcpcpy'.
8512         * modules/wcpcpy: New file.
8513         * lib/wchar.in.h (wcpcpy): New declaration.
8514         * lib/wcpcpy.c: New file.
8515         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
8516         * m4/wcpcpy.m4: New file.
8517         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
8518         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
8519         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
8520         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
8521         * doc/posix-functions/wcpcpy.texi: Mention the new module.
8522
8523 2011-02-05  Bruno Haible  <bruno@clisp.org>
8524
8525         New module 'wcscpy'.
8526         * modules/wcscpy: New file.
8527         * lib/wchar.in.h (wcscpy): New declaration.
8528         * lib/wcscpy.c: New file.
8529         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
8530         * m4/wcscpy.m4: New file.
8531         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
8532         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
8533         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
8534         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
8535         * doc/posix-functions/wcscpy.texi: Mention the new module.
8536
8537 2011-02-05  Bruno Haible  <bruno@clisp.org>
8538
8539         New module 'wcsnlen'.
8540         * modules/wcsnlen: New file.
8541         * lib/wchar.in.h (wcsnlen): New declaration.
8542         * lib/wcsnlen.c: New file.
8543         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
8544         * m4/wcsnlen.m4: New file.
8545         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
8546         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
8547         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
8548         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
8549         * doc/posix-functions/wcsnlen.texi: Mention the new module.
8550
8551 2011-02-05  Bruno Haible  <bruno@clisp.org>
8552
8553         New module 'wcslen'.
8554         * modules/wcslen: New file.
8555         * lib/wchar.in.h (wcslen): New declaration.
8556         * lib/wcslen.c: New file.
8557         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
8558         * m4/wcslen.m4: New file.
8559         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
8560         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
8561         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
8562         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
8563         * doc/posix-functions/wcslen.texi: Mention the new module.
8564
8565 2011-02-05  Bruno Haible  <bruno@clisp.org>
8566
8567         New module 'wmemset'.
8568         * modules/wmemset: New file.
8569         * lib/wchar.in.h (wmemset): New declaration.
8570         * lib/wmemset.c: New file.
8571         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
8572         * m4/wmemset.m4: New file.
8573         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
8574         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
8575         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
8576         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
8577         * doc/posix-functions/wmemset.texi: Mention the new module.
8578
8579 2011-02-05  Bruno Haible  <bruno@clisp.org>
8580
8581         New module 'wmemmove'.
8582         * modules/wmemmove: New file.
8583         * lib/wchar.in.h (wmemmove): New declaration.
8584         * lib/wmemmove.c: New file.
8585         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
8586         * m4/wmemmove.m4: New file.
8587         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
8588         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
8589         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
8590         HAVE_WMEMMOVE.
8591         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
8592         * doc/posix-functions/wmemmove.texi: Mention the new module.
8593
8594 2011-02-05  Bruno Haible  <bruno@clisp.org>
8595
8596         New module 'wmemcpy'.
8597         * modules/wmemcpy: New file.
8598         * lib/wchar.in.h (wmemcpy): New declaration.
8599         * lib/wmemcpy.c: New file.
8600         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
8601         * m4/wmemcpy.m4: New file.
8602         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
8603         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
8604         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
8605         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
8606         * doc/posix-functions/wmemcpy.texi: Mention the new module.
8607
8608 2011-02-05  Bruno Haible  <bruno@clisp.org>
8609
8610         New module 'wmemcmp'.
8611         * modules/wmemcmp: New file.
8612         * lib/wchar.in.h (wmemcmp): New declaration.
8613         * lib/wmemcmp.c: New file.
8614         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
8615         * m4/wmemcmp.m4: New file.
8616         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
8617         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
8618         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
8619         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
8620         * doc/posix-functions/wmemcmp.texi: Mention the new module.
8621
8622 2011-02-07  Jim Meyering  <meyering@redhat.com>
8623
8624         di-set, ino-map: new modules, from coreutils
8625         * lib/di-set.c: New file.
8626         * lib/di-set.h: Likewise.
8627         * lib/ino-map.c: Likewise.
8628         * lib/ino-map.h: Likewise.
8629         * modules/di-set: Likewise.
8630         * modules/di-set-tests: Likewise.
8631         * modules/ino-map: Likewise.
8632         * modules/ino-map-tests: Likewise.
8633         * tests/test-di-set.c: Likewise.
8634         * tests/test-ino-map.c: Likewise.
8635
8636 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
8637
8638         getloadavg: merge minor changes from Emacs
8639
8640         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
8641         (getloadavg): Use memset, not bzero.
8642
8643         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
8644         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
8645         clash (bug#86).
8646
8647 2010-11-14  Bruno Haible  <bruno@clisp.org>
8648
8649         Allow multiple gnulib generated replacements to coexist.
8650         * lib/getopt.in.h (struct option): Avoid identical redefinition.
8651         * lib/inttypes.in.h (imaxdiv_t): Likewise.
8652         * lib/langinfo.in.h (nl_item): Likewise.
8653         * lib/math.in.h (_NaN, NAN): Likewise.
8654         * lib/netdb.in.h (struct addrinfo): Likewise.
8655         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
8656         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
8657         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
8658         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
8659         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
8660         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
8661         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
8662         pthread_mutexattr_init, pthread_mutexattr_settype,
8663         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
8664         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
8665         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
8666         pthread_spin_trylock, pthread_spin_unlock): Likewise.
8667         * lib/sched.in.h (struct sched_param): Likewise.
8668         * lib/se-selinux.in.h (security_class_t, security_context_t,
8669         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
8670         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
8671         lsetfilecon, fsetfilecon, security_check_context,
8672         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
8673         Likewise.
8674         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
8675         Likewise.
8676         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
8677         _gl_function_taking_int_returning_void_t, union sigval,
8678         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
8679         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
8680         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
8681         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
8682         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
8683         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
8684         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
8685         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
8686         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
8687         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
8688         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
8689         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
8690         socklen_t, rpl_fd_isset): Likewise.
8691         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
8692         * lib/sys_time.in.h (struct timeval): Likewise.
8693         * lib/sys_times.in.h (struct tms): Likewise.
8694         * lib/sys_utsname.in.h (struct utsname):
8695         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
8696         * lib/unistd.in.h (getpagesize): Likewise.
8697         * lib/wchar.in.h (mbstate_t): Likewise.
8698         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
8699         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
8700         towlower, towupper): Likewise.
8701         Reported by Sam Steingold <sds@gnu.org>.
8702
8703 2011-02-05  Eric Blake  <eblake@redhat.com>
8704
8705         unsetenv: work around Haiku issues
8706         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
8707         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
8708
8709 2010-12-30  Bruce Korb  <bkorb@gnu.org>
8710
8711         libposix: avoid calling error() within libposix
8712         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
8713         is defined.
8714
8715 2011-02-05  Eric Blake  <eblake@redhat.com>
8716
8717         strerror_r-posix: port to cygwin
8718         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
8719         implementation.
8720         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
8721         * tests/test-strerror_r.c (main): Fix test.
8722         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
8723         issue.
8724
8725 2011-02-05  Bruno Haible  <bruno@clisp.org>
8726
8727         New module 'wmemchr'.
8728         * modules/wmemchr: New file.
8729         * lib/wchar.in.h (wmemchr): New declaration.
8730         * lib/wmemchr.c: New file.
8731         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
8732         * m4/wmemchr.m4: New file.
8733         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
8734         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
8735         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
8736         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
8737         * doc/posix-functions/wmemchr.texi: Mention the new module.
8738
8739 2011-02-04  Eric Blake  <eblake@redhat.com>
8740
8741         fdopendir: detect FreeBSD bug
8742         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
8743         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
8744
8745 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
8746
8747         stdbool: do not define HAVE_STDBOOL_H
8748         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
8749         AC_HEADER_STDBOOL.  All uses changed.  Do not define
8750         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
8751         imported from the latest Autoconf git.  It was motivated by Emacs,
8752         which uses gnulib but does not need HAVE_STDBOOL_H.
8753
8754 2011-02-04  Bruno Haible  <bruno@clisp.org>
8755
8756         wcsnrtombs: Prepare for new module wwcsnrtombs.
8757         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
8758         * lib/wcsnrtombs.c: Include it.
8759         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
8760
8761         wcsrtombs: Prepare for new module wwcsrtombs.
8762         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
8763         * lib/wcsrtombs.c: Include it.
8764         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
8765
8766         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
8767         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
8768         * lib/mbsnrtowcs.c: Include it.
8769         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
8770
8771         mbsrtowcs: Prepare for new module mbsrtowwcs.
8772         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
8773         * lib/mbsrtowcs.c: Include it.
8774         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
8775
8776 2011-02-04  Bruno Haible  <bruno@clisp.org>
8777
8778         vasnprintf: Reduce use of malloc for small format strings.
8779         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
8780         (arguments): Add room for the first 7 arguments.
8781         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
8782         (char_directives, u8_directives, u16_directives, u32_directives): Add
8783         room for the first 7 directives.
8784         * lib/printf-parse.c: Include <string.h>.
8785         (PRINTF_PARSE): Change memory handling code so that it uses the first
8786         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
8787         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
8788         Reported by Pádraig Brady <P@draigbrady.com>.
8789
8790 2011-01-31  Eric Blake  <eblake@redhat.com>
8791
8792         dup2: work around Haiku bug
8793         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
8794         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
8795         * doc/posix-functions/dup2.texi (dup2): Document the bug.
8796         * tests/test-dup2.c (main): Enhance test.
8797
8798 2011-01-31  Simon Josefsson  <simon@josefsson.org>
8799
8800         doc: off_t is not available in eglibc 2.11.2 stdio.h.
8801         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
8802         declared by eglibc 2.11.2.
8803         * lib/stdio.in.h: Likewise.
8804
8805 2011-01-31  Eric Blake  <eblake@redhat.com>
8806
8807         ignore-value: add missing test dependency
8808         * tests/test-ignore-value.c: Revert previous change; stdio.h
8809         provides off_t.
8810         * modules/ignore-value-tests (Depends-on): Add missing dependency.
8811
8812 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
8813
8814         mktime: clarify long_int width checking
8815         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
8816         the top level, to make it clearer that the assumption about
8817         long_int width is being checked.  See
8818         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
8819
8820 2011-01-30  Simon Josefsson  <simon@josefsson.org>
8821
8822         ignore-value: Fix self-test.
8823         * tests/test-ignore-value.c: Include sys/types.h for off_t.
8824
8825 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
8826
8827         TYPE_MAXIMUM: avoid theoretically undefined behavior
8828         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
8829         negative number, which the C Standard says has undefined behavior.
8830         In practice this is not a problem, but might as well do it by the book.
8831         Reported by Rich Felker and Eric Blake; see
8832         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
8833         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
8834         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
8835         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
8836         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
8837         * m4/stdint.m4 (gl_STDINT_H): Likewise.
8838         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
8839
8840         mktime: #undef mktime before #defining it
8841         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
8842
8843         mktime: systematically normalize tm_isdst comparisons
8844         * lib/mktime.c (isdst_differ): New function.
8845         (__mktime_internal): Use it systematically for all isdst comparisons.
8846         This completes the fix for libc BZ #6723, and removes the need for
8847         normalizing tm_isdst.  See
8848         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
8849         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
8850
8851         mktime: fix some integer overflow issues and sidestep the rest
8852
8853         This was prompted by a bug report by Benjamin Lindner for MinGW
8854         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
8855         His bug is due to signed integer overflow (0 - INT_MIN), and I
8856         I scanned through mktime.c looking for other integer overflow
8857         problems, fixing all the bugs I found.
8858
8859         Although the C Standard says the resulting code is still not safe
8860         in the presence of integer overflow, in practice it should be good
8861         enough for all real-world two's-complement implementations, except
8862         for debugging environments that deliberately trap on integer
8863         overflow (e.g., gcc -ftrapv).
8864
8865         * lib/mktime.c (WRAPV): New macro.
8866         (SHR): Also check that long_int and time_t shift right in the
8867         usual way, before using the fast-but-unportable method.
8868         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
8869         used.  The code already assumed two's complement, so there's
8870         no need to test for alternatives.  All uses removed.
8871         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
8872         the C standard.  Problem reported by Rich Felker in
8873         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
8874         (twos_complement_arithmetic): Also check long_int and time_t.
8875         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
8876         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
8877         (__mktime_internal): Avoid integer overflow with unary subtraction
8878         in two instances where -1 - X is an adequate replacement for -X,
8879         since the calculations are approximate.
8880
8881 2011-01-29  Eric Blake  <eblake@redhat.com>
8882
8883         mktime: avoid infinite loop
8884         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
8885         type; behavior is still undefined but portable to all known targets.
8886         Reported by Rich Felker.
8887
8888 2011-01-29  Simon Josefsson  <simon@josefsson.org>
8889
8890         rename, unlink, same-inode: Relicense.
8891         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
8892         * modules/unlink (License): Likewise.
8893         * modules/same-inode (License): Likewise.
8894
8895 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
8896
8897         mktime: avoid problems on NetBSD 5 / i386
8898         * lib/mktime.c (long_int): New type.  This works around a problem
8899         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
8900         but time_t is 64 bits, and where I expect the existing code is
8901         wrong in some cases.
8902         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
8903         (ydhms_diff): Bring back the compile-time check for wide-enough
8904         year and yday.
8905
8906         mktime: fix misspelling in comment
8907         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
8908         This merges all recent glibc changes of importance.
8909
8910 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8911
8912         move-if-change: cope with concurrent mv of identical file.
8913         * build-aux/move-if-change (CMPPROG): Accept environment
8914         variable as an override for `cmp'.
8915         (usage): Document CMPPROG.
8916         Adjust comparison to drop stdout.  Cope with failure of mv if
8917         the target file exists and is identical to the source, for
8918         parallel builds.
8919         Report from H.J. Lu against binutils in PR binutils/12283.
8920
8921 2011-01-28  Bruce Korb  <bkorb@gnu.org>
8922
8923         * users.txt: Mention sharutils.
8924
8925 2011-01-28  Simon Josefsson  <simon@josefsson.org>
8926
8927         * users.txt: Mention OATH Toolkit.
8928
8929 2011-01-27  Bruno Haible  <bruno@clisp.org>
8930
8931         Prepare for supporting FreeBSD 10.
8932         * build-aux/config.libpath: Remove handling of freebsd1*.
8933
8934 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
8935
8936         Prepare for supporting FreeBSD 10.
8937         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
8938         match FreeBSD 10.0.
8939
8940 2011-01-27  Bruno Haible  <bruno@clisp.org>
8941
8942         vma-iter, get-rusage-as: Add OpenBSD support.
8943         * modules/vma-iter (configure.ac): Test for mquery.
8944         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
8945         * lib/vma-iter.c: Include <sys/mman.h>.
8946         (vma_iterate): Add an implementation based on mquery().
8947         * lib/resource-ext.h (get_rusage_as): Update comments.
8948         * lib/get-rusage-as.c: Likewise.
8949         * lib/get-rusage-data.c: Likewise.
8950
8951 2011-01-26  Karl Berry  <karl@gnu.org>
8952
8953         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
8954         variables to make it easier to override the makeinfo program used.
8955
8956 2011-01-26  Eric Blake  <eblake@redhat.com>
8957
8958         fcntl: work around Haiku F_DUPFD bugs
8959         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
8960         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
8961         cloexec bit on duplication.
8962         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
8963
8964 2011-01-26  Bruno Haible  <bruno@clisp.org>
8965
8966         Enable memory leak tests on AIX.
8967         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
8968         * tests/test-fprintf-posix3.c (main): Likewise.
8969
8970 2011-01-26  Bruno Haible  <bruno@clisp.org>
8971
8972         Tests for module 'get-rusage-data'.
8973         * modules/get-rusage-data-tests: New file.
8974         * tests/test-get-rusage-data.c: New file.
8975
8976         New module 'get-rusage-data'.
8977         * lib/resource-ext.h (get_rusage_data): New declaration.
8978         * lib/get-rusage-data.c: New file.
8979         * modules/get-rusage-data: New file.
8980
8981 2011-01-25  Bruno Haible  <bruno@clisp.org>
8982
8983         get-rusage-as: Allow for easier testing.
8984         * lib/resource-ext.h (get_rusage_as): Add comment.
8985         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
8986         (main): New function for interactive testing.
8987
8988 2011-01-25  Bruno Haible  <bruno@clisp.org>
8989
8990         vma-iter: Treat Haiku like BeOS.
8991         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
8992         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
8993
8994 2011-01-25  Eric Blake  <eblake@redhat.com>
8995
8996         c-stack: fix regression on cygwin when libsigsegv is present
8997         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
8998
8999 2011-01-24  Bruno Haible  <bruno@clisp.org>
9000
9001         vma-iter: Avoid empty intervals.
9002         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
9003         on an empty interval.
9004
9005 2011-01-24  Jim Meyering  <meyering@redhat.com>
9006
9007         u64: remove unnecessary #include
9008         * lib/u64.h: Don't include <stddef.h>.  It was not used.
9009
9010 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
9011
9012         Allow the user to avoid the HAVE_RAW_DECL_* macros.
9013         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
9014
9015 2011-01-23  Bruno Haible  <bruno@clisp.org>
9016
9017         New module 'vma-iter'.
9018         * lib/vma-iter.h: New file.
9019         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
9020         * modules/vma-iter: New file.
9021         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
9022         for get_rusage_as_via_iterator.
9023         (vma_iterate_callback): New function.
9024         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
9025         * modules/get-rusage-as (Depends-on): Add vma-iter.
9026
9027 2011-01-23  Bruno Haible  <bruno@clisp.org>
9028
9029         uninorm: Tweak includes.
9030         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
9031         Reported by Jim Meyering.
9032
9033 2011-01-23  Bruno Haible  <bruno@clisp.org>
9034
9035         get-rusage-as: Improve on NetBSD.
9036         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
9037         /proc, like on FreeBSD.
9038
9039 2011-01-23  Jim Meyering  <meyering@redhat.com>
9040
9041         xreadlink.h: remove unnecessary #include
9042         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
9043
9044         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
9045         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
9046
9047 2011-01-23  Bruno Haible  <bruno@clisp.org>
9048
9049         get-rusage-as: Fix bug.
9050         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
9051         original limit when aborting the first loop.
9052
9053 2011-01-23  Bruno Haible  <bruno@clisp.org>
9054
9055         wctype: Ensure valid C syntax.
9056         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
9057         unconditionally, instead of gl_NEXT_HEADERS conditionally.
9058
9059 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
9060
9061         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
9062         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
9063         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
9064         as they are needed only for configure's test case.
9065         This removes two unnecessary symbols from config.h.
9066
9067         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
9068         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
9069         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
9070         AC_CHECK_HEADERS_ONCE on a header that we also invoke
9071         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
9072         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
9073         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
9074         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
9075         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
9076         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
9077         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
9078         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
9079         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
9080         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
9081         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
9082         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
9083         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
9084         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
9085
9086 2011-01-21  Eric Blake  <eblake@redhat.com>
9087
9088         maintainer-makefile: work with older git for submodule check
9089         * top/maint.mk (public-submodule-commit): Rewrite to avoid
9090         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
9091         Reported by Matthias Bolte.
9092
9093         bootstrap: minor portability fixes
9094         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
9095         (usage): Omit leading capital and trailing . on help phrases, per
9096         GNU Coding Standards.
9097         (check_versions, top level): Prefix messages with script name.
9098
9099 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
9100
9101         bootstrap: support --no-git option
9102         * build-aux/bootstrap: Add --no-git option, to be used when
9103         --gnulib-srcdir points to the exact desired checkout.
9104
9105 2011-01-21  Eric Blake  <eblake@redhat.com>
9106
9107         strerror_r-posix: work with glibc 2.13
9108         * lib/strerror_r.c (strerror_r): Fix return type.
9109
9110 2011-01-21  Pádraig Brady  <P@draigBrady.com>
9111             Bruno Haible  <bruno@clisp.org>
9112
9113         uN_strstr: New unit tests.
9114         * modules/unistr/u8-strstr-tests: New file.
9115         * modules/unistr/u16-strstr-tests: New file.
9116         * modules/unistr/u32-strstr-tests: New file.
9117         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
9118         * tests/unistr/test-u8-strstr.c: New file.
9119         * tests/unistr/test-u16-strstr.c: New file.
9120         * tests/unistr/test-u32-strstr.c: New file.
9121
9122 2011-01-21  Pádraig Brady  <P@draigBrady.com>
9123             Bruno Haible  <bruno@clisp.org>
9124
9125         Make uN_strstr functions O(n) worst-case.
9126         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
9127         16-bit and 32-bit unit cases, use the unibyte algorithm from
9128         lib/mbsstr.c.
9129         * lib/unistr/u8-strstr.c: Include <string.h>.
9130         (UNIT_IS_UINT8_T): New macro.
9131         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
9132         (U_STRLEN, U_STRNLEN): New macros.
9133         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
9134         (U_STRLEN, U_STRNLEN): New macros.
9135         * modules/unistr/u8-strstr (Depends-on): Add strstr.
9136         (configure.ac): Update required libunistring version.
9137         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
9138         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
9139         malloca.
9140         (configure.ac): Update required libunistring version.
9141         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
9142         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
9143         malloca.
9144         (configure.ac): Update required libunistring version.
9145
9146 2011-01-21  Pádraig Brady  <P@draigBrady.com>
9147             Bruno Haible  <bruno@clisp.org>
9148
9149         Prepare for faster uN_strstr functions.
9150         * lib/str-kmp.h: Support definable UNITs.
9151         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
9152         needle_len argument.
9153         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
9154         * lib/mbscasestr.c (mbscasestr): Likewise.
9155
9156 2011-01-21  Pádraig Brady <P@draigBrady.com>
9157
9158         malloca-tests: make faster by unsetting MALLOC_PERTURB_
9159         * tests/test-malloca.c (main): Unset the environment variable
9160         to greatly speed up the test.
9161         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
9162         * modules/malloca-tests: Depend on unsetenv.
9163
9164 2011-01-21  Pádraig Brady <P@draigBrady.com>
9165
9166         ignore-value: remove stdint dependency
9167         * lib/ignore-value.h: Remove <stdint.h>
9168         * modules/ignore-value: Remove stdint dependency.
9169
9170 2011-01-21  Jim Meyering  <meyering@redhat.com>
9171
9172         maint.mk: adjust variable name to be consistent with other gl_ vars
9173         * top/maint.mk (gl_public_submodule_commit): Rename the variable
9174         to be lower case.
9175
9176 2011-01-20  Jim Meyering  <meyering@redhat.com>
9177
9178         maint.mk: make "check" depend on public-submodule-commit by default
9179         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
9180
9181 2011-01-20  Bruno Haible  <bruno@clisp.org>
9182
9183         mbfile, mbiter: Complete change from 2008-12-21.
9184         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
9185         * m4/mbiter.m4 (gl_MBITER): Likewise.
9186
9187 2011-01-20  Jim Meyering  <meyering@redhat.com>
9188
9189         init.sh: insert space between each function name and "()"
9190         * tests/init.sh: Make it a little easier to see that a function's
9191         name is "warn_", and not "warn" when looking at the first part of
9192         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
9193
9194 2011-01-20  Jim Meyering  <meyering@redhat.com>
9195
9196         mountlist: clean up code formatting
9197         * lib/mountlist.c (read_file_system_list): Split a long line,
9198         correct bracing style, use NULL in place of "(struct statfs *)0",
9199         don't parenthesize return value, add spaces around "=" and after
9200         ";-in-for-stmt".
9201
9202 2011-01-14  Markus Duft <mduft@gentoo.org>
9203
9204         mountlist: add support for Interix
9205         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
9206         Apply statvfs to all entries of /dev/fs.
9207         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
9208         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
9209
9210 2011-01-20  Jim Meyering  <meyering@redhat.com>
9211
9212         maint.mk: improve the public-submodule-commit rule
9213         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
9214         to suppress printing of its commands... unless V=1.
9215         Add git submodule's --quiet option to suppress printing of e.g.,
9216         "Entering gnulib" output.
9217         "cd" into $(srcdir) before running git submodule.
9218
9219 2011-01-20  Bruno Haible  <bruno@clisp.org>
9220
9221         include_next: Fix bug introduced on 2011-01-18.
9222         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
9223         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
9224         ac_cv_header_... variable if the second argument is not 'check'.
9225         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
9226         gl_NEXT_HEADERS_INTERNAL.
9227
9228 2011-01-20  Bruno Haible  <bruno@clisp.org>
9229
9230         Allow the user to avoid the GNULIB_TEST_* macros.
9231         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
9232         Suggested by Paul Eggert.
9233
9234 2011-01-14  Jim Meyering  <meyering@redhat.com>
9235
9236         bootstrap: avoid failure when there is no .gitmodules file
9237         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
9238         has been assigned to, even when its value is the empty string.
9239         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
9240         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
9241         Reported by John W. Eaton <jwe@gnu.org>.
9242
9243 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
9244
9245         assume <ctype.h>, ..., <time.h> exist
9246         For years gnulib has been assuming the existence of the headers
9247         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
9248         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
9249         them, since they don't appear to be needed.
9250         * README (Portability guidelines): Document this.
9251         * lib/flock.c: Assume <fcntl.h> exists.
9252         * lib/regex_internal.h: Assume <locale.h> exists.
9253         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
9254         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
9255         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
9256         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
9257         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
9258         * m4/regex.m4 (gl_REGEX): Likewise.
9259         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
9260         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
9261         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
9262         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
9263         * tests/test-argp.c: Likewise.
9264         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
9265
9266         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
9267         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
9268         AA_APPLE_UNIVERSAL_BUILD.  See
9269         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
9270         * NEWS: Document this.
9271
9272 2011-01-19  Eric Blake  <eblake@redhat.com>
9273
9274         c-stack: assume stack overflow if SA_SIGINFO unsupported
9275         * lib/c-stack.c (SIGACTION_WORKS): Rename...
9276         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
9277         sigaction will work.
9278         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
9279         behavior match Linux.
9280         * tests/test-c-stack.c (main): Prefer NULL for pointers.
9281
9282         stdbool-tests: accomodate Haiku
9283         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
9284
9285         binary-io: fix O_TEXT on Haiku
9286         * modules/binary-io (Depends-on): Add fcntl-h.
9287         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
9288         than blindly undefining O_TEXT.
9289         Reported by Scott McCreary.
9290
9291 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
9292
9293         include_next: do not check for standard headers like stddef.h
9294
9295         I found this problem when modifying Emacs to use gnulib.
9296         I noticed that it added HAVE_STDDEF_H to config.h, even though
9297         gnulib always assumes <stddef.h> exists as per README and this
9298         symbol is unnecessary.
9299         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
9300         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
9301         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
9302         faster for headers like stddef.h that are known to exist.
9303         (gl_CHECK_NEXT_HEADERS): Use it.
9304         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
9305         rather than gl_CHECK_NEXT_HEADERS.
9306         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
9307         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
9308
9309 2011-01-18  Eric Blake  <eblake@redhat.com>
9310
9311         ansi-c++-opt: skip C++ dependency style if C++ is unused
9312         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
9313         tests when we know C++ compilation is not desired.
9314         Reported by Scott McCreary.
9315
9316 2011-01-18  Bruno Haible  <bruno@clisp.org>
9317
9318         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
9319         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
9320         (main): Perform test also when getrlimit and setrlimit don't exist or
9321         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
9322         limiting the address space size using setrlimit, compare the address
9323         space size before and after the the test.
9324         * tests/test-dprintf-posix2.c: Likewise.
9325         * tests/test-fprintf-posix3.sh: Update skip messages.
9326         * tests/test-dprintf-posix2.sh: Likewise.
9327         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
9328         * modules/dprintf-posix-tests (Depends-on): Likewise.
9329         Reported by Bruce Korb <bkorb@gnu.org> and
9330         Gary V. Vaughan <gary@gnu.org>.
9331
9332 2011-01-18  Bruno Haible  <bruno@clisp.org>
9333
9334         get-rusage-as: Improvement for Cygwin.
9335         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
9336         areas that are merely reserved.
9337
9338 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
9339
9340         strftime: remove dependencies on multibyte modules
9341
9342         strftime depended on mbrlen, mbsinit, and wchar, but these modules
9343         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
9344         only if __osf__ is defined, and I suspect OSF doesn't need these
9345         other modules.  If my guess is wrong, we'll need to come up with a
9346         variant of strftime that doesn't need the multibyte modules.
9347
9348         I discovered this problem when attempting modify Emacs to use the
9349         strftime module.  With the previous gnulib, this caused Emacs to
9350         need 31 new files, ranging from lib/config.charset to
9351         m4/wint_t.m4.  This was overkill and I expect would be offputting
9352         to the Emacs maintainers.  After this change, only 6 new files are
9353         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
9354         stdbool.m4, and tm_gmtoff.m4.
9355
9356         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
9357         Suggested by Bruno Haible in
9358         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
9359         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
9360         and do not check for wchar.h.
9361         * modules/strftime (Files): Remove m4/mbstate_t.m4.
9362         (Depends-on): Remove mbrlen, mbsinit, wchar.
9363
9364 2011-01-18  Bruno Haible  <bruno@clisp.org>
9365
9366         Tests for module 'get-rusage-as'.
9367         * modules/get-rusage-as-tests: New file.
9368         * tests/test-get-rusage-as.c: New file.
9369
9370         New module 'get-rusage-as'.
9371         * modules/get-rusage-as: New file.
9372         * lib/resource-ext.h: New file.
9373         * lib/get-rusage-as.c: New file.
9374
9375 2011-01-17  Eric Blake  <eblake@redhat.com>
9376
9377         sigaction: relax license from LGPLv3+ to LGPLv2+
9378         * modules/sigaction (License): Relax to LGPLv2+.
9379
9380 2011-01-14  Bruno Haible  <bruno@clisp.org>
9381
9382         filemode: Make function declarations usable in C++ mode.
9383         * lib/filemode.h: Enclose function declarations in extern "C" block.
9384         Reported by John W. Eaton <jwe@gnu.org>.
9385
9386 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
9387
9388         save-cwd: no longer include "xgetcwd.h"
9389         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
9390         This avoids a compilation failure in projects that use save-cwd
9391         without also using the xgetcwd module.
9392
9393 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
9394
9395         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
9396         This is so that a program like Emacs, which needs only dtoastr,
9397         does not have to bother with distributing and compiling ftoastr
9398         and ldtoastr.
9399         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
9400         * modules/dtoastr, modules/ldtoastr: New files.
9401         * modules/ftoastr: Now works just for 'float'.
9402         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
9403         (Makefile.am): Remove ftoastr.h (not needed and no effect),
9404         dtoastr.c, ldtoastr.c.
9405
9406 2011-01-11  Jim Meyering  <meyering@redhat.com>
9407
9408         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
9409         There is no need to work around the lack of the fchdir function,
9410         since gnulib can now provide a replacement when required.
9411         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
9412         * modules/save-cwd (Depends-on): Add fchdir.
9413
9414 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
9415
9416         openat, save-cwd: avoid xmalloc
9417
9418         This removes a direct (but undocumented) dependency of openat on
9419         xalloc, along with an indirect dependency via save-cwd.  It also
9420         removes a dependency of save-cwd on xgetcwd, and thereby
9421         indirectly on xalloc.  This change causes the openat substitute
9422         to fall back on save_cwd when memory is tight, and for save_cwd to
9423         fail instead of dying when memory is tight, but that's good enough.
9424         Problem and initial idea for fix reported by Bastien Roucaries in
9425         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
9426
9427         * lib/openat-proc.c: Include stdlib.h (for malloc), not
9428         xalloc.h (for xmalloc).
9429         (openat_proc_name): Use malloc, not xmalloc.
9430         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
9431         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
9432
9433         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
9434         This avoids heap allocation for file names whose lengths are in
9435         the range 512..1023, with the upper bound increasing to at most
9436         4031 depending on the platform's PATH_MAX.  (We do not want
9437         pathmax.h here as it might supply a non-constant PATH_MAX.)
9438         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
9439         Perhaps they should be moved to malloca.h?
9440         (OPENAT_BUFFER_SIZE): Use them.
9441
9442 2011-01-10  Bruno Haible  <bruno@clisp.org>
9443
9444         doc: Update users.txt.
9445         * users.txt: Add recutils.
9446
9447 2011-01-09  Karl Berry  <karl@gnu.org>
9448
9449         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
9450
9451         * doc/configmake.texi: New file.
9452         * doc/gnulib.texi: Include it.
9453         * modules/configmake: Move documentation from here.
9454
9455 2011-01-09  Bruno Haible  <bruno@clisp.org>
9456
9457         Update to Unicode 6.0.0.
9458         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
9459         (get_lbp): Update for Unicode 6.0.0.
9460         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
9461         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
9462         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
9463         U+11001, U+11038..U+11046. Remove U+06DE.
9464         (uc_width): Fix bounds of planes.
9465         * tests/uniwidth/test-uc_width2.sh: Same updates as in
9466         lib/uniwidth/width.c.
9467         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
9468         trailing whitespace removed.
9469         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
9470         without comments, but with the original copyright notice.
9471         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
9472         * lib/unicase/ignorable.h: Likewise.
9473         * lib/unicase/tocasefold.h: Likewise.
9474         * lib/unicase/tolower.h: Likewise.
9475         * lib/unicase/totitle.h: Likewise.
9476         * lib/unicase/toupper.h: Likewise.
9477         * lib/unictype/bidi_of.h: Likewise.
9478         * lib/unictype/blocks.h: Likewise.
9479         * lib/unictype/categ_C.h: Likewise.
9480         * lib/unictype/categ_Cn.h: Likewise.
9481         * lib/unictype/categ_L.h: Likewise.
9482         * lib/unictype/categ_Ll.h: Likewise.
9483         * lib/unictype/categ_Lm.h: Likewise.
9484         * lib/unictype/categ_Lo.h: Likewise.
9485         * lib/unictype/categ_Lu.h: Likewise.
9486         * lib/unictype/categ_M.h: Likewise.
9487         * lib/unictype/categ_Mc.h: Likewise.
9488         * lib/unictype/categ_Me.h: Likewise.
9489         * lib/unictype/categ_Mn.h: Likewise.
9490         * lib/unictype/categ_N.h: Likewise.
9491         * lib/unictype/categ_Nd.h: Likewise.
9492         * lib/unictype/categ_No.h: Likewise.
9493         * lib/unictype/categ_P.h: Likewise.
9494         * lib/unictype/categ_Po.h: Likewise.
9495         * lib/unictype/categ_S.h: Likewise.
9496         * lib/unictype/categ_Sc.h: Likewise.
9497         * lib/unictype/categ_Sk.h: Likewise.
9498         * lib/unictype/categ_Sm.h: Likewise.
9499         * lib/unictype/categ_So.h: Likewise.
9500         * lib/unictype/categ_of.h: Likewise.
9501         * lib/unictype/combining.h: Likewise.
9502         * lib/unictype/ctype_alnum.h: Likewise.
9503         * lib/unictype/ctype_alpha.h: Likewise.
9504         * lib/unictype/ctype_graph.h: Likewise.
9505         * lib/unictype/ctype_lower.h: Likewise.
9506         * lib/unictype/ctype_print.h: Likewise.
9507         * lib/unictype/ctype_punct.h: Likewise.
9508         * lib/unictype/ctype_upper.h: Likewise.
9509         * lib/unictype/decdigit.h: Likewise.
9510         * lib/unictype/digit.h: Likewise.
9511         * lib/unictype/numeric.h: Likewise.
9512         * lib/unictype/pr_alphabetic.h: Likewise.
9513         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
9514         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
9515         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
9516         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
9517         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
9518         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
9519         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
9520         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
9521         * lib/unictype/pr_case_ignorable.h: Likewise.
9522         * lib/unictype/pr_cased.h: Likewise.
9523         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
9524         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
9525         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
9526         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
9527         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
9528         * lib/unictype/pr_combining.h: Likewise.
9529         * lib/unictype/pr_composite.h: Likewise.
9530         * lib/unictype/pr_currency_symbol.h: Likewise.
9531         * lib/unictype/pr_decimal_digit.h: Likewise.
9532         * lib/unictype/pr_deprecated.h: Likewise.
9533         * lib/unictype/pr_format_control.h: Likewise.
9534         * lib/unictype/pr_grapheme_base.h: Likewise.
9535         * lib/unictype/pr_grapheme_extend.h: Likewise.
9536         * lib/unictype/pr_grapheme_link.h: Likewise.
9537         * lib/unictype/pr_id_continue.h: Likewise.
9538         * lib/unictype/pr_id_start.h: Likewise.
9539         * lib/unictype/pr_ideographic.h: Likewise.
9540         * lib/unictype/pr_lowercase.h: Likewise.
9541         * lib/unictype/pr_math.h: Likewise.
9542         * lib/unictype/pr_numeric.h: Likewise.
9543         * lib/unictype/pr_other_alphabetic.h: Likewise.
9544         * lib/unictype/pr_other_id_continue.h: Likewise.
9545         * lib/unictype/pr_other_math.h: Likewise.
9546         * lib/unictype/pr_punctuation.h: Likewise.
9547         * lib/unictype/pr_sentence_terminal.h: Likewise.
9548         * lib/unictype/pr_terminal_punctuation.h: Likewise.
9549         * lib/unictype/pr_unassigned_code_value.h: Likewise.
9550         * lib/unictype/pr_unified_ideograph.h: Likewise.
9551         * lib/unictype/pr_uppercase.h: Likewise.
9552         * lib/unictype/pr_xid_continue.h: Likewise.
9553         * lib/unictype/pr_xid_start.h: Likewise.
9554         * lib/unictype/scripts.h: Likewise.
9555         * lib/unictype/scripts_byname.gperf: Likewise.
9556         * lib/unictype/sy_java_ident.h: Likewise.
9557         * lib/unigbrk/gbrkprop.h: Likewise.
9558         * lib/unilbrk/lbrkprop1.h: Likewise.
9559         * lib/unilbrk/lbrkprop2.h: Likewise.
9560         * lib/uninorm/decomposition-table2.h: Likewise.
9561         * lib/uniwbrk/wbrkprop.h: Likewise.
9562         * tests/unicase/test-cased.c: Likewise.
9563         * tests/unicase/test-ignorable.c: Likewise.
9564         * tests/unicase/test-uc_tolower.c: Likewise.
9565         * tests/unicase/test-uc_totitle.c: Likewise.
9566         * tests/unicase/test-uc_toupper.c: Likewise.
9567         * tests/unictype/test-categ_C.c: Likewise.
9568         * tests/unictype/test-categ_Cn.c: Likewise.
9569         * tests/unictype/test-categ_L.c: Likewise.
9570         * tests/unictype/test-categ_Ll.c: Likewise.
9571         * tests/unictype/test-categ_Lm.c: Likewise.
9572         * tests/unictype/test-categ_Lo.c: Likewise.
9573         * tests/unictype/test-categ_Lu.c: Likewise.
9574         * tests/unictype/test-categ_M.c: Likewise.
9575         * tests/unictype/test-categ_Mc.c: Likewise.
9576         * tests/unictype/test-categ_Me.c: Likewise.
9577         * tests/unictype/test-categ_Mn.c: Likewise.
9578         * tests/unictype/test-categ_N.c: Likewise.
9579         * tests/unictype/test-categ_Nd.c: Likewise.
9580         * tests/unictype/test-categ_No.c: Likewise.
9581         * tests/unictype/test-categ_P.c: Likewise.
9582         * tests/unictype/test-categ_Po.c: Likewise.
9583         * tests/unictype/test-categ_S.c: Likewise.
9584         * tests/unictype/test-categ_Sc.c: Likewise.
9585         * tests/unictype/test-categ_Sk.c: Likewise.
9586         * tests/unictype/test-categ_Sm.c: Likewise.
9587         * tests/unictype/test-categ_So.c: Likewise.
9588         * tests/unictype/test-ctype_alnum.c: Likewise.
9589         * tests/unictype/test-ctype_alpha.c: Likewise.
9590         * tests/unictype/test-ctype_graph.c: Likewise.
9591         * tests/unictype/test-ctype_lower.c: Likewise.
9592         * tests/unictype/test-ctype_print.c: Likewise.
9593         * tests/unictype/test-ctype_punct.c: Likewise.
9594         * tests/unictype/test-ctype_upper.c: Likewise.
9595         * tests/unictype/test-decdigit.h: Likewise.
9596         * tests/unictype/test-digit.h: Likewise.
9597         * tests/unictype/test-numeric.h: Likewise.
9598         * tests/unictype/test-pr_alphabetic.c: Likewise.
9599         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
9600         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
9601         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
9602         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
9603         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
9604         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
9605         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
9606         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
9607         * tests/unictype/test-pr_case_ignorable.c: Likewise.
9608         * tests/unictype/test-pr_cased.c: Likewise.
9609         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
9610         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
9611         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
9612         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
9613         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
9614         * tests/unictype/test-pr_combining.c: Likewise.
9615         * tests/unictype/test-pr_composite.c: Likewise.
9616         * tests/unictype/test-pr_currency_symbol.c: Likewise.
9617         * tests/unictype/test-pr_decimal_digit.c: Likewise.
9618         * tests/unictype/test-pr_deprecated.c: Likewise.
9619         * tests/unictype/test-pr_format_control.c: Likewise.
9620         * tests/unictype/test-pr_grapheme_base.c: Likewise.
9621         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
9622         * tests/unictype/test-pr_grapheme_link.c: Likewise.
9623         * tests/unictype/test-pr_id_continue.c: Likewise.
9624         * tests/unictype/test-pr_id_start.c: Likewise.
9625         * tests/unictype/test-pr_ideographic.c: Likewise.
9626         * tests/unictype/test-pr_lowercase.c: Likewise.
9627         * tests/unictype/test-pr_math.c: Likewise.
9628         * tests/unictype/test-pr_numeric.c: Likewise.
9629         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
9630         * tests/unictype/test-pr_other_id_continue.c: Likewise.
9631         * tests/unictype/test-pr_other_math.c: Likewise.
9632         * tests/unictype/test-pr_punctuation.c: Likewise.
9633         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
9634         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
9635         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
9636         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
9637         * tests/unictype/test-pr_uppercase.c: Likewise.
9638         * tests/unictype/test-pr_xid_continue.c: Likewise.
9639         * tests/unictype/test-pr_xid_start.c: Likewise.
9640         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
9641         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
9642         changes.
9643         * lib/unictype/categ_Cc.h: Likewise.
9644         * lib/unictype/categ_Cf.h: Likewise.
9645         * lib/unictype/categ_Co.h: Likewise.
9646         * lib/unictype/categ_Cs.h: Likewise.
9647         * lib/unictype/categ_Lt.h: Likewise.
9648         * lib/unictype/categ_Nl.h: Likewise.
9649         * lib/unictype/categ_Pc.h: Likewise.
9650         * lib/unictype/categ_Pd.h: Likewise.
9651         * lib/unictype/categ_Pe.h: Likewise.
9652         * lib/unictype/categ_Pf.h: Likewise.
9653         * lib/unictype/categ_Pi.h: Likewise.
9654         * lib/unictype/categ_Ps.h: Likewise.
9655         * lib/unictype/categ_Z.h: Likewise.
9656         * lib/unictype/categ_Zl.h: Likewise.
9657         * lib/unictype/categ_Zp.h: Likewise.
9658         * lib/unictype/categ_Zs.h: Likewise.
9659         * lib/unictype/ctype_blank.h: Likewise.
9660         * lib/unictype/ctype_cntrl.h: Likewise.
9661         * lib/unictype/ctype_digit.h: Likewise.
9662         * lib/unictype/ctype_space.h: Likewise.
9663         * lib/unictype/ctype_xdigit.h: Likewise.
9664         * lib/unictype/mirror.h: Likewise.
9665         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
9666         * lib/unictype/pr_bidi_block_separator.h: Likewise.
9667         * lib/unictype/pr_bidi_common_separator.h: Likewise.
9668         * lib/unictype/pr_bidi_control.h: Likewise.
9669         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
9670         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
9671         * lib/unictype/pr_bidi_european_digit.h: Likewise.
9672         * lib/unictype/pr_bidi_pdf.h: Likewise.
9673         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
9674         * lib/unictype/pr_bidi_whitespace.h: Likewise.
9675         * lib/unictype/pr_dash.h: Likewise.
9676         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
9677         * lib/unictype/pr_diacritic.h: Likewise.
9678         * lib/unictype/pr_extender.h: Likewise.
9679         * lib/unictype/pr_hex_digit.h: Likewise.
9680         * lib/unictype/pr_hyphen.h: Likewise.
9681         * lib/unictype/pr_ids_binary_operator.h: Likewise.
9682         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
9683         * lib/unictype/pr_ignorable_control.h: Likewise.
9684         * lib/unictype/pr_iso_control.h: Likewise.
9685         * lib/unictype/pr_join_control.h: Likewise.
9686         * lib/unictype/pr_left_of_pair.h: Likewise.
9687         * lib/unictype/pr_line_separator.h: Likewise.
9688         * lib/unictype/pr_logical_order_exception.h: Likewise.
9689         * lib/unictype/pr_non_break.h: Likewise.
9690         * lib/unictype/pr_not_a_character.h: Likewise.
9691         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
9692         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
9693         * lib/unictype/pr_other_id_start.h: Likewise.
9694         * lib/unictype/pr_other_lowercase.h: Likewise.
9695         * lib/unictype/pr_other_uppercase.h: Likewise.
9696         * lib/unictype/pr_paired_punctuation.h: Likewise.
9697         * lib/unictype/pr_paragraph_separator.h: Likewise.
9698         * lib/unictype/pr_pattern_syntax.h: Likewise.
9699         * lib/unictype/pr_pattern_white_space.h: Likewise.
9700         * lib/unictype/pr_private_use.h: Likewise.
9701         * lib/unictype/pr_quotation_mark.h: Likewise.
9702         * lib/unictype/pr_radical.h: Likewise.
9703         * lib/unictype/pr_soft_dotted.h: Likewise.
9704         * lib/unictype/pr_space.h: Likewise.
9705         * lib/unictype/pr_titlecase.h: Likewise.
9706         * lib/unictype/pr_variation_selector.h: Likewise.
9707         * lib/unictype/pr_white_space.h: Likewise.
9708         * lib/unictype/pr_zero_width.h: Likewise.
9709         * lib/unictype/sy_c_ident.h: Likewise.
9710         * lib/unictype/sy_c_whitespace.h: Likewise.
9711         * lib/unictype/sy_java_whitespace.h: Likewise.
9712         * lib/uninorm/composition-table.gperf: Likewise.
9713         * lib/uninorm/decomposition-table1.h: Likewise.
9714         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
9715         LB8.
9716         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
9717         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
9718         * modules/unictype/*: Bump version number of expected libunistring
9719         version.
9720
9721 2011-01-09  Bruno Haible  <bruno@clisp.org>
9722
9723         Update to Unicode 5.2.0.
9724         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
9725         trailing whitespace removed.
9726
9727 2011-01-09  Bruno Haible  <bruno@clisp.org>
9728
9729         New Unicode character properties, from Unicode 5.2.0.
9730         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
9731         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
9732         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
9733         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
9734         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
9735         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
9736         uc_is_property_cased, uc_is_property_case_ignorable,
9737         uc_is_property_changes_when_lowercased,
9738         uc_is_property_changes_when_uppercased,
9739         uc_is_property_changes_when_titlecased,
9740         uc_is_property_changes_when_casefolded,
9741         uc_is_property_changes_when_casemapped): New declarations.
9742         * lib/unictype/pr_byname.gperf: Add the new properties.
9743         * modules/unictype/property-byname (Depends-on): Depend on the new
9744         properties modules.
9745         * modules/unictype/property-all (Depends-on): Likewise.
9746         * MODULES.html.sh (Unicode string functions): Add
9747         unictype/property-case-ignorable, unictype/property-cased,
9748         unictype/property-changes-when-casefolded,
9749         unictype/property-changes-when-casemapped,
9750         unictype/property-changes-when-lowercased,
9751         unictype/property-changes-when-titlecased,
9752         unictype/property-changes-when-uppercased.
9753
9754         New module 'unictype/property-changes-when-casemapped'.
9755         * modules/unictype/property-changes-when-casemapped: New file.
9756         * lib/unictype/pr_changes_when_casemapped.c: New file.
9757         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
9758         generated by gen-uni-tables.
9759         * modules/unictype/property-changes-when-casemapped-tests: New file.
9760         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
9761         automatically generated by gen-uni-tables.
9762
9763         New module 'unictype/property-changes-when-casefolded'.
9764         * modules/unictype/property-changes-when-casefolded: New file.
9765         * lib/unictype/pr_changes_when_casefolded.c: New file.
9766         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
9767         generated by gen-uni-tables.
9768         * modules/unictype/property-changes-when-casefolded-tests: New file.
9769         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
9770         automatically generated by gen-uni-tables.
9771
9772         New module 'unictype/property-changes-when-titlecased'.
9773         * modules/unictype/property-changes-when-titlecased: New file.
9774         * lib/unictype/pr_changes_when_titlecased.c: New file.
9775         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
9776         generated by gen-uni-tables.
9777         * modules/unictype/property-changes-when-titlecased-tests: New file.
9778         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
9779         automatically generated by gen-uni-tables.
9780
9781         New module 'unictype/property-changes-when-uppercased'.
9782         * modules/unictype/property-changes-when-uppercased: New file.
9783         * lib/unictype/pr_changes_when_uppercased.c: New file.
9784         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
9785         generated by gen-uni-tables.
9786         * modules/unictype/property-changes-when-uppercased-tests: New file.
9787         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
9788         automatically generated by gen-uni-tables.
9789
9790         New module 'unictype/property-changes-when-lowercased'.
9791         * modules/unictype/property-changes-when-lowercased: New file.
9792         * lib/unictype/pr_changes_when_lowercased.c: New file.
9793         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
9794         generated by gen-uni-tables.
9795         * modules/unictype/property-changes-when-lowercased-tests: New file.
9796         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
9797         automatically generated by gen-uni-tables.
9798
9799         New module 'unictype/property-case-ignorable'.
9800         * modules/unictype/property-case-ignorable: New file.
9801         * lib/unictype/pr_case_ignorable.c: New file.
9802         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
9803         by gen-uni-tables.
9804         * modules/unictype/property-case-ignorable-tests: New file.
9805         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
9806         generated by gen-uni-tables.
9807
9808         New module 'unictype/property-cased'.
9809         * modules/unictype/property-cased: New file.
9810         * lib/unictype/pr_cased.c: New file.
9811         * lib/unictype/pr_cased.h: New file, automatically generated by
9812         gen-uni-tables.
9813         * modules/unictype/property-cased-tests: New file.
9814         * tests/unictype/test-pr_cased.c: New file, automatically generated by
9815         gen-uni-tables.
9816
9817 2011-01-09  Bruno Haible  <bruno@clisp.org>
9818
9819         Update to Unicode 5.2.0.
9820         * lib/gen-uni-tables.c (output_predicate, output_category,
9821         output_combclass, output_bidi_category, output_decimal_digit_test,
9822         output_decimal_digit, output_digit_test, output_digit,
9823         output_numeric_test, output_numeric, output_mirror, output_scripts,
9824         output_scripts_byname, output_blocks, output_ident_category): Fix
9825         comment header.
9826         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
9827         get_wbp.
9828         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
9829         items.
9830         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
9831         Changes_When_Lowercased, Changes_When_Uppercased,
9832         Changes_When_Titlecased, Changes_When_Casefolded,
9833         Changes_When_Casemapped.
9834         (is_property_alphabetic, is_property_default_ignorable_code_point):
9835         Update for Unicode 5.2.0.
9836         (is_property_cased, is_property_case_ignorable,
9837         is_property_changes_when_lowercased,
9838         is_property_changes_when_uppercased,
9839         is_property_changes_when_titlecased,
9840         is_property_changes_when_casefolded,
9841         is_property_changes_when_casemapped): New functions.
9842         (output_properties): Output also the properties cased, case_ignorable,
9843         changes_when_lowercased, changes_when_uppercased,
9844         changes_when_titlecased, changes_when_casefolded,
9845         changes_when_casemapped.
9846         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
9847         Unicode TR#11 revision 17 -> 19.
9848         (LBP_CP): New enumeration value.
9849         (LBP_*): Adjust values accordingly.
9850         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
9851         TR#14 revision 22 -> 24.
9852         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
9853         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
9854         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
9855         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
9856         is_WBP_MIDLETTER.
9857         (output_composition_tables): Allow for 24 bits instead of 16 bits in
9858         the code1 and code2 of each composition rule.
9859         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
9860         * lib/unicase/ignorable.h: Likewise.
9861         * lib/unicase/tocasefold.h: Likewise.
9862         * lib/unicase/tolower.h: Likewise.
9863         * lib/unicase/totitle.h: Likewise.
9864         * lib/unicase/toupper.h: Likewise.
9865         * lib/unictype/bidi_of.h: Likewise.
9866         * lib/unictype/blocks.h: Likewise.
9867         * lib/unictype/categ_C.h: Likewise.
9868         * lib/unictype/categ_Cf.h: Likewise.
9869         * lib/unictype/categ_Cn.h: Likewise.
9870         * lib/unictype/categ_L.h: Likewise.
9871         * lib/unictype/categ_Ll.h: Likewise.
9872         * lib/unictype/categ_Lm.h: Likewise.
9873         * lib/unictype/categ_Lo.h: Likewise.
9874         * lib/unictype/categ_Lu.h: Likewise.
9875         * lib/unictype/categ_M.h: Likewise.
9876         * lib/unictype/categ_Mc.h: Likewise.
9877         * lib/unictype/categ_Mn.h: Likewise.
9878         * lib/unictype/categ_N.h: Likewise.
9879         * lib/unictype/categ_Nd.h: Likewise.
9880         * lib/unictype/categ_Nl.h: Likewise.
9881         * lib/unictype/categ_No.h: Likewise.
9882         * lib/unictype/categ_P.h: Likewise.
9883         * lib/unictype/categ_Pd.h: Likewise.
9884         * lib/unictype/categ_Po.h: Likewise.
9885         * lib/unictype/categ_S.h: Likewise.
9886         * lib/unictype/categ_Sc.h: Likewise.
9887         * lib/unictype/categ_So.h: Likewise.
9888         * lib/unictype/categ_of.h: Likewise.
9889         * lib/unictype/combining.h: Likewise.
9890         * lib/unictype/ctype_alnum.h: Likewise.
9891         * lib/unictype/ctype_alpha.h: Likewise.
9892         * lib/unictype/ctype_graph.h: Likewise.
9893         * lib/unictype/ctype_lower.h: Likewise.
9894         * lib/unictype/ctype_print.h: Likewise.
9895         * lib/unictype/ctype_punct.h: Likewise.
9896         * lib/unictype/ctype_upper.h: Likewise.
9897         * lib/unictype/decdigit.h: Likewise.
9898         * lib/unictype/digit.h: Likewise.
9899         * lib/unictype/numeric.h: Likewise.
9900         * lib/unictype/pr_alphabetic.h: Likewise.
9901         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
9902         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
9903         * lib/unictype/pr_bidi_european_digit.h: Likewise.
9904         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
9905         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
9906         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
9907         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
9908         * lib/unictype/pr_combining.h: Likewise.
9909         * lib/unictype/pr_composite.h: Likewise.
9910         * lib/unictype/pr_currency_symbol.h: Likewise.
9911         * lib/unictype/pr_dash.h: Likewise.
9912         * lib/unictype/pr_decimal_digit.h: Likewise.
9913         * lib/unictype/pr_deprecated.h: Likewise.
9914         * lib/unictype/pr_diacritic.h: Likewise.
9915         * lib/unictype/pr_extender.h: Likewise.
9916         * lib/unictype/pr_grapheme_base.h: Likewise.
9917         * lib/unictype/pr_grapheme_extend.h: Likewise.
9918         * lib/unictype/pr_grapheme_link.h: Likewise.
9919         * lib/unictype/pr_id_continue.h: Likewise.
9920         * lib/unictype/pr_id_start.h: Likewise.
9921         * lib/unictype/pr_ideographic.h: Likewise.
9922         * lib/unictype/pr_ignorable_control.h: Likewise.
9923         * lib/unictype/pr_logical_order_exception.h: Likewise.
9924         * lib/unictype/pr_lowercase.h: Likewise.
9925         * lib/unictype/pr_numeric.h: Likewise.
9926         * lib/unictype/pr_other_alphabetic.h: Likewise.
9927         * lib/unictype/pr_punctuation.h: Likewise.
9928         * lib/unictype/pr_sentence_terminal.h: Likewise.
9929         * lib/unictype/pr_terminal_punctuation.h: Likewise.
9930         * lib/unictype/pr_unassigned_code_value.h: Likewise.
9931         * lib/unictype/pr_unified_ideograph.h: Likewise.
9932         * lib/unictype/pr_uppercase.h: Likewise.
9933         * lib/unictype/pr_xid_continue.h: Likewise.
9934         * lib/unictype/pr_xid_start.h: Likewise.
9935         * lib/unictype/pr_zero_width.h: Likewise.
9936         * lib/unictype/scripts.h: Likewise.
9937         * lib/unictype/scripts_byname.gperf: Likewise.
9938         * lib/unictype/sy_java_ident.h: Likewise.
9939         * lib/unigbrk/gbrkprop.h: Likewise.
9940         * lib/unilbrk/lbrkprop1.h: Likewise.
9941         * lib/unilbrk/lbrkprop2.h: Likewise.
9942         * lib/unilbrk/lbrktables.h: Likewise.
9943         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
9944         LBP_CP. Implement rule LB30.
9945         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
9946         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
9947         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
9948         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
9949         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
9950         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
9951         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
9952         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
9953         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
9954         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
9955         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
9956         bits instead of 16 bits in the code1 and code2 of each composition
9957         rule.
9958         (uc_composition): Update for Unicode 5.2.0.
9959         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
9960         * lib/uninorm/decomposition-table2.h: Likewise.
9961         * lib/uniwbrk/wbrkprop.h: Likewise.
9962         * tests/unicase/test-cased.c: Likewise.
9963         * tests/unicase/test-ignorable.c: Likewise.
9964         * tests/unicase/test-uc_tolower.c: Likewise.
9965         * tests/unicase/test-uc_totitle.c: Likewise.
9966         * tests/unicase/test-uc_toupper.c: Likewise.
9967         * tests/unictype/test-categ_C.c: Likewise.
9968         * tests/unictype/test-categ_Cf.c: Likewise.
9969         * tests/unictype/test-categ_Cn.c: Likewise.
9970         * tests/unictype/test-categ_L.c: Likewise.
9971         * tests/unictype/test-categ_Ll.c: Likewise.
9972         * tests/unictype/test-categ_Lm.c: Likewise.
9973         * tests/unictype/test-categ_Lo.c: Likewise.
9974         * tests/unictype/test-categ_Lu.c: Likewise.
9975         * tests/unictype/test-categ_M.c: Likewise.
9976         * tests/unictype/test-categ_Mc.c: Likewise.
9977         * tests/unictype/test-categ_Mn.c: Likewise.
9978         * tests/unictype/test-categ_N.c: Likewise.
9979         * tests/unictype/test-categ_Nd.c: Likewise.
9980         * tests/unictype/test-categ_Nl.c: Likewise.
9981         * tests/unictype/test-categ_No.c: Likewise.
9982         * tests/unictype/test-categ_P.c: Likewise.
9983         * tests/unictype/test-categ_Pd.c: Likewise.
9984         * tests/unictype/test-categ_Po.c: Likewise.
9985         * tests/unictype/test-categ_S.c: Likewise.
9986         * tests/unictype/test-categ_Sc.c: Likewise.
9987         * tests/unictype/test-categ_So.c: Likewise.
9988         * tests/unictype/test-ctype_alnum.c: Likewise.
9989         * tests/unictype/test-ctype_alpha.c: Likewise.
9990         * tests/unictype/test-ctype_graph.c: Likewise.
9991         * tests/unictype/test-ctype_lower.c: Likewise.
9992         * tests/unictype/test-ctype_print.c: Likewise.
9993         * tests/unictype/test-ctype_punct.c: Likewise.
9994         * tests/unictype/test-ctype_upper.c: Likewise.
9995         * tests/unictype/test-decdigit.h: Likewise.
9996         * tests/unictype/test-digit.h: Likewise.
9997         * tests/unictype/test-numeric.h: Likewise.
9998         * tests/unictype/test-pr_alphabetic.c: Likewise.
9999         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
10000         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
10001         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
10002         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
10003         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
10004         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
10005         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
10006         * tests/unictype/test-pr_combining.c: Likewise.
10007         * tests/unictype/test-pr_composite.c: Likewise.
10008         * tests/unictype/test-pr_currency_symbol.c: Likewise.
10009         * tests/unictype/test-pr_dash.c: Likewise.
10010         * tests/unictype/test-pr_decimal_digit.c: Likewise.
10011         * tests/unictype/test-pr_deprecated.c: Likewise.
10012         * tests/unictype/test-pr_diacritic.c: Likewise.
10013         * tests/unictype/test-pr_extender.c: Likewise.
10014         * tests/unictype/test-pr_grapheme_base.c: Likewise.
10015         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
10016         * tests/unictype/test-pr_grapheme_link.c: Likewise.
10017         * tests/unictype/test-pr_id_continue.c: Likewise.
10018         * tests/unictype/test-pr_id_start.c: Likewise.
10019         * tests/unictype/test-pr_ideographic.c: Likewise.
10020         * tests/unictype/test-pr_ignorable_control.c: Likewise.
10021         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
10022         * tests/unictype/test-pr_lowercase.c: Likewise.
10023         * tests/unictype/test-pr_numeric.c: Likewise.
10024         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
10025         * tests/unictype/test-pr_punctuation.c: Likewise.
10026         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
10027         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
10028         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
10029         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
10030         * tests/unictype/test-pr_uppercase.c: Likewise.
10031         * tests/unictype/test-pr_xid_continue.c: Likewise.
10032         * tests/unictype/test-pr_xid_start.c: Likewise.
10033         * tests/unictype/test-pr_zero_width.c: Likewise.
10034         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
10035         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
10036         changed behaviour: line breaking is now disallowed between a letter
10037         or '=' and '('.
10038         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
10039         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
10040         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
10041         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
10042         * tests/uniwidth/test-uc_width2.sh: Same updates as in
10043         lib/uniwidth/width.c.
10044         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
10045         without comments, but with the original copyright notice.
10046         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
10047         changes.
10048         * lib/unictype/categ_Cc.h: Likewise.
10049         * lib/unictype/categ_Co.h: Likewise.
10050         * lib/unictype/categ_Cs.h: Likewise.
10051         * lib/unictype/categ_Lt.h: Likewise.
10052         * lib/unictype/categ_Me.h: Likewise.
10053         * lib/unictype/categ_Pc.h: Likewise.
10054         * lib/unictype/categ_Pe.h: Likewise.
10055         * lib/unictype/categ_Pf.h: Likewise.
10056         * lib/unictype/categ_Pi.h: Likewise.
10057         * lib/unictype/categ_Ps.h: Likewise.
10058         * lib/unictype/categ_Sk.h: Likewise.
10059         * lib/unictype/categ_Sm.h: Likewise.
10060         * lib/unictype/categ_Z.h: Likewise.
10061         * lib/unictype/categ_Zl.h: Likewise.
10062         * lib/unictype/categ_Zp.h: Likewise.
10063         * lib/unictype/categ_Zs.h: Likewise.
10064         * lib/unictype/ctype_blank.h: Likewise.
10065         * lib/unictype/ctype_cntrl.h: Likewise.
10066         * lib/unictype/ctype_digit.h: Likewise.
10067         * lib/unictype/ctype_space.h: Likewise.
10068         * lib/unictype/ctype_xdigit.h: Likewise.
10069         * lib/unictype/mirror.h: Likewise.
10070         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
10071         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
10072         * lib/unictype/pr_bidi_block_separator.h: Likewise.
10073         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
10074         * lib/unictype/pr_bidi_common_separator.h: Likewise.
10075         * lib/unictype/pr_bidi_control.h: Likewise.
10076         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
10077         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
10078         * lib/unictype/pr_bidi_pdf.h: Likewise.
10079         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
10080         * lib/unictype/pr_bidi_whitespace.h: Likewise.
10081         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
10082         * lib/unictype/pr_format_control.h: Likewise.
10083         * lib/unictype/pr_hex_digit.h: Likewise.
10084         * lib/unictype/pr_hyphen.h: Likewise.
10085         * lib/unictype/pr_ids_binary_operator.h: Likewise.
10086         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
10087         * lib/unictype/pr_iso_control.h: Likewise.
10088         * lib/unictype/pr_join_control.h: Likewise.
10089         * lib/unictype/pr_left_of_pair.h: Likewise.
10090         * lib/unictype/pr_line_separator.h: Likewise.
10091         * lib/unictype/pr_math.h: Likewise.
10092         * lib/unictype/pr_non_break.h: Likewise.
10093         * lib/unictype/pr_not_a_character.h: Likewise.
10094         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
10095         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
10096         * lib/unictype/pr_other_id_continue.h: Likewise.
10097         * lib/unictype/pr_other_id_start.h: Likewise.
10098         * lib/unictype/pr_other_lowercase.h: Likewise.
10099         * lib/unictype/pr_other_math.h: Likewise.
10100         * lib/unictype/pr_other_uppercase.h: Likewise.
10101         * lib/unictype/pr_paired_punctuation.h: Likewise.
10102         * lib/unictype/pr_paragraph_separator.h: Likewise.
10103         * lib/unictype/pr_pattern_syntax.h: Likewise.
10104         * lib/unictype/pr_pattern_white_space.h: Likewise.
10105         * lib/unictype/pr_private_use.h: Likewise.
10106         * lib/unictype/pr_quotation_mark.h: Likewise.
10107         * lib/unictype/pr_radical.h: Likewise.
10108         * lib/unictype/pr_soft_dotted.h: Likewise.
10109         * lib/unictype/pr_space.h: Likewise.
10110         * lib/unictype/pr_titlecase.h: Likewise.
10111         * lib/unictype/pr_variation_selector.h: Likewise.
10112         * lib/unictype/pr_white_space.h: Likewise.
10113         * lib/unictype/sy_c_ident.h: Likewise.
10114         * lib/unictype/sy_c_whitespace.h: Likewise.
10115         * lib/unictype/sy_java_whitespace.h: Likewise.
10116         * modules/uni*/*: Bump version number of expected libunistring version.
10117         Reported by Simon Josefsson.
10118
10119 2011-01-09  Karl Heuer  <kwzh@gnu.org>
10120
10121         useless-if-before-free: fix typo in --help and make the internal,
10122         automatic version date update process work once again.
10123         --help output contained a NUL character instead of the
10124         backslash-zero that was intended.  Also, the "must lie within
10125         the first 8 lines" line is on line 9, and hence not getting
10126         automatically updated.
10127         * build-aux/useless-if-before-free: Fix the former by adding a
10128         backslash, and the latter by condensing the three lines of what-it-does
10129         to a single line, leaving one line of slack for the future.
10130
10131 2011-01-09  Bruno Haible  <bruno@clisp.org>
10132
10133         uniwidth/width: Fix width of U+1D173..U+1D17A.
10134         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
10135         symbolic_width, output_width_property_test): New functions.
10136         (main): Invoke output_nonspacing_property, output_width_property_test.
10137         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
10138         U+1D173..U+1D17A.
10139         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
10140         1.
10141         * modules/uniwidth/*: Bump version number of expected libunistring
10142         version.
10143         * modules/unilbrk/*: Likewise.
10144
10145 2011-01-08  Bruno Haible  <bruno@clisp.org>
10146
10147         uninorm tests: Preserve copyright of Unicode data file.
10148         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
10149         Mention modifications.
10150
10151 2011-01-08  Bruno Haible  <bruno@clisp.org>
10152
10153         gen-uni-tables: Prepare for Unicode 5.2.0.
10154         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
10155         (debug_output_lbp, output_lbp): Update.
10156
10157 2011-01-08  Bruno Haible  <bruno@clisp.org>
10158
10159         unilbrk: Clarify gen-uni-tables.c code.
10160         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
10161         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
10162         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
10163
10164 2011-01-07  Bruno Haible  <bruno@clisp.org>
10165
10166         strtod: Restore errno when successfully parsing Infinity or NaN.
10167         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
10168         restore the original errno.
10169
10170 2011-01-07  Bruno Haible  <bruno@clisp.org>
10171
10172         remove test: Avoid failure on HP-UX 11.
10173         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
10174
10175 2011-01-07  Bruno Haible  <bruno@clisp.org>
10176
10177         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
10178         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
10179         error code.
10180
10181 2011-01-07  Pádraig Brady <P@draigBrady.com>
10182
10183         ignore-value: fixup comments, and add Eric Blake
10184         as an author since he rewrote the macros.
10185         * lib/ignore-value.h (ignore_value):  State that
10186         we now support aggregates.  Also specify exactly
10187         when the GCC warn_unused_result feature was added.
10188
10189 2011-01-06  Eric Blake  <eblake@redhat.com>
10190
10191         ignore-value: support aggregate types
10192         * lib/ignore-value.h (ignore_value): Provide separate gcc
10193         definition.
10194         * modules/ignore-value-tests: New test module.
10195         * tests/test-ignore-value.c: New test.
10196
10197         maint.mk: improve sc_prohibit_strcmp regex
10198         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
10199         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
10200         definition of STRNEQ.
10201
10202         signal: work around Haiku issue with SIGBUS
10203         * lib/siglist.h: Add comment.
10204         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
10205         strsignal's favoring of SIGSEGV.
10206         * tests/test-signal.c (main): Avoid test failure.
10207         * doc/posix-headers/signal.texi (signal.h): Document the issue.
10208         Reported by Scott McCreary.
10209
10210         maint.mk: add pre-release check to ensure submodule commits are public
10211         * top/maint.mk (public-submodule-commit): New rule.
10212         (submodule-checks): New variable.
10213         (alpha beta stable): Depend on the variable.
10214
10215 2011-01-05  Pádraig Brady <P@draigBrady.com>
10216         and Jim Meyering  <meyering@redhat.com>
10217
10218         ignore-value: make ignore_value more generic; deprecate ignore_ptr
10219         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
10220         (ATTRIBUTE_DEPRECATED): Define.
10221         (_ignore_case): New function.
10222         (ignore_value): New macro, to replace the old function.
10223         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
10224         * modules/ignore-value (Depends-on): Add stdint.
10225
10226 2011-01-04  Eric Blake  <eblake@redhat.com>
10227
10228         doc: regenerate INSTALL
10229         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
10230         @firstparagraphindent support, now that autoconf dropped it.
10231         (INSTALL_PRELUDE): Reinstate old macro.
10232         * doc/install.texi: Resync from autoconf.
10233         * doc/INSTALL: Reflect recent autoconf update.
10234         * doc/INSTALL.ISO: Likewise.
10235         * doc/INSTALL.UTF-8: Likewise.
10236         Reported by Karl Berry.
10237
10238 2011-01-04  Bruce Korb  <address@hidden>
10239
10240         git-version-gen: avoid a sub-shell
10241         * build-aux/git-version-gen: Redirect stderr in `...` via
10242         "exec 2>...", rather than via an added sub-shell.
10243
10244 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
10245
10246         git-version-gen: use (...) rather than sh -c '...'
10247         * build-aux/git-version-gen: Rather than hard-coding a shell's name
10248         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
10249
10250 2011-01-03  Jim Meyering  <meyering@redhat.com>
10251
10252         git-version-gen: convert leading TABs to spaces
10253         * build-aux/git-version-gen: Expand leading TABs.
10254
10255         git-version-gen: handle failed "git rev-list"
10256         * build-aux/git-version-gen: Rather than leaking a "fatal" error
10257         from git and proceeding as if it had succeeded but printed no SHA1
10258         checksums, suppress the diagnostic and handle the failure.
10259         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
10260
10261         git-version-gen: include command name in one more diagnostic
10262         * build-aux/git-version-gen: When the required .tarball-version file
10263         was missing or unreadable, you might see the diagnostic from "cat",
10264         but no trace of the name of the invoking script.  Now, you still see
10265         the diagnostic from cat, but also get one from "git-version-gen: ".
10266         Inspired by a patch from Bruce Korb.
10267
10268         update-copyright: adjust test to match changed code
10269         * tests/test-update-copyright.sh: Change test's expected output
10270         to match new actual output.
10271
10272 2011-01-02  Bruno Haible  <bruno@clisp.org>
10273
10274         getlogin_r: Avoid test failure on HP-UX 11.
10275         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
10276         ERANGE when the second argument is zero.
10277         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
10278         portability problem.
10279
10280 2011-01-02  Bruce Korb  <bkorb@gnu.org>
10281
10282         * build-aux/update-copyright: doc Simon's changes
10283
10284 2011-01-02  Simon Josefsson  <simon@josefsson.org>
10285
10286         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
10287         environment variable.
10288
10289 2011-01-02  Bruno Haible  <bruno@clisp.org>
10290
10291         unigbrk: Avoid gcc warnings.
10292         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
10293         unused variable.
10294         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
10295         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
10296         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
10297         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
10298         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
10299         Change type of first argument to 'const char *'.
10300         (main): Remove unused variable.
10301         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
10302         type of first argument to 'const char *'.
10303         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
10304         Likewise.
10305         (main): Change type of variable 's'.
10306         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
10307         to 'int'.
10308
10309 2011-01-02  Bruno Haible  <bruno@clisp.org>
10310
10311         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
10312         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
10313         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
10314         bug.
10315         * lib/pwrite.c: Undo 2010-12-31 patch.
10316         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
10317
10318 2011-01-02  Bruno Haible  <bruno@clisp.org>
10319
10320         pread: Fix test whether it works.
10321         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
10322
10323 2011-01-02  Bruno Haible  <bruno@clisp.org>
10324
10325         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
10326         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
10327         ends in "6". Don't require a specific month name. Try also the locale
10328         names found on HP-UX 11 and Solaris 7.
10329
10330 2011-01-02  Bruno Haible  <bruno@clisp.org>
10331
10332         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
10333         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
10334         C linkage.
10335         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
10336
10337 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
10338
10339         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
10340         for consistency, since the "cluster" term is not used elsewhere.
10341         * lib/unigbrk.in.h: Update name.
10342         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
10343         * lib/unigbrk/u16-grapheme-next.c: Update name.
10344         * lib/unigbrk/u16-grapheme-prev.c: Update name.
10345         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
10346         * lib/unigbrk/u32-grapheme-next.c: Update name.
10347         * lib/unigbrk/u32-grapheme-prev.c: Update name.
10348         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
10349         * lib/unigbrk/u8-grapheme-next.c: Update name.
10350         * lib/unigbrk/u8-grapheme-prev.c: Update name.
10351         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
10352         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
10353         Suggested by Bruno Haible.
10354
10355 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
10356
10357         Remove module 'u8-grapheme-len' as too redundant with
10358         'u8-grapheme-next'.
10359         * modules/unigbrk/u8-grapheme-len: Delete file.
10360         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
10361         * lib/unigbrk.in.h: Remove prototype for deleted function.
10362         * lib/unigbrk/u8-grapheme-len.c: Delete file.
10363         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
10364
10365         Remove module 'u16-grapheme-len' as too redundant with
10366         'u16-grapheme-next'.
10367         * modules/unigbrk/u16-grapheme-len: Delete file.
10368         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
10369         * lib/unigbrk.in.h: Remove prototype for deleted function.
10370         * lib/unigbrk/u16-grapheme-len.c: Delete file.
10371         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
10372
10373         Remove module 'u32-grapheme-len' as too redundant with
10374         'u32-grapheme-next'.
10375         * modules/unigbrk/u32-grapheme-len: Delete file.
10376         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
10377         * lib/unigbrk.in.h: Remove prototype for deleted function.
10378         * lib/unigbrk/u32-grapheme-len.c: Delete file.
10379         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
10380
10381         Suggested by Bruno Haible.
10382
10383 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
10384
10385         * unigbrk.in.h: Fix typo: "ben" => "been".
10386         Reported by Bruno Haible.
10387
10388 2011-01-01  Jim Meyering  <meyering@redhat.com>
10389
10390         maint: update almost all copyright ranges to include 2011
10391         Run the new "make update-copyright" rule.
10392
10393 2011-01-01  Jim Meyering  <meyering@redhat.com>
10394
10395         maint: update-copyright: exempt doc/INSTALL*
10396         * Makefile (update-copyright): Also exclude doc/INSTALL*,
10397         since they are generated.  Suggested by Bruno Haible.
10398
10399 2011-01-01  Jim Meyering  <meyering@redhat.com>
10400
10401         maint: refine the update-copyright rule
10402         * Makefile (update-copyright): Also exclude any file that includes
10403         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
10404         code that merely generates the comment.
10405
10406 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
10407
10408         New module 'u8-grapheme-len'.
10409         * modules/unigbrk/u8-grapheme-len: New file.
10410         * modules/unigbrk/u8-grapheme-len-tests: New file.
10411         * lib/unigbrk.in.h: Add prototype for new function.
10412         * lib/unigbrk/u8-grapheme-len.c: New file.
10413         * tests/unigbrk/test-u8-grapheme-len.c: New file.
10414
10415         New module 'u16-grapheme-len'.
10416         * modules/unigbrk/u16-grapheme-len: New file.
10417         * modules/unigbrk/u16-grapheme-len-tests: New file.
10418         * lib/unigbrk.in.h: Add prototype for new function.
10419         * lib/unigbrk/u16-grapheme-len.c: New file.
10420         * tests/unigbrk/test-u16-grapheme-len.c: New file.
10421
10422         New module 'u32-grapheme-len'.
10423         * modules/unigbrk/u32-grapheme-len: New file.
10424         * modules/unigbrk/u32-grapheme-len-tests: New file.
10425         * lib/unigbrk.in.h: Add prototype for new function.
10426         * lib/unigbrk/u32-grapheme-len.c: New file.
10427         * tests/unigbrk/test-u32-grapheme-len.c: New file.
10428
10429         New module 'u8-grapheme-next'.
10430         * modules/unigbrk/u8-grapheme-next: New file.
10431         * modules/unigbrk/u8-grapheme-next-tests: New file.
10432         * lib/unigbrk.in.h: Add prototype for new function.
10433         * lib/unigbrk/u8-grapheme-next.c: New file.
10434         * tests/unigbrk/test-u8-grapheme-next.c: New file.
10435
10436         New module 'u16-grapheme-next'.
10437         * modules/unigbrk/u16-grapheme-next: New file.
10438         * modules/unigbrk/u16-grapheme-next-tests: New file.
10439         * lib/unigbrk.in.h: Add prototype for new function.
10440         * lib/unigbrk/u16-grapheme-next.c: New file.
10441         * tests/unigbrk/test-u16-grapheme-next.c: New file.
10442
10443         New module 'u32-grapheme-next'.
10444         * modules/unigbrk/u32-grapheme-next: New file.
10445         * modules/unigbrk/u32-grapheme-next-tests: New file.
10446         * lib/unigbrk.in.h: Add prototype for new function.
10447         * lib/unigbrk/u32-grapheme-next.c: New file.
10448         * tests/unigbrk/test-u32-grapheme-next.c: New file.
10449
10450         New module 'u8-grapheme-prev'.
10451         * modules/unigbrk/u8-grapheme-prev: New file.
10452         * modules/unigbrk/u8-grapheme-prev-tests: New file.
10453         * lib/unigbrk.in.h: Add prototype for new function.
10454         * lib/unigbrk/u8-grapheme-prev.c: New file.
10455         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
10456
10457         New module 'u16-grapheme-prev'.
10458         * modules/unigbrk/u16-grapheme-prev: New file.
10459         * modules/unigbrk/u16-grapheme-prev-tests: New file.
10460         * lib/unigbrk.in.h: Add prototype for new function.
10461         * lib/unigbrk/u16-grapheme-prev.c: New file.
10462         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
10463
10464         New module 'u32-grapheme-prev'.
10465         * modules/unigbrk/u32-grapheme-prev: New file.
10466         * modules/unigbrk/u32-grapheme-prev-tests: New file.
10467         * lib/unigbrk.in.h: Add prototype for new function.
10468         * lib/unigbrk/u32-grapheme-prev.c: New file.
10469         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
10470
10471         New module 'u8-grapheme-breaks'.
10472         * modules/unigbrk/u8-grapheme-breaks: New file.
10473         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
10474         * lib/unigbrk.in.h: Add prototype for new function.
10475         * lib/unigbrk/u8-grapheme-breaks.c: New file.
10476         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
10477
10478         New module 'u16-grapheme-breaks'.
10479         * modules/unigbrk/u16-grapheme-breaks: New file.
10480         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
10481         * lib/unigbrk.in.h: Add prototype for new function.
10482         * lib/unigbrk/u16-grapheme-breaks.c: New file.
10483         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
10484
10485         New module 'u32-grapheme-breaks'.
10486         * modules/unigbrk/u32-grapheme-breaks: New file.
10487         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
10488         * lib/unigbrk.in.h: Add prototype for new function.
10489         * lib/unigbrk/u32-grapheme-breaks.c: New file.
10490         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
10491
10492         New module 'ulc-grapheme-breaks'.
10493         * modules/unigbrk/ulc-grapheme-breaks: New file.
10494         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
10495         * m4/locale-ar.m4: New file.
10496         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
10497         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
10498         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
10499
10500 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
10501
10502         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
10503         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
10504         modified how this file was generated before I initially submitted
10505         the module, but failed to regenerate it.  This meant that several
10506         of the level2 entries were wrong.
10507         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
10508         Remove the division-by-2 that is folded into the table now that
10509         gbrkprop.h has been regenerated properly.  Now -1 entries are
10510         handled correctly.
10511
10512         New module 'unigbrk/uc-gbrk-prop-tests'.
10513         * modules/unigbrk/uc-gbrk-prop-tests: New file.
10514         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
10515         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
10516         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
10517
10518 2011-01-01  Bruno Haible  <bruno@clisp.org>
10519
10520         Avoid use of hexadecimal escapes.
10521         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
10522         instead of hexadecimal escapes.
10523
10524 2011-01-01  Jim Meyering  <meyering@redhat.com>
10525
10526         maint: new rule to update copyright year ranges
10527         * Makefile (update-copyright): New rule.
10528
10529         maint: indent with TABs in Makefile
10530         * Makefile: Expand leading sequences of spaces to TABs
10531
10532         version-etc: update the copyright year it reports
10533         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
10534
10535 2010-12-31  Bruno Haible  <bruno@clisp.org>
10536
10537         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
10538         * lib/isfinite.c (zerof, zerod, zerol): New variables.
10539         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
10540         zero.
10541
10542 2010-12-31  Bruno Haible  <bruno@clisp.org>
10543
10544         pwrite: Work around HP-UX 11.11 bug.
10545         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
10546         works and set REPLACE_PWRITE if not.
10547         * lib/pwrite.c (pwrite): Add an implementation that uses the system
10548         function.
10549         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
10550
10551 2010-12-31  Bruno Haible  <bruno@clisp.org>
10552
10553         pread: Work around HP-UX 11 bugs.
10554         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
10555         and set REPLACE_PREAD if not.
10556         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
10557
10558 2010-12-31  Eric Blake  <eblake@redhat.com>
10559
10560         nl_langinfo: fix YESEXPR on Irix 6.5
10561         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
10562         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
10563         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
10564         it.
10565
10566 2010-12-31  Bruno Haible  <bruno@clisp.org>
10567
10568         iconv: Document HP-UX 11 bug.
10569         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
10570
10571 2010-12-31  Bruno Haible  <bruno@clisp.org>
10572
10573         ldexpl: Fix link error on HP-UX 11.
10574         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
10575         LDEXPL_LIBM, using $ISNANL_LIBM.
10576
10577 2010-12-31  Eric Blake  <eblake@redhat.com>
10578
10579         ftello: avoid compilation failure with SunStudio c89
10580         * lib/ftello.c (ftello): Use lseek, not llseek.
10581
10582         tests: avoid failing coreutils tests on cygwin
10583         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
10584         (create_exe_shims_): Return 0 when skipping.
10585
10586 2010-12-31  Bruno Haible  <bruno@clisp.org>
10587
10588         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
10589         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
10590
10591 2010-12-31  Bruno Haible  <bruno@clisp.org>
10592
10593         waitpid: Fix link error in C++ mode.
10594         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
10595
10596 2010-12-31  Bruno Haible  <bruno@clisp.org>
10597
10598         isnan: Use GCC built-ins when possible.
10599         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
10600         __builtin_isnan.
10601         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
10602         (isnan): Define using GCC built-ins for GCC >= 4.0.
10603
10604 2010-12-31  Bruno Haible  <bruno@clisp.org>
10605
10606         isnand: Fix mistake.
10607         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
10608         __builtin_isnand.
10609
10610 2010-12-31  Bruno Haible  <bruno@clisp.org>
10611
10612         open: Avoid C++ error on HP-UX 11.
10613         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
10614
10615 2010-12-31  Bruno Haible  <bruno@clisp.org>
10616
10617         time_r: Add missing declarations on HP-UX 11.
10618         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
10619         instead of HAVE_LOCALTIME_R.
10620         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
10621         HAVE_LOCALTIME_R always.
10622         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
10623         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
10624         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
10625         HAVE_LOCALTIME_R.
10626         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
10627         * doc/posix-functions/localtime_r.texi: Likewise.
10628
10629 2010-12-29  Eric Blake  <eblake@redhat.com>
10630
10631         mountlist: tweak previous commit
10632         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
10633         Reported by Paul Eggert.
10634
10635         mountlist: fix local drive detection on cygwin
10636         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
10637         that works for cygwin.
10638
10639 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
10640
10641         ftoastr, snprintf: ftoastr + snprintf module
10642         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
10643         since the snprintf module now should be good enough here.
10644         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
10645         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
10646         and gl_MODULE_INDICATOR([snprintf]), but the former enables
10647         GNULIB_SNPRINTF only for the test directory, and the latter
10648         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
10649         seems to suffice by itself.
10650
10651 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
10652
10653         alloca: one step towards thread-safety
10654         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
10655         need for a static variable.  All callers changed.  This does not
10656         make the alloca replacement thread-safe, but it's one step.
10657
10658         tests: minor indenting change
10659         * tests/init.sh: Sync from coreutils housekeeping patch
10660         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
10661         to keep lines within 80 columns.
10662
10663 2010-12-28  Jim Meyering  <meyering@redhat.com>
10664
10665         regex: don't infloop on persistent failing calloc
10666         * lib/regexec.c (build_trtable): Return failure indication upon
10667         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
10668         In glibc, this was fixed for version 2.13:
10669         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
10670
10671 2010-12-28  Bruno Haible  <bruno@clisp.org>
10672             Paul Eggert <eggert@cs.ucla.edu>
10673
10674         linkat: Make implementation robust against system behaviour variations.
10675         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
10676         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
10677         way, and to -2 if it needs a generic runtime test.
10678         * lib/linkat.c (solaris_optimized_link_immediate,
10679         solaris_optimized_link_follow): New functions.
10680         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
10681         (check_same_link): Use it.
10682
10683 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
10684
10685         New module 'unigbrk/base'.
10686         * modules/unigbrk/base: New file.
10687         * lib/unigbrk.in.h: New file.
10688
10689         New module 'unigbrk/uc-gbrk-prop'.
10690         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
10691         * modules/unigbrk/uc-gbrk-prop: New file.
10692         * lib/unigbrk/gbrkprop.h: New file.
10693         * lib/unigbrk/uc-gbrk-prop.c: New file.
10694
10695         New module 'unigbrk/uc-is-grapheme-break'.
10696         * modules/unigbrk/uc-is-grapheme-break: New file.
10697         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
10698         * lib/unigbrk/uc-is-grapheme-break.c: New file.
10699         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
10700         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
10701         * tests/unigbrk/GraphemeBreakTest.txt: New file.
10702
10703         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
10704
10705 2010-12-27  Bruno Haible  <bruno@clisp.org>
10706
10707         linkat test: Avoid failure on Solaris 11 2010-11.
10708         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
10709
10710 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
10711
10712         utimens: work around glibc rounding bug on more platforms
10713         * lib/utimens.c (fdutimens): Work around rounding bug even if
10714         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
10715         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
10716
10717 2010-12-27  Bruno Haible  <bruno@clisp.org>
10718
10719         select tests: Improve comments.
10720         * tests/test-select.c (do_select): Add comments.
10721
10722 2010-12-27  Bruno Haible  <bruno@clisp.org>
10723
10724         select tests: Safer way of handling timeout.
10725         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
10726         at every invocation.
10727
10728 2010-12-27  Bruno Haible  <bruno@clisp.org>
10729
10730         select tests: Use 'bool' where appropriate.
10731         * tests/test-select.c (connect_to_socket): Change argument type to
10732         'bool'.
10733
10734 2010-12-27  Bruno Haible  <bruno@clisp.org>
10735
10736         select tests: Use existing modules.
10737         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
10738         (configure.ac): Don't test for unistd.h.
10739         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
10740         declared in <unistd.h>.
10741
10742 2010-12-27  Bruno Haible  <bruno@clisp.org>
10743
10744         mbrtowc: Work around a Solaris 7 bug.
10745         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
10746         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
10747         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
10748         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
10749         MBRTOWC_NULL_ARG1_BUG.
10750         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
10751         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
10752         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
10753         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
10754
10755 2010-12-27  Jim Meyering  <meyering@redhat.com>
10756
10757         read-file.c: tweak syntax
10758         * lib/read-file.c (fread_file): Remove space after "*" in function
10759         definitions.
10760
10761 2010-12-27  Bruno Haible  <bruno@clisp.org>
10762
10763         times test: Avoid gcc warnings on OSF/1.
10764         * tests/test-times.c (main): Cast printf arguments from clock_t to
10765         'long int'.
10766
10767 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
10768
10769         utimens: work around glibc rounding bug on older Linux kernels
10770         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
10771         on Linux with a glibc whose utimes might not work, then work
10772         around a longstanding glibc bug involving rounding rather than
10773         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
10774         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
10775
10776 2010-12-26  Bruno Haible  <bruno@clisp.org>
10777
10778         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
10779         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
10780         _GL_CXXALIAS_SYS.
10781         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
10782
10783 2010-12-26  Bruno Haible  <bruno@clisp.org>
10784
10785         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
10786         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
10787         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
10788         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
10789         looking for the declaration.
10790         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
10791         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
10792         problem.
10793         * doc/posix-functions/inet_pton.texi: Likewise.
10794
10795 2010-12-26  Bruno Haible  <bruno@clisp.org>
10796
10797         arpa_inet: Use the common idioms with C++ support.
10798         * lib/arpa_inet.in.h: Include c++defs.h.
10799         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
10800         support.
10801         * modules/arpa_inet (Depends-on): Add c++defs.
10802         (Makefile.am): Substitute the contents of c++defs.h.
10803         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
10804         * modules/arpa_inet-c++-tests: New file.
10805         * tests/test-arpa_inet-c++.cc: New file.
10806
10807 2010-12-25  Bruno Haible  <bruno@clisp.org>
10808
10809         Fix more C++ link errors on Solaris 8.
10810         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
10811         $(LIB_EACCESS).
10812         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
10813         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
10814         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
10815         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
10816         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
10817
10818 2010-12-25  Bruno Haible  <bruno@clisp.org>
10819
10820         printf-posix: Fix link error when a non-GCC compiler is used.
10821         * lib/stdio.in.h (printf): When not using GCC, override printf
10822         correctly.
10823         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
10824
10825 2010-12-25  Bruno Haible  <bruno@clisp.org>
10826
10827         strerror_r-posix: Update doc.
10828         * doc/posix-functions/strerror_r.texi: Update doc about the return
10829         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
10830
10831 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
10832
10833         utimens: simplify the logic of the previous change
10834         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
10835         This should not affect whether the test succeeds or fails.
10836
10837         utimens: configure better on hosts with NFS clock skew
10838         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
10839         uses the clock of the local host.  It might use the clock of the
10840         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
10841         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
10842
10843 2010-12-25  Bruno Haible  <bruno@clisp.org>
10844
10845         ptsname test: Avoid failure on Solaris.
10846         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
10847         open a pseudo-terminal; don't use BSD-style ptys.
10848         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
10849
10850 2010-12-25  Bruno Haible  <bruno@clisp.org>
10851
10852         ptsname: Avoid ERANGE failure on some systems.
10853         * lib/ptsname.c (buffer): Increase size.
10854
10855 2010-12-25  Bruno Haible  <bruno@clisp.org>
10856
10857         rename, renameat: Avoid test failures at NFS mounted locations.
10858         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
10859         so that subsequent mkdir calls succeed.
10860
10861 2010-12-25  Bruno Haible  <bruno@clisp.org>
10862
10863         iswblank: Fix C++ link error on Solaris 8.
10864         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
10865         _GL_FUNCDECL_SYS.
10866
10867 2010-12-25  Bruno Haible  <bruno@clisp.org>
10868
10869         unistd: Fix C++ link error on Solaris 8.
10870         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
10871
10872 2010-12-25  Bruno Haible  <bruno@clisp.org>
10873
10874         readlink doc: Mention an old glibc bug.
10875         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
10876
10877 2010-12-25  Bruno Haible  <bruno@clisp.org>
10878
10879         fcntl-h: Fix for use of C++ on glibc systems.
10880         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
10881         also on glibc systems in C++ mode.
10882         Reported by Gary V. Vaughan <gary@gnu.org>.
10883
10884 2010-12-25  Bruno Haible  <bruno@clisp.org>
10885
10886         roundl-ieee: Make it work on OSF/1 5.1 with cc.
10887         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
10888
10889 2010-12-25  Bruno Haible  <bruno@clisp.org>
10890
10891         truncl-ieee: Make it work on OSF/1 5.1 with cc.
10892         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
10893         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
10894         test whether truncl works according to ISO C 99 with IEC 60559.
10895         * m4/truncl-ieee.m4: New file.
10896         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
10897         m4/signbit.m4.
10898         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
10899
10900 2010-12-25  Bruno Haible  <bruno@clisp.org>
10901
10902         ceill-ieee: Make it work on OSF/1 5.1 with cc.
10903         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
10904         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
10905         test whether ceill works according to ISO C 99 with IEC 60559.
10906         * m4/ceill-ieee.m4: New file.
10907         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
10908         m4/signbit.m4.
10909         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
10910
10911 2010-12-25  Bruno Haible  <bruno@clisp.org>
10912
10913         Ensure all prerequisites of <wchar.h> are included.
10914         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
10915         before <wchar.h>.
10916         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
10917         gl_MBRLEN_NUL_RETVAL): Likewise.
10918         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
10919         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
10920         AC_FUNC_MBRTOWC): Likewise.
10921         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
10922         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
10923         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
10924         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
10925         Likewise.
10926         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
10927         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
10928         (gl_WCHAR_H): Improve comments.
10929         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
10930
10931 2010-12-25  Bruno Haible  <bruno@clisp.org>
10932
10933         strtok_r: Fix C syntax error in autoconf macro.
10934         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
10935         characters in test program.
10936
10937 2010-12-24  Bruno Haible  <bruno@clisp.org>
10938
10939         ceil, trunc, round: Fix gcc warnings.
10940         * lib/ceil.c (MIN): Undefine before redefining.
10941         * lib/trunc.c (MIN): Likewise.
10942         * lib/round.c (MIN): Likewise.
10943         Include <math.h> first.
10944
10945 2010-12-24  Bruno Haible  <bruno@clisp.org>
10946
10947         select tests: Avoid failures on OSF/1 5.1.
10948         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
10949         failure of closing the last socket; it may fail with ECONNRESET.
10950
10951 2010-12-24  Eric Blake  <eblake@redhat.com>
10952
10953         stdint: avoid HP-UX 10.20 preprocessor bug
10954         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
10955         than #if.
10956         * tests/test-floor2.c (main): Likewise.
10957         Reported by Peter O'Gorman.
10958
10959         pipe: make obsoletion transition easier
10960         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
10961         * modules/pipe (Files): Include revived file.
10962         (Include): Drop reference, to mirror getdate's behavior.
10963
10964 2010-12-24  Bruno Haible  <bruno@clisp.org>
10965
10966         sys_socket: Hide mismatch of declarations on NonStop Kernel.
10967         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
10968         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
10969         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
10970
10971 2010-12-24  Bruno Haible  <bruno@clisp.org>
10972
10973         gethostname: Ensure declaration on NonStop Kernel.
10974         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
10975         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
10976
10977 2010-12-24  Bruno Haible  <bruno@clisp.org>
10978
10979         sys_select: Ensure all necessary types on NonStop Kernel.
10980         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
10981         include <sys/time.h>.
10982         * doc/posix-headers/sys_select.texi: Mention that it's missing on
10983         NonStop Kernel.
10984         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
10985
10986 2010-12-24  Bruno Haible  <bruno@clisp.org>
10987
10988         sys_select: Remove unneeded include.
10989         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
10990         have <sys/select.h>.
10991
10992 2010-12-24  Bruno Haible  <bruno@clisp.org>
10993
10994         gethostname: Provide a fallback for HOST_NAME_MAX.
10995         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
10996         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
10997         instead.
10998         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
10999
11000 2010-12-24  Bruno Haible  <bruno@clisp.org>
11001
11002         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
11003         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
11004         (SA_RESTART): Likewise.
11005         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
11006
11007 2010-12-24  Bruno Haible  <bruno@clisp.org>
11008
11009         signal: Define NSIG.
11010         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
11011         * tests/test-signal.c (nsig): New variable.
11012         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
11013
11014 2010-12-24  Bruno Haible  <bruno@clisp.org>
11015
11016         rename, renameat: Avoid test failures on OSF/1 5.1.
11017         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
11018         alternative error codes.
11019         * tests/test-renameat.c (main): Likewise.
11020
11021 2010-12-24  Bruno Haible  <bruno@clisp.org>
11022
11023         *printf: Detect large precisions bug on Solaris 10/SPARC.
11024         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
11025         by Paul Eggert.
11026         * tests/test-snprintf-posix.h (test_function): Add this test code here
11027         too.
11028         * tests/test-sprintf-posix.h (test_function): Likewise.
11029         * tests/test-vasnprintf-posix.c (test_function): Likewise.
11030         * tests/test-vasprintf-posix.c (test_function): Likewise.
11031         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
11032         around by gnulib.
11033         * doc/posix-functions/printf.texi: Likewise.
11034         * doc/posix-functions/snprintf.texi: Likewise.
11035         * doc/posix-functions/sprintf.texi: Likewise.
11036         * doc/posix-functions/vfprintf.texi: Likewise.
11037         * doc/posix-functions/vprintf.texi: Likewise.
11038         * doc/posix-functions/vsnprintf.texi: Likewise.
11039         * doc/posix-functions/vsprintf.texi: Likewise.
11040         * doc/posix-functions/dprintf.texi: Undo last commit.
11041         * doc/posix-functions/vdprintf.texi: Likewise.
11042
11043 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
11044
11045         tests: port test-fdutimensat.c to Solaris 8
11046         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
11047         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
11048         On Solaris 8, it fails with errno == ENOSYS, because there is no
11049         futimens (so it can't use the fd), and there is no lutimens (so it
11050         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
11051
11052         vsnprintf: make more consistent with snprintf; doc fixes
11053
11054         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
11055         the byte count return problem was promoted from the snprintf-posix
11056         to the snprintf module.
11057         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
11058         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
11059         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
11060         * tests/test-snprintf.c (main): Check the byte count returned.
11061         * tests/test-vsnprintf.c (main): Likewise.
11062
11063 2010-12-23  Eric Blake  <eblake@redhat.com>
11064
11065         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
11066         * modules/sigpipe (License): Relax license.
11067
11068 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
11069
11070         doc: document Solaris printf bug with large float precisions
11071         * doc/posix-functions/dprintf.texi (dprintf):
11072         * doc/posix-functions/fprintf.texi (fprintf):
11073         * doc/posix-functions/printf.texi (printf):
11074         * doc/posix-functions/snprintf.texi (snprintf):
11075         * doc/posix-functions/sprintf.texi (sprintf):
11076         * doc/posix-functions/vdprintf.texi (vdprintf):
11077         * doc/posix-functions/vfprintf.texi (vfprintf):
11078         * doc/posix-functions/vprintf.texi (vprintf):
11079         * doc/posix-functions/vsnprintf.texi (vsnprintf):
11080         * doc/posix-functions/vsprintf.texi (vsprintf):
11081         Mention that these functions mishandle large floating point
11082         precisions on Solaris 10.  The same bug is also present in Solaris
11083         8, and I assume earlier.  This causes "cd gnulib-tests; make
11084         check" to fail on Solaris 8 (and I assume, later) when building
11085         the latest coreutils, in test-vasprintf-posix's call to
11086         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
11087         the wide flavors (e.g., wprintf) so this patch just updates the
11088         documentation for the narrow ones.
11089
11090         test-posixtm.c: add two tests
11091         * tests/test-posixtm.c: Add two tests, to highlight the
11092         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
11093         around this bug; this is merely to document it.
11094
11095 2010-12-22  Bruno Haible  <bruno@clisp.org>
11096
11097         getlogin_r: Work around portability problem on OSF/1.
11098         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
11099         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
11100         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
11101         test for a truncated result.
11102         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
11103         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
11104         * modules/getlogin_r (Depends-on): Add memchr.
11105         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
11106
11107 2010-12-22  Bruno Haible  <bruno@clisp.org>
11108
11109         ptsname: Avoid test failure on OSF/1 5.1.
11110         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
11111         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
11112         (same_slave): New function.
11113         (main): Use it to compare ptsname's result with the expected file name.
11114
11115 2010-12-22  Bruno Haible  <bruno@clisp.org>
11116
11117         Port extended stdio modules to HP NonStop Kernel.
11118         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
11119         macros.
11120         * lib/fbufmode.c: Update comments.
11121         * lib/fflush.c: Likewise.
11122         * lib/fpurge.c: Likewise.
11123         * lib/freadable.c: Likewise.
11124         * lib/freadahead.c: Likewise.
11125         * lib/freading.c: Likewise.
11126         * lib/freadptr.c: Likewise.
11127         * lib/freadseek.c: Likewise.
11128         * lib/fseeko.c: Likewise.
11129         * lib/fseterr.c: Likewise.
11130         * lib/fwritable.c: Likewise.
11131         * lib/fwriting.c: Likewise.
11132         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
11133
11134 2010-12-22  Bruno Haible  <bruno@clisp.org>
11135
11136         ttyname_r: Work around bug on OSF/1 5.1.
11137         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
11138         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
11139         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
11140         present.
11141         * lib/ttyname_r.c (ttyname_r): Update comments.
11142
11143 2010-12-22  Bruno Haible  <bruno@clisp.org>
11144
11145         round: Implement result sign according to IEEE 754.
11146         * lib/round.c (MIN, MINUS_ZERO): New macros.
11147         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
11148         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
11149         * tests/test-round-ieee.c (main): Likewise.
11150         * tests/test-roundl-ieee.c (main): Likewise.
11151
11152         trunc: Implement result sign according to IEEE 754.
11153         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
11154         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
11155         * tests/test-trunc2.c: Include minus-zero.h.
11156         (MINUS_ZERO): New macro.
11157         (trunc_reference): Keep in sync with lib/trunc.c.
11158         * tests/test-truncf2.c: Include minus-zero.h.
11159         (MINUS_ZERO): New macro.
11160         (truncf_reference): Keep in sync with lib/trunc.c.
11161         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
11162         * tests/test-trunc-ieee.c (main): Likewise.
11163         * tests/test-truncl-ieee.c (main): Likewise.
11164
11165         ceil: Implement result sign according to IEEE 754.
11166         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
11167         (FUNC): Return -0.0 for -1 < x < 0.
11168         * tests/test-ceil2.c: Include minus-zero.h.
11169         (MINUS_ZERO): New macro.
11170         (ceil_reference): Keep in sync with lib/ceil.c.
11171         * tests/test-ceilf2.c: Include minus-zero.h.
11172         (MINUS_ZERO): New macro.
11173         (ceilf_reference): Keep in sync with lib/ceil.c.
11174         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
11175         * tests/test-ceil-ieee.c (main): Likewise.
11176         * tests/test-ceill-ieee.c (main): Likewise.
11177
11178         floor: Implement result sign according to IEEE 754.
11179         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
11180         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
11181         * tests/test-floorf2.c (floorf_reference): Likewise.
11182         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
11183         * tests/test-floor-ieee.c (main): Likewise.
11184         * tests/test-floorl-ieee.c (main): Likewise.
11185
11186 2010-12-22  Bruno Haible  <bruno@clisp.org>
11187
11188         getaddrinfo: Update doc.
11189         * doc/posix-functions/gai_strerror.texi: Return type is also different
11190         on AIX and HP-UX.
11191
11192 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
11193
11194         getaddrinfo, inet_ntop: Update doc for Solaris.
11195         * doc/posix-functions/gai_strerror.texi: Return type is also an
11196         issue on Solaris 9 and earlier.
11197         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
11198         on Solaris 10 and earlier.
11199
11200 2010-12-21  Bruno Haible  <bruno@clisp.org>
11201
11202         New module 'roundl-ieee'.
11203         * modules/roundl-ieee: New file.
11204         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
11205         test whether roundl works according to ISO C 99 with IEC 60559.
11206         * m4/roundl-ieee.m4: New file.
11207         * modules/roundl-ieee-tests: New file.
11208         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
11209         * tests/test-roundl.c (main): Remove signbit tests.
11210         * modules/roundl-tests (Depends-on): Remove signbit.
11211         * doc/posix-functions/roundl.texi: Mention the new module.
11212
11213 2010-12-21  Bruno Haible  <bruno@clisp.org>
11214
11215         New module 'truncl-ieee'.
11216         * modules/truncl-ieee: New file.
11217         * modules/truncl-ieee-tests: New file.
11218         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
11219         * tests/test-truncl.c (main): Remove signbit tests.
11220         * modules/truncl-tests (Depends-on): Remove signbit.
11221         * doc/posix-functions/truncl.texi: Mention the new module.
11222
11223 2010-12-21  Bruno Haible  <bruno@clisp.org>
11224
11225         New module 'ceill-ieee'.
11226         * modules/ceill-ieee: New file.
11227         * modules/ceill-ieee-tests: New file.
11228         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
11229         * tests/test-ceill.c (main): Remove signbit tests.
11230         * modules/ceill-tests (Depends-on): Remove signbit.
11231         * doc/posix-functions/ceill.texi: Mention the new module.
11232
11233 2010-12-21  Bruno Haible  <bruno@clisp.org>
11234
11235         New module 'floorl-ieee'.
11236         * modules/floorl-ieee: New file.
11237         * modules/floorl-ieee-tests: New file.
11238         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
11239         * tests/test-floorl.c (main): Remove signbit tests.
11240         * modules/floorl-tests (Depends-on): Remove signbit.
11241         * doc/posix-functions/floorl.texi: Mention the new module.
11242
11243 2010-12-21  Bruno Haible  <bruno@clisp.org>
11244
11245         New module 'round-ieee'.
11246         * modules/round-ieee: New file.
11247         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
11248         whether round works according to ISO C 99 with IEC 60559.
11249         * m4/round-ieee.m4: New file.
11250         * modules/round-ieee-tests: New file.
11251         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
11252         * tests/test-round1.c (main): Remove signbit tests.
11253         * modules/round-tests (Depends-on): Remove 'signbit'.
11254         * doc/posix-functions/round.texi: Mention the new module.
11255
11256 2010-12-21  Bruno Haible  <bruno@clisp.org>
11257
11258         New module 'trunc-ieee'.
11259         * modules/trunc-ieee: New file.
11260         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
11261         whether trunc works according to ISO C 99 with IEC 60559.
11262         * m4/trunc-ieee.m4: New file.
11263         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
11264         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
11265         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
11266         * modules/trunc-ieee-tests: New file.
11267         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
11268         * tests/test-trunc1.c (main): Remove signbit tests.
11269         * modules/trunc-tests (Depends-on): Remove 'signbit'.
11270         * doc/posix-functions/trunc.texi: Mention the new module.
11271
11272 2010-12-21  Bruno Haible  <bruno@clisp.org>
11273
11274         New module 'ceil-ieee'.
11275         * modules/ceil-ieee: New file.
11276         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
11277         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
11278         ISO C 99 with IEC 60559.
11279         * m4/ceil-ieee.m4: New file.
11280         * modules/ceil (Files): Add lib/ceil.c.
11281         (Depends-on): Add 'float'.
11282         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
11283         * lib/math.in.h (ceil): New declaration.
11284         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
11285         REPLACE_CEIL.
11286         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
11287         * modules/ceil-ieee-tests: New file.
11288         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
11289         * tests/test-math-c++.cc: Check the signature of 'ceil'.
11290         * doc/posix-functions/ceil.texi: Mention the new module.
11291
11292 2010-12-21  Bruno Haible  <bruno@clisp.org>
11293
11294         New module 'floor-ieee'.
11295         * modules/floor-ieee: New file.
11296         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
11297         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
11298         ISO C 99 with IEC 60559.
11299         * m4/floor-ieee.m4: New file.
11300         * modules/floor (Files): Add lib/floor.c.
11301         (Depends-on): Add 'float'.
11302         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
11303         * lib/math.in.h (floor): New declaration.
11304         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
11305         REPLACE_FLOOR.
11306         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
11307         * modules/floor-ieee-tests: New file.
11308         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
11309         * tests/test-math-c++.cc: Check the signature of 'floor'.
11310         * doc/posix-functions/floor.texi: Mention the new module.
11311
11312 2010-12-21  Bruno Haible  <bruno@clisp.org>
11313
11314         New module 'roundf-ieee'.
11315         * modules/roundf-ieee: New file.
11316         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
11317         test whether roundf works according to ISO C 99 with IEC 60559.
11318         * m4/roundf-ieee.m4: New file.
11319         * modules/roundf-ieee-tests: New file.
11320         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
11321         * tests/test-roundf1.c (main): Remove signbit tests.
11322         * modules/roundf-tests (Depends-on): Remove 'signbit'.
11323         * doc/posix-functions/roundf.texi: Mention the new module.
11324
11325 2010-12-21  Bruno Haible  <bruno@clisp.org>
11326
11327         New module 'truncf-ieee'.
11328         * modules/truncf-ieee: New file.
11329         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
11330         test whether truncf works according to ISO C 99 with IEC 60559.
11331         * m4/truncf-ieee.m4: New file.
11332         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
11333         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
11334         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
11335         * modules/truncf-ieee-tests: New file.
11336         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
11337         * tests/test-truncf1.c (main): Remove signbit tests.
11338         * modules/truncf-tests (Depends-on): Remove 'signbit'.
11339         * doc/posix-functions/truncf.texi: Mention the new module.
11340
11341 2010-12-21  Bruno Haible  <bruno@clisp.org>
11342
11343         New module 'ceilf-ieee'.
11344         * modules/ceilf-ieee: New file.
11345         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
11346         test whether ceilf works according to ISO C 99 with IEC 60559.
11347         * m4/ceilf-ieee.m4: New file.
11348         * modules/ceilf-ieee-tests: New file.
11349         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
11350         * tests/test-ceilf1.c (main): Remove signbit tests.
11351         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
11352         * doc/posix-functions/ceilf.texi: Mention the new module.
11353
11354 2010-12-21  Bruno Haible  <bruno@clisp.org>
11355
11356         New module 'floorf-ieee'.
11357         * modules/floorf-ieee: New file.
11358         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
11359         test whether floorf works according to ISO C 99 with IEC 60559.
11360         * m4/floorf-ieee.m4: New file.
11361         * modules/floorf-ieee-tests: New file.
11362         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
11363         * tests/test-floorf1.c (main): Remove signbit tests.
11364         * modules/floorf-tests (Depends-on): Remove 'signbit'.
11365         * doc/posix-functions/floorf.texi: Mention the new module.
11366
11367 2010-12-21  Bruno Haible  <bruno@clisp.org>
11368
11369         Support for minus zero in autoconf macros.
11370         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
11371         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
11372         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
11373         * tests/minus-zero.h: Update comments.
11374
11375 2010-12-21  Bruno Haible  <bruno@clisp.org>
11376
11377         Tests for module 'ceil'.
11378         * modules/ceil-tests: New file.
11379         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
11380         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
11381
11382 2010-12-21  Bruno Haible  <bruno@clisp.org>
11383
11384         Tests for module 'floor'.
11385         * modules/floor-tests: New file.
11386         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
11387         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
11388
11389 2010-12-21  Bruno Haible  <bruno@clisp.org>
11390
11391         math: Fix indentation.
11392         * lib/math.in.h (floorf): Fix indentation.
11393
11394 2010-12-21  Bruno Haible  <bruno@clisp.org>
11395
11396         Fix cross-compilation guesses on Solaris.
11397         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
11398         not match "solaris2.10".
11399         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
11400         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
11401         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
11402
11403 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
11404
11405         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
11406         This fixes a problem observed with the latest coreutils snapshot
11407         that caused a test to fail on Solaris 8.  src/csplit.c's call
11408         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
11409         earlier, instead of returning the number of bytes that would have
11410         been generated; this causes csplit to incorrectly report memory
11411         exhaustion.
11412         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
11413         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
11414         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
11415         comments to match.
11416         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
11417         Fix typo in matching older versions of Solaris: "solaris2.10"
11418         is matched by the shell pattern "solaris2.[0-9]*".  This matters
11419         only for guessing while cross-compiling.
11420         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
11421
11422 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
11423
11424         ftoastr: fix comment again
11425         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
11426         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
11427         Also, simplify example a bit by using flags = 0.
11428
11429 2010-12-20  Bruno Haible  <bruno@clisp.org>
11430
11431         round*, trunc*: Update documentation regarding glibc.
11432         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
11433         * doc/posix-functions/round.texi: Likewise.
11434         * doc/posix-functions/roundl.texi: Likewise.
11435         * doc/posix-functions/truncf.texi: Likewise.
11436         * doc/posix-functions/trunc.texi: Likewise.
11437         * doc/posix-functions/truncl.texi: Likewise.
11438
11439 2010-12-20  Bruno Haible  <bruno@clisp.org>
11440
11441         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
11442         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
11443         * doc/posix-functions/round.texi: Likewise.
11444         * doc/posix-functions/roundl.texi: Likewise.
11445
11446 2010-12-20  Bruno Haible  <bruno@clisp.org>
11447
11448         ttyname_r: Add missing declaration on HP-UX 11.
11449         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
11450         HAVE_TTYNAME_R.
11451         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
11452         declared. Set HAVE_TTYNAME_R always.
11453         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
11454         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
11455         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
11456         HAVE_TTYNAME_R.
11457         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
11458
11459 2010-12-20  Bruno Haible  <bruno@clisp.org>
11460
11461         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
11462         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
11463         * doc/posix-functions/getlogin_r.texi: Likewise.
11464         * tests/test-getlogin.c: Include <errno.h>.
11465         (main): Avoid test failure on HP-UX 11.11.
11466         * tests/test-getlogin_r.c (main): Likewise.
11467
11468 2010-12-20  Bruno Haible  <bruno@clisp.org>
11469
11470         getlogin_r: Add missing declaration on HP-UX 11.
11471         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
11472         declared also when it exists as a function.
11473         * doc/posix-functions/getlogin_r.texi: Document this workaround.
11474
11475 2010-12-20  Bruno Haible  <bruno@clisp.org>
11476
11477         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
11478         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
11479         through wcrtomb.
11480
11481 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
11482
11483         ftoastr: fix comment
11484         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
11485         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
11486
11487 2010-12-19  Bruno Haible  <bruno@clisp.org>
11488
11489         isnan: Ensure it is a macro.
11490         * lib/math.in.h (isnan): Define as a macro if not already a macro.
11491         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
11492         Solaris.
11493
11494 2010-12-19  Bruno Haible  <bruno@clisp.org>
11495
11496         ldexpl test: Fix link error on OSF/1 5.1.
11497         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
11498
11499 2010-12-19  Bruno Haible  <bruno@clisp.org>
11500
11501         wctype: Make it work in C++ mode on OSF/1 5.1.
11502         * lib/wctype.in.h (iswblank): Declare but not define here.
11503         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
11504         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
11505         * modules/wctype (Files): Add lib/iswblank.c.
11506
11507 2010-12-19  Bruno Haible  <bruno@clisp.org>
11508
11509         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
11510         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
11511         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
11512
11513 2010-12-19  Bruno Haible  <bruno@clisp.org>
11514
11515         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
11516         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
11517         _POSIX_PII_SOCKET.
11518         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
11519         * doc/posix-functions/recvfrom.texi: Likewise.
11520         * doc/posix-functions/send.texi: Likewise.
11521         * doc/posix-functions/sendto.texi: Likewise.
11522
11523 2010-12-19  Bruno Haible  <bruno@clisp.org>
11524
11525         tcgetsid: Add missing declaration on OSF/1 5.1.
11526         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
11527         HAVE_TCGETSID.
11528         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
11529         Don't set HAVE_TCGETSID.
11530         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
11531         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
11532         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
11533         HAVE_TCGETSID.
11534         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
11535
11536 2010-12-19  Bruno Haible  <bruno@clisp.org>
11537
11538         stdio: Fix problem with popen() declaration on OSF/1 5.1.
11539         * lib/stdio.in.h: During the include_next statement, let recursive
11540         includes of this file include only the system header file.
11541
11542 2010-12-19  Bruno Haible  <bruno@clisp.org>
11543
11544         iconv_open: Fix regression from 2010-12-04.
11545         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
11546         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
11547
11548 2010-12-19  Bruno Haible  <bruno@clisp.org>
11549
11550         stdbool test: Avoid a gcc warning.
11551         * tests/test-stdbool.c (main): Fail if e1 is false.
11552         Reported by Jim Meyering.
11553
11554 2010-12-19  Jim Meyering  <meyering@redhat.com>
11555
11556         setenv: restore to working order
11557         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
11558         mistakenly removed.
11559         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
11560         HAVE_SETENV.
11561         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
11562         HAVE_SETENV.
11563
11564 2010-12-19  Bruno Haible  <bruno@clisp.org>
11565
11566         Document some different function declarations on OSF/1 5.1.
11567         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
11568         * doc/posix-functions/inet_ntop.texi: Likewise.
11569         * doc/posix-functions/gethostname.texi: Likewise.
11570         * lib/unistd.in.h (gethostname): Update comment.
11571
11572 2010-12-19  Bruno Haible  <bruno@clisp.org>
11573
11574         doc: Mention vasprintf-posix module.
11575         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
11576         the 'vasprintf-posix' module.
11577         * doc/glibc-functions/vasprintf.texi: Likewise.
11578
11579 2010-12-19  Bruno Haible  <bruno@clisp.org>
11580
11581         unsetenv: Add missing declaration on OSF/1 5.1.
11582         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
11583         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
11584         Don't set HAVE_UNSETENV. In the test program, set _BSD.
11585         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
11586         not HAVE_UNSETENV.
11587         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
11588         HAVE_UNSETENV.
11589         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
11590
11591 2010-12-19  Bruno Haible  <bruno@clisp.org>
11592
11593         setenv: Add missing declaration on OSF/1 5.1.
11594         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
11595         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
11596         declared. Don't set HAVE_SETENV.
11597         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
11598         not HAVE_SETENV.
11599         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
11600         HAVE_SETENV.
11601         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
11602
11603 2010-12-19  Bruno Haible  <bruno@clisp.org>
11604
11605         nl_langinfo tests: Avoid gcc warning.
11606         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
11607
11608 2010-12-19  Bruno Haible  <bruno@clisp.org>
11609
11610         mknod: Avoid error in C++ mode on OSF/1 with GCC.
11611         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
11612         _GL_CXXALIAS_SYS.
11613
11614 2010-12-19  Bruno Haible  <bruno@clisp.org>
11615
11616         stdbool: Relax test.
11617         * tests/test-stdbool.c (e): Don't require that casts from a variable's
11618         address to 'bool' work in static initializer, for compilers other than
11619         GCC.
11620
11621 2010-12-19  Bruno Haible  <bruno@clisp.org>
11622
11623         ftello: Add missing declaration on OSF/1 5.1.
11624         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
11625         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
11626         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
11627         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
11628         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
11629
11630 2010-12-19  Bruno Haible  <bruno@clisp.org>
11631
11632         fseeko: Add missing declaration on OSF/1 5.1.
11633         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
11634         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
11635         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
11636         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
11637         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
11638
11639 2010-12-19  Bruno Haible  <bruno@clisp.org>
11640
11641         fchdir: Add missing declaration on OSF/1 5.1.
11642         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
11643         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
11644         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
11645         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
11646         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
11647
11648 2010-12-19  Bruno Haible  <bruno@clisp.org>
11649
11650         relocatable-prog-wrapper: Separate from relocatable-prog.
11651         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
11652         uninstall-relocwrapper rule here.
11653         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
11654         Reported by Ian Beckwith <ianb@erislabs.net>.
11655
11656 2010-12-19  Bruno Haible  <bruno@clisp.org>
11657
11658         unistr/u8-mbsnlen: Add missing dependency.
11659         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
11660         Reported by Ian Beckwith <ianb@erislabs.net>.
11661
11662 2010-12-19  Bruno Haible  <bruno@clisp.org>
11663
11664         iconv: Make it possible again to use this module without 'iconv-h'.
11665         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
11666         if it is not defined.
11667         Reported by Ian Beckwith <ianb@erislabs.net>.
11668
11669 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
11670
11671         acl: port to Solaris 8 when copying from tmpfs to ufs
11672         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
11673         error number.  Problem observed on Solaris 8 with latest
11674         coreutils, with "mv A B", where A is on a tmpfs file system and B
11675         is on a ufs file system.  This caused coreutils' mv/part-symlink
11676         test to fail.
11677
11678         tests: set fail=0 at start
11679         * tests/init.sh (setup_): Move fail=0 initialization here ...
11680         (mktempd_): ... from here, so that tests can rely on fail being
11681         set to 0 initially.  This fixes a problem in coreutils; see:
11682         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
11683
11684 2010-12-18  Bruno Haible  <bruno@clisp.org>
11685
11686         memmem-simple: Stylistic changes.
11687         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
11688         Fix preprocessor directive indentation.
11689
11690 2010-12-15  Pádraig Brady <P@draigBrady.com>
11691
11692         memmem, memmem-simple: reorganize and expand empty needle check
11693         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
11694         functional checks to memmem-simple so that one has a fully functional
11695         memmem by using just this module.
11696         Restrict the performance only check to the memmem module.
11697         Also expand the empty needle check to ensure the correct
11698         pointer is returned, not just a non NULL pointer.
11699         * doc/glibc-functions/memmem.texi: Rearrange the portability
11700         documentation to correlate with the rearranged checks.
11701         Clarify exactly how the memmem and memmem-simple modules
11702         relate to each other.
11703
11704 2010-12-15  Pádraig Brady <P@draigBrady.com>
11705             Bruno Haible  <bruno@clisp.org>
11706
11707         Improve cross-compilation guesses for uClibc.
11708         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
11709         that uClibc does not have the glibc bug.
11710         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
11711         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
11712
11713 2010-12-14  Eric Blake  <eblake@redhat.com>
11714
11715         configmake: provide fallbacks for oldest supported autotools
11716         * m4/configmake.m4: New file.
11717         * modules/configmake (Files): Ship it.
11718         (configure.ac): Use it to guarantee fallbacks.
11719
11720 2010-12-13  Pádraig Brady <P@draigBrady.com>
11721
11722         read-file: Improve handling of large files
11723         * lib/read-file.c (fread_file): Minimize realloc()s
11724         for regular files, and better manage sizes around SIZE_MAX.
11725
11726 2010-12-13  Eric Blake  <eblake@redhat.com>
11727
11728         cloexec, fcntl: relax license
11729         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
11730         consent from all contributors.
11731         * modules/fcntl (License): Likewise.
11732
11733 2010-12-10  Bruno Haible  <bruno@clisp.org>
11734
11735         Tests for module 'pipe-posix'.
11736         * modules/pipe-posix-tests: New file.
11737         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
11738
11739 2010-12-10  Bruno Haible  <bruno@clisp.org>
11740
11741         pipe-posix: Make it work in C++ mode.
11742         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
11743         (pipe): Use common idiom, not a macro definition.
11744         * lib/pipe.c: New file.
11745         * m4/pipe.m4: New file.
11746         * modules/pipe-posix (Description): Enhance.
11747         (Files): Add lib/pipe.c, m4/pipe.m4.
11748         (configure.ac): Invoke gl_FUNC_PIPE.
11749         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
11750         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
11751         * tests/test-unistd-c++.cc: Check the signature of pipe.
11752
11753 2010-12-10  Bruno Haible  <bruno@clisp.org>
11754
11755         Rename module 'pipe' to 'spawn-pipe'.
11756         * modules/spawn-pipe: New file, renamed from modules/pipe.
11757         (Files, configure.ac, Makefile.am): Update.
11758         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
11759         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
11760         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
11761         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
11762         "spawn-pipe.h" instead of "pipe.h".
11763         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
11764         to gl_SPAWN_PIPE.
11765         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
11766         (Files, Makefile.am): Update.
11767         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
11768         Update.
11769         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
11770         Include "spawn-pipe.h" instead of "pipe.h".
11771         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
11772         * lib/javacomp.c: Likewise.
11773         * lib/javaversion.c: Likewise.
11774         * lib/pipe-filter-gi.c: Likewise.
11775         * lib/pipe-filter-ii.c: Likewise.
11776         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
11777         * modules/javacomp (Depends-on): Likewise.
11778         * modules/javaversion (Depends-on): Likewise.
11779         * modules/pipe-filter-gi (Depends-on): Likewise.
11780         * modules/pipe-filter-ii (Depends-on): Likewise.
11781         * MODULES.html.sh (Executing programs): Update.
11782         * NEWS: Mention the change.
11783
11784 2010-12-10  Eric Blake  <eblake@redhat.com>
11785
11786         pipe-posix: new module
11787         * modules/pipe-posix: New file.
11788         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
11789         (gl_UNISTD_H): Check for declaration.
11790         * modules/unistd (Makefile.am): Substitute it.
11791         * lib/unistd.in.h (pipe): Provide it for mingw.
11792         * doc/posix-functions/pipe.texi (pipe): Update documentation.
11793         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
11794
11795 2010-12-07  Bruno Haible  <bruno@clisp.org>
11796
11797         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
11798         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
11799         u8_strcmp_gnu.
11800         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
11801
11802 2010-12-06  Bruno Haible  <bruno@clisp.org>
11803
11804         Update internal documentation.
11805         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
11806
11807 2010-12-04  Bruno Haible  <bruno@clisp.org>
11808
11809         Put more information about failed tests into the test return codes.
11810         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
11811         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
11812         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
11813         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
11814         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
11815         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
11816         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
11817         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
11818         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
11819         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
11820         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
11821         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
11822         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
11823         * m4/stdint.m4 (gl_STDINT_H): Likewise.
11824         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
11825         returns a bit mask.
11826         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
11827         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
11828         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
11829         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
11830         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
11831         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
11832         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
11833         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
11834         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
11835         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
11836         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
11837         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
11838         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
11839         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
11840         * m4/link.m4 (gl_FUNC_LINK): Likewise.
11841         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
11842         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
11843         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
11844         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
11845         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
11846         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
11847         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
11848         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
11849         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
11850         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
11851         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
11852         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
11853         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
11854         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
11855         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
11856         gl_PRINTF_PRECISION): Likewise.
11857         * m4/regex.m4 (gl_REGEX): Likewise.
11858         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
11859         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
11860         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
11861         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
11862         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
11863         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
11864         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
11865         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
11866         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
11867         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
11868         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
11869         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
11870         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
11871         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
11872         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
11873         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
11874         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
11875         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
11876         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
11877         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
11878         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
11879         enumerated value.
11880         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
11881
11882 2010-12-04  Bruno Haible  <bruno@clisp.org>
11883
11884         Update for Solaris 11 2010-11.
11885         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
11886         Express, released in November 2010.
11887
11888 2010-12-04  Bruno Haible  <bruno@clisp.org>
11889
11890         nproc: Relax license.
11891         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
11892         and Paul Eggert.
11893         Requested by Ludovic Courtès <ludo@gnu.org>.
11894
11895 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
11896
11897         utimecmp: fine-grained src to nearby coarse-grained dest
11898
11899         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
11900         and the source is on a file system with higher-resolution time
11901         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
11902         not work, and the time stamps are close together, the algorithm to
11903         determine the exact resolution from the read-back mtime was buggy:
11904         it had a "!=" where it should have had an "==".  This bug has been
11905         in the code ever since it was introduced to gnulib.
11906         Problem reported by Dan Jacobson in
11907         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
11908
11909 2010-11-30  Bruno Haible  <bruno@clisp.org>
11910
11911         strerror_r-posix: Fix autoconf test.
11912         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
11913
11914 2010-11-28  Bruno Haible  <bruno@clisp.org>
11915             Paul Eggert  <eggert@cs.ucla.edu>
11916
11917         Tests for module 'getdomainname'.
11918         * modules/getdomainname-tests: New file.
11919         * tests/test-getdomainname.c: New file, based on
11920         tests/test-gethostname.c.
11921
11922 2010-11-28  Bruno Haible  <bruno@clisp.org>
11923             Paul Eggert  <eggert@cs.ucla.edu>
11924
11925         getdomainname: Use the system function when possible.
11926         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
11927         (getdomainname): Replace if needed. Provide the declaration if it is
11928         missing. Don't use _GL_CXXALIAS_SYS_CAST.
11929         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
11930         (getdomainname): When the system has getdomainname, call the system
11931         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
11932         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
11933         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
11934         found in libnsl. Look for the declaration also in <netdb.h>. Replace
11935         the function if its second argument is of type 'int' or if it is found
11936         in libnsl.
11937         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
11938         <sys/systeminfo.h> and sysinfo().
11939         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
11940         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
11941         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
11942         HAVE_GETDOMAINNAME.
11943         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
11944         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
11945         * doc/glibc-functions/getdomainname.texi: Document the problems with
11946         the getdomainname declaration.
11947
11948 2010-11-28  Bruno Haible  <bruno@clisp.org>
11949
11950         sys_socket: Ensure ss_family field on AIX.
11951         * lib/sys_socket.in.h (ss_family): New macro definition.
11952         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
11953         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
11954         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
11955         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
11956         * modules/sys_socket (Makefile.am): Substitute
11957         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
11958         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
11959
11960 2010-11-27  Bruno Haible  <bruno@clisp.org>
11961
11962         readline: Improve configure output.
11963         * m4/readline.m4 (gl_FUNC_READLINE): Make the
11964         "checking for readline..." result understandable.
11965
11966 2010-11-27  Bruno Haible  <bruno@clisp.org>
11967
11968         *printf-posix: Detect a bug on Solaris 10/x86.
11969         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
11970         for floating-point output.
11971         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
11972         directive.
11973         * tests/test-snprintf-posix.h (test_function): Likewise.
11974         * tests/test-sprintf-posix.h (test_function): Likewise.
11975         * tests/test-vasprintf-posix.c (test_function): Likewise.
11976         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
11977         * doc/posix-functions/printf.texi: Likewise.
11978         * doc/posix-functions/snprintf.texi: Likewise.
11979         * doc/posix-functions/sprintf.texi: Likewise.
11980         * doc/posix-functions/vfprintf.texi: Likewise.
11981         * doc/posix-functions/vprintf.texi: Likewise.
11982         * doc/posix-functions/vsnprintf.texi: Likewise.
11983         * doc/posix-functions/vsprintf.texi: Likewise.
11984         * doc/glibc-functions/obstack_printf.texi: Likewise.
11985         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
11986
11987 2010-11-27  Bruno Haible  <bruno@clisp.org>
11988
11989         Fix link error when module libunistring-optional is in use.
11990         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
11991         * modules/striconveha-tests (Makefile.am): Likewise.
11992
11993 2010-11-27  Bruno Haible  <bruno@clisp.org>
11994
11995         regex: Mention link dependencies.
11996         * modules/regex (Link): New section.
11997         * modules/rpmatch (Link): Likewise.
11998         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
11999
12000 2010-11-27  Bruno Haible  <bruno@clisp.org>
12001
12002         ftoastr: Fix compilation error on Solaris.
12003         * lib/ftoastr.c: Include <config.h>.
12004
12005 2010-11-27  Bruno Haible  <bruno@clisp.org>
12006
12007         getloadavg: Update documentation.
12008         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
12009
12010 2010-11-27  Bruno Haible  <bruno@clisp.org>
12011
12012         sys_socket: Fix test whether the functions are declared.
12013         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
12014         not <sys/select.h>.
12015
12016 2010-11-27  Bruno Haible  <bruno@clisp.org>
12017
12018         getpass: Make sure to get system declaration on some platforms.
12019         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
12020         gl_USE_SYSTEM_EXTENSIONS.
12021         * modules/getpass (Depends-on): Add extensions.
12022
12023 2010-11-26  Bruno Haible  <bruno@clisp.org>
12024
12025         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
12026         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
12027         'iconv' module is present.
12028         (ICONV_CONST): New macro.
12029         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
12030         ICONV_CONST.
12031         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
12032         set ICONV_CONST.
12033         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
12034         here.
12035         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
12036         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
12037         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
12038         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
12039         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
12040         present.
12041
12042 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
12043
12044         ftoastr: comment fix
12045         * lib/ftoastr.c: "little" -> "little or no" in comment
12046
12047 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
12048
12049         stdint: port to GCC 4.3 + OSX + Octave
12050         On this platform, stdint.h is buggy and defines int64_t to long
12051         long int.  The replacement defined it to long int, causing
12052         problems with C++ style name mangling.  Instead, trust the system
12053         definition if INT64_MAX is defined, and likewise for the unsigned
12054         variant.   Problem reported by Jarno Rajahalme in
12055         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
12056         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
12057         and don't mess with int64_t and INT64_MAX in this case.
12058         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
12059
12060 2010-11-24  Bruno Haible  <bruno@clisp.org>
12061
12062         doc: Corrections regarding MacOS X 10.4 and 10.5.
12063         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
12064         MacOS X.
12065         Reported by Simon Josefsson.
12066
12067 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
12068
12069         Uninstall ".bin" files installed by relocwrapper.
12070         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
12071         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
12072         unless it is already there.
12073
12074 2010-11-21  Bruno Haible  <bruno@clisp.org>
12075
12076         Update for NetBSD 5.0.
12077         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
12078         NetBSD; the test fails on NetBSD 5.0.
12079         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
12080         about NetBSD.
12081
12082 2010-11-21  Bruno Haible  <bruno@clisp.org>
12083
12084         Update for HP-UX 11.23 and HP-UX 11.31.
12085         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
12086         HP-UX.
12087
12088 2010-11-21  Bruno Haible  <bruno@clisp.org>
12089
12090         Update for MacOS X 10.5.
12091         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
12092         MacOS X; the test fails on MacOS X 10.5.8.
12093         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
12094         about MacOS X.
12095
12096 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
12097
12098         bootstrap: add bootstrap_sync option.
12099         See discussion at
12100         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
12101         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
12102         * build-aux/bootstrap: Accept --bootstrap-sync to update
12103         bootstrap if it is not identical to the local gnulib's
12104         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
12105         enable this by default.  Accept --no-bootstrap-sync to disable
12106         it.
12107
12108 2010-11-20  Bruno Haible  <bruno@clisp.org>
12109
12110         Ensure that <features.h> is included before __GLIBC__ is tested.
12111         * lib/printf-parse.h: Include <features.h>.
12112         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
12113         Reported by Mike Frysinger <vapier@gentoo.org>.
12114
12115         Ensure that <features.h> is included before __GLIBC__ is tested.
12116         * lib/wchar.in.h: Include <features.h>.
12117         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
12118         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
12119         Reported by Mike Frysinger <vapier@gentoo.org>.
12120
12121         Ensure that <features.h> is included before __GLIBC__ is tested.
12122         * lib/arpa_inet.in.h: Include <features.h>.
12123         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
12124         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
12125         Reported by Mike Frysinger <vapier@gentoo.org>.
12126
12127         Ensure that <features.h> is included before __GLIBC__ is tested.
12128         * build-aux/link-warning.h: Include <features.h>.
12129         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
12130         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
12131         Reported by Mike Frysinger <vapier@gentoo.org>.
12132
12133         Ensure that <features.h> is included before __GLIBC__ is tested.
12134         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
12135         Reported by Mike Frysinger <vapier@gentoo.org>.
12136
12137 2010-11-20  Bruno Haible  <bruno@clisp.org>
12138
12139         memmem: Fix autoconf test.
12140         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
12141
12142 2010-11-20  Bruno Haible  <bruno@clisp.org>
12143
12144         Port to uClibc.
12145         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
12146         * lib/fcntl.in.h: Likewise.
12147         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
12148         * lib/mbrtowc.c (mbrtowc): Likewise.
12149         * lib/relocatable.c (find_shared_library_fullname): Likewise.
12150         * lib/strerror_r.c: Likewise.
12151         * lib/unistr/u8-strnlen.c: Likewise.
12152         * lib/vasnprintf.c (decimal_point_char): Likewise.
12153         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
12154         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
12155         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
12156         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
12157         * tests/test-sigaction.c (handler, main): Likewise.
12158         * lib/freading.h: Treat uClibc like a non-glibc platform.
12159         * lib/freading.c: Likewise.
12160         * lib/gettext.h: Likewise.
12161         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
12162         Likewise.
12163         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
12164         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
12165         * lib/propername.c (proper_name_utf8): Likewise.
12166         * lib/spawn.in.h: Likewise.
12167         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
12168         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
12169         mem_cd_iconveh_internal): Likewise.
12170         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
12171         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
12172         strstr, strcasestr): Likewise.
12173         * lib/unicodeio.c (unicode_to_mb): Likewise.
12174         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
12175         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
12176         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
12177         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
12178         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
12179         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
12180         * lib/unistr/u8-stpncpy.c: Likewise.
12181         * lib/vasnprintf.c (VASNPRINTF): Likewise.
12182         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
12183         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
12184         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
12185         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
12186         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
12187         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
12188         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
12189         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
12190         Likewise.
12191         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
12192         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
12193         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
12194         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
12195         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
12196         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
12197         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
12198         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
12199         * tests/test-getopt.h (OPTIND_MIN): Likewise.
12200         * tests/test-striconveha.c (main): Likewise.
12201         * tests/test-vasnprintf-posix.c (test_function): Likewise.
12202         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
12203         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
12204         * doc/posix-functions/getline.texi: Likewise.
12205         Reported by Mike Frysinger <vapier@gentoo.org>.
12206
12207 2010-11-20  Bruno Haible  <bruno@clisp.org>
12208
12209         nproc: Fix condition.
12210         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
12211         HAVE_PTHREAD_AFFINITY_NP.
12212
12213 2010-11-20  Bruno Haible  <bruno@clisp.org>
12214
12215         Fix a comment.
12216         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
12217
12218 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
12219
12220         ftoastr: don't assume snprintf
12221         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
12222         Implement a subset of snprintf here, by using sprintf safely.
12223         * modules/ftoastr (Depends-on): Remove snprintf.
12224
12225 2010-11-19  Jim Meyering  <meyering@redhat.com>
12226
12227         test-rename.h: fix compilation failure
12228         * tests/test-rename.h (test_rename): Add omitted "}".
12229
12230 2010-11-17  Jim Meyering  <meyering@redhat.com>
12231
12232         maint.mk: add a URL discussing the no-@acronym policy
12233         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
12234
12235 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
12236
12237         ftoastr: depend on snprintf, improve comments
12238         * lib/ftoastr.c: Also mention Loitsch's draft.
12239         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
12240         needed in the current implementation, but it might simplify
12241         speeding up the code later.
12242         * modules/ftoastr: Depend on snprintf; this improves portability.
12243         Suggested by Bruno Haible in the same email.
12244
12245         ftoastr: port to hosts lacking strtof and strtold
12246         Problem reported by Bruno Haible in
12247         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
12248         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
12249         environment and strtold (and presumably strtof) are not available.
12250         * modules/ftoastr (Files): Add m4/c-strtod.m4.
12251         (configure.ac): Require gl_C99_STRTOLD.
12252
12253 2010-11-18  Bruno Haible  <bruno@clisp.org>
12254
12255         c-strtold: Avoid link error on AIX 7.
12256         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
12257         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
12258         (gl_C_STRTOLD): Test whether strtold_l exists.
12259         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
12260
12261 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
12262
12263         intprops: new macro INT_BITS_STRLEN_BOUND
12264         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
12265         ftoastr.h.  This exposes an internal of intprops.h that was formerly
12266         not exposed.  Also, it uses a slightly tighter bound than before;
12267         though this makes no practical difference, we might as well be as
12268         tight as we easily can.
12269
12270         ftoastr: new module, for lossless conversion of floats to short strings
12271         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
12272         * modules/ftoastr: New files.
12273
12274 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
12275
12276         bootstrap: port to Solaris sed
12277         * build-aux/bootstrap (get_version): Port to Solaris sed.
12278         See Ralf Wildenhues's note in
12279         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
12280
12281 2010-11-14  Jim Meyering  <meyering@redhat.com>
12282
12283         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
12284         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
12285         and move definition closer to sole use.
12286
12287 2010-11-13  Jim Meyering  <meyering@redhat.com>
12288
12289         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
12290         Now we require at least autoconf-2.59, which means the work-around
12291         is no longer needed.
12292         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
12293         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
12294         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
12295         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
12296         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
12297
12298 2010-11-13  Bruno Haible  <bruno@clisp.org>
12299
12300         rename, renameat: Avoid test failures at NFS mounted locations.
12301         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
12302         functions.
12303         (test_rename): Use assert_nonexistent.
12304         * tests/test-rename.c: Include <dirent.h>.
12305         * tests/test-renameat.c: Likewise.
12306         Reported by Gary V. Vaughan <gary@gnu.org>.
12307
12308         rename, renameat: Document Linux bug with NFS
12309         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
12310         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
12311         * doc/posix-functions/renameat.texi: Likewise.
12312         Suggested by Eric Blake.
12313
12314 2010-11-13  Bruno Haible  <bruno@clisp.org>
12315
12316         rename test: Add comments.
12317         * tests/test-rename.h (test_rename): Add structure and comments.
12318
12319 2010-11-13  Eric Blake  <eblake@redhat.com>
12320
12321         maintainer-makefile: cover a few more files
12322         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
12323         scripts generated within C files, for libvirt.
12324
12325 2010-11-13  Bruno Haible  <bruno@clisp.org>
12326
12327         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
12328         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
12329         character, return the number of bytes that belong together, not always
12330         1.
12331         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
12332         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
12333         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
12334         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
12335         number of bytes of an invalid character.
12336         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
12337         (main): Invoke it.
12338         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
12339         results.
12340         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
12341         malformed byte sequences.
12342         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
12343         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
12344         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
12345         Reported by Ben Pfaff and Paolo Bonzini.
12346
12347 2010-11-13  Bruno Haible  <bruno@clisp.org>
12348
12349         openat: Work around glibc bug with fchownat() and empty file names.
12350         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
12351         (gl_FUNC_FCHOWNAT): Invoke it.
12352         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
12353         * doc/posix-functions/fchownat.texi: Document the glibc bug.
12354         Reported by Gary V. Vaughan <gary@gnu.org>.
12355
12356 2010-11-13  Bruno Haible  <bruno@clisp.org>
12357
12358         openat: Ensure autoconf macro ordering.
12359         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
12360         gl_USE_SYSTEM_EXTENSIONS.
12361         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
12362
12363 2010-11-13  Bruno Haible  <bruno@clisp.org>
12364
12365         Update comments.
12366         * lib/unistr/u8-check.c: Update file name in comments.
12367         * lib/unistr/u8-mblen.c: Likewise.
12368         * lib/unistr/u8-prev.c: Likewise.
12369         * lib/unistr/u8-strmblen.c: Likewise.
12370         * lib/unistr/u8-strmbtouc.c: Likewise.
12371
12372 2010-11-13  Jim Meyering  <meyering@redhat.com>
12373
12374         tests: avoid test failure on Solaris 10 due to lack of PATH export
12375         * tests/test-update-copyright.sh: Don't forget to export PATH.
12376
12377         init.sh: ensure that IFS is defined, just in case...
12378         * tests/init.sh (setup_): Ensure that IFS is defined,
12379         so that saving and restoring it works as expected.  This
12380         appears to be useful at least for an old version of dash
12381         from a long time ago (RH 6).  See here for details:
12382         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
12383
12384         maint.mk: tighten "test a == b" check
12385         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
12386         test to files that contain something like #!/bin/sh.
12387         Without this, coreutils would get two false positives in
12388         the comments of C source files.
12389
12390 2010-11-12  Eric Blake  <eblake@redhat.com>
12391
12392         bootstrap: fix typo in previous attempt
12393         * build-aux/bootstrap (buildreq): Correct the grouping.
12394         Reported by Paul Eggert.
12395
12396         maintainer-makefile: prohibit test x == x
12397         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
12398         Based on a report by Matthias Bolte.
12399
12400         bootstrap: allow FreeBSD gzip
12401         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
12402         which has no '.' and goes to stderr.
12403         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
12404         Reported by Matthias Bolte.
12405
12406         maintainer-makefile: check for i18n setup
12407         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
12408         will likely work.
12409
12410 2010-11-12  Bruno Haible  <bruno@clisp.org>
12411
12412         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
12413         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
12414         * lib/nanosleep.c (nanosleep): Likewise.
12415
12416 2010-11-11  Bruno Haible  <bruno@clisp.org>
12417
12418         fcntl-h: Fix for use of C++ on glibc systems.
12419         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
12420         also on glibc systems in C++ mode.
12421         Reported by Gary V. Vaughan <gary@gnu.org>.
12422
12423 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
12424
12425         mknod: avoid false failure with dash
12426         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
12427
12428 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
12429
12430         unlink: Fix "is it should" typo in diagnostic.
12431         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
12432         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
12433
12434 2010-11-11  Bruno Haible  <bruno@clisp.org>
12435
12436         Tests for module 'strerror_r-posix'.
12437         * modules/strerror_r-posix-tests: New file.
12438         * tests/test-strerror_r.c: New file.
12439         * tests/test-string-c++.cc: Check the signature of strerror_r.
12440
12441         New module 'strerror_r-posix'.
12442         * lib/string.in.h (strerror_r): New declaration.
12443         * lib/strerror_r.c: New file.
12444         * m4/strerror_r.m4: New file.
12445         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
12446         of strerror_r.
12447         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
12448         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
12449         * modules/strerror_r-posix: New file.
12450         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
12451         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
12452         * doc/posix-functions/strerror_r.texi: Mention the new module and the
12453         portability problems.
12454
12455 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
12456
12457         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
12458         line is also considered for output. Quoted function name in shell
12459         command, so temporary files for functions like MyClass::operator()
12460         are removed correctly without errors.
12461
12462 2010-11-09  Bruno Haible  <bruno@clisp.org>
12463
12464         * doc/posix-functions/strerror.texi: List more failing platforms.
12465
12466         * doc/posix-functions/strerror.texi: Add a comment.
12467
12468 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
12469
12470         fdopendir: fix bug on MacOS X when low on file descriptors
12471
12472         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
12473         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
12474         All callers changed.
12475         (fdopendir): Invoke save_cwd at the top level, not after using
12476         multiple dup() calls to use up file descriptors.  Then retry
12477         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
12478         less than the maximum number of open file descriptors, because
12479         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
12480         on Mac OS X 10.6.4 for tar 1.24
12481         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
12482         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
12483         and for tar 1.25
12484         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
12485
12486 2010-11-07  Bruno Haible  <bruno@clisp.org>
12487
12488         vasnprintf: Support I flag on glibc systems.
12489         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
12490         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
12491         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
12492         snprintf function.
12493         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
12494         glibc systems.
12495         * tests/test-vasnprintf-posix3.c: New file.
12496         * modules/vasnprintf-posix-tests (Files): Add it.
12497         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
12498
12499 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
12500
12501         [html] Fix copy/paste bug: Use unique name for compiler warnings.
12502         * MODULES.html.sh: For compiler warnings, use name
12503         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
12504
12505 2010-11-05  Eric Blake  <eblake@redhat.com>
12506
12507         ceil, floor: avoid spurious failure with icc
12508         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
12509         [denormals-as-zero] when optimizing without -mieee-fp option.
12510         * tests/test-floorf2.c (floorf_reference): Likewise.
12511         * tests/test-ceilf1.c (dummy): New function.
12512         (main): Use it to outsmart icc's optimization.
12513         * tests/test-floorf1.c (dummy, main): Likewise.
12514
12515         tests: require working signbit
12516         * modules/ceilf-tests (Depends-on): Add signbit.
12517         * modules/ceill-tests (Depends-on): Likewise.
12518         * modules/floorf-tests (Depends-on): Likewise.
12519         * modules/floorl-tests (Depends-on): Likewise.
12520         * modules/round-tests (Depends-on): Likewise.
12521         * modules/roundf-tests (Depends-on): Likewise.
12522         * modules/roundl-tests (Depends-on): Likewise.
12523         * modules/trunc-tests (Depends-on): Likewise.
12524         * modules/truncf-tests (Depends-on): Likewise.
12525         * modules/truncl-tests (Depends-on): Likewise.
12526
12527         strtod: work around icc bug
12528         * lib/strtod.c (minus_zero): Define to working value.
12529         (strtod): Use it to avoid icc bug.
12530
12531         copysign: enhance tests
12532         * modules/copysign-tests (Files): Add minus-zero.h.
12533         * tests/test-copysign.c (main): Also test zeros.
12534
12535 2010-11-04  Eric Blake  <eblake@redhat.com>
12536
12537         ceil, floor, round, trunc: enhance tests of -0
12538         * tests/test-ceilf1.c (main): Ensure correct sign of result.
12539         * tests/test-ceill.c (main): Likewise.
12540         * tests/test-floorf1.c (main): Likewise.
12541         * tests/test-floorl.c (main): Likewise.
12542         * tests/test-round1.c (main): Likewise.
12543         * tests/test-roundf1.c (main): Likewise.
12544         * tests/test-roundl.c (main): Likewise.
12545         * tests/test-trunc1.c (main): Likewise.
12546         * tests/test-truncf1.c (main): Likewise.
12547         * tests/test-truncl.c (main): Likewise.
12548
12549 2010-11-04  Eric Blake  <eblake@redhat.com>
12550
12551         frexp, tests: work around ICC bug with -zero
12552         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
12553         works with more compilers.
12554         * tests/minus-zero.h: New file.
12555         * modules/ceilf-tests (Files): Include it.
12556         * modules/ceill-tests (Files): Likewise.
12557         * modules/floorf-tests (Files): Likewise.
12558         * modules/floorl-tests (Files): Likewise.
12559         * modules/frexp-nolibm-tests (Files): Likewise.
12560         * modules/frexp-tests (Files): Likewise.
12561         * modules/frexpl-nolibm-tests (Files): Likewise.
12562         * modules/frexpl-tests (Files): Likewise.
12563         * modules/isnan-tests (Files): Likewise.
12564         * modules/isnand-nolibm-tests (Files): Likewise.
12565         * modules/isnand-tests (Files): Likewise.
12566         * modules/isnanf-nolibm-tests (Files): Likewise.
12567         * modules/isnanf-tests (Files): Likewise.
12568         * modules/isnanl-nolibm-tests (Files): Likewise.
12569         * modules/isnanl-tests (Files): Likewise.
12570         * modules/round-tests (Files): Likewise.
12571         * modules/roundf-tests (Files): Likewise.
12572         * modules/roundl-tests (Files): Likewise.
12573         * modules/ldexpl-tests (Files): Likewise.
12574         * modules/signbit-tests (Files): Likewise.
12575         * modules/snprintf-posix-tests (Files): Likewise.
12576         * modules/sprintf-posix-tests (Files): Likewise.
12577         * modules/strtod-tests (Files): Likewise.
12578         * modules/trunc-tests (Files): Likewise.
12579         * modules/truncf-tests (Files): Likewise.
12580         * modules/truncl-tests (Files): Likewise.
12581         * modules/vsnprintf-posix-tests (Files): Likewise.
12582         * modules/vsprintf-posix-tests (Files): Likewise.
12583         * modules/vasnprintf-posix-tests (Files): Likewise.
12584         * modules/vasprintf-posix-tests (Files): Likewise.
12585         * tests/test-ceilf1.c (main): Use it.
12586         * tests/test-ceill.c (main): Likewise.
12587         * tests/test-floorf1.c (main): Likewise.
12588         * tests/test-floorl.c (main): Likewise.
12589         * tests/test-frexp.c (main): Likewise.
12590         * tests/test-frexpl.c (main): Likewise.
12591         * tests/test-isnan.c (main): Likewise.
12592         * tests/test-isnand.h (main): Likewise.
12593         * tests/test-isnanf.h (main): Likewise.
12594         * tests/test-isnanl.h (main): Likewise.
12595         * tests/test-ldexpl.c (main): Likewise.
12596         * tests/test-round.c (main): Likewise.
12597         * tests/test-roundf.c (main): Likewise.
12598         * tests/test-roundl.c (main): Likewise.
12599         * tests/test-signbit.c (test_signbitf, test_signbitd)
12600         (test_signbitl): Likewise.
12601         * tests/test-snprintf-posix.h (test_function): Likewise.
12602         * tests/test-sprintf-posix.h (test_function): Likewise.
12603         * tests/test-strtod.c (main): Likewise.
12604         * tests/test-trunc1.c (main): Likewise.
12605         * tests/test-truncf1.c (main): Likewise.
12606         * tests/test-truncl.c (main): Likewise.
12607
12608         isnanl: work around icc bug
12609         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
12610
12611 2010-11-03  Eric Blake  <eblake@redhat.com>
12612
12613         tests: fix compiler warnings
12614         * tests/test-getopt.h (test_getopt): Fix condition.
12615         * tests/test-getopt_long.h (test_getopt_long): Likewise.
12616         * tests/test-pipe2.c (main): Likewise.
12617         * tests/test-quotearg-simple.c (main): Avoid icc warning.
12618
12619         utimens: fix broken m4 test
12620         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
12621
12622 2010-10-28  Bruno Haible  <bruno@clisp.org>
12623
12624         posix_spawn*, getdtablesize: Relax license.
12625         * modules/posix_spawn (License): Change to LGPLv2+.
12626         * modules/posix_spawnp (License): Likewise.
12627         * modules/posix_spawn-internal (License): Likewise.
12628         * modules/posix_spawnattr_init (License): Likewise.
12629         * modules/posix_spawnattr_getflags (License): Likewise.
12630         * modules/posix_spawnattr_setflags (License): Likewise.
12631         * modules/posix_spawnattr_getpgroup (License): Likewise.
12632         * modules/posix_spawnattr_setpgroup (License): Likewise.
12633         * modules/posix_spawnattr_getschedparam (License): Likewise.
12634         * modules/posix_spawnattr_setschedparam (License): Likewise.
12635         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
12636         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
12637         * modules/posix_spawnattr_getsigdefault (License): Likewise.
12638         * modules/posix_spawnattr_setsigdefault (License): Likewise.
12639         * modules/posix_spawnattr_getsigmask (License): Likewise.
12640         * modules/posix_spawnattr_setsigmask (License): Likewise.
12641         * modules/posix_spawnattr_destroy (License): Likewise.
12642         * modules/posix_spawn_file_actions_init (License): Likewise.
12643         * modules/posix_spawn_file_actions_addclose (License): Likewise.
12644         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
12645         * modules/posix_spawn_file_actions_addopen (License): Likewise.
12646         * modules/posix_spawn_file_actions_destroy (License): Likewise.
12647         * modules/getdtablesize (License): Likewise.
12648         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
12649
12650 2010-10-26  Bruno Haible  <bruno@clisp.org>
12651
12652         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
12653         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
12654         Cygwin and mingw.
12655         Suggested by Eric Blake.
12656
12657 2010-10-26  Bruno Haible  <bruno@clisp.org>
12658
12659         stdio: Work around compilation error due to renameat() on Solaris 10.
12660         * lib/stdio.in.h: Include <unistd.h> on Solaris.
12661         * lib/renameat.c: Don't include <unistd.h> here.
12662         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
12663         Reported by Paul Eggert and Eric Blake.
12664
12665 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
12666
12667         renameat: port to Solaris 10, which declares renameat in unistd.h
12668
12669         * lib/renameat.c: Include unistd.h before stdio.h, because
12670         Solaris 10 declares renameat in unistd.h.  Problem encountered
12671         when building GNU tar 1.24 on Solaris 10.
12672
12673 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
12674
12675         fdopendir: fix C89 compilation
12676         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
12677         compilers.
12678
12679 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
12680
12681         inttostr: simplify by removing unnecessary redundancy
12682         * lib/anytostr.c: Don't include verify.h.
12683         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
12684         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
12685         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
12686         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
12687         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
12688         Likewise.
12689         * modules/inttostr (Depends-on): Remove 'verify'.
12690
12691 2010-10-23  Bruno Haible  <bruno@clisp.org>
12692
12693         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
12694         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
12695         Reported by Eric Blake.
12696
12697 2010-10-23  Bruno Haible  <bruno@clisp.org>
12698
12699         Tests: Fix LOCALE_JA on MirBSD 10.
12700         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
12701         to an UTF-8 locale.
12702         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
12703         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
12704         Reported by Eric Blake.
12705
12706 2010-10-21  Bruno Haible  <bruno@clisp.org>
12707
12708         nl_langinfo test: Avoid test failure on NetBSD 5.
12709         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
12710         Reported by Eric Blake.
12711
12712 2010-10-21  Eric Blake  <eblake@redhat.com>
12713
12714         c-stack: work around libsigsegv 2.8 bug
12715         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
12716         overflow on at least PowerPC64.
12717
12718 2010-10-17  Bruno Haible  <bruno@clisp.org>
12719
12720         userspec: Drop redundant file.
12721         * modules/userspec (Files): Remove lib/inttostr.h.
12722
12723 2010-10-17  Bruno Haible  <bruno@clisp.org>
12724
12725         nl_langinfo tests: Silence some warnings.
12726         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
12727         Reported by Jim Meyering.
12728
12729 2010-10-17  Bruno Haible  <bruno@clisp.org>
12730
12731         Make use of GCC's attribute __alloc_size__.
12732         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
12733         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
12734         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
12735         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
12736         __alloc_size__.
12737         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
12738         Suggested by Jim Meyering.
12739
12740 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
12741
12742         bootstrap: anchor .gitignore entries.
12743         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
12744         with...
12745         (insert_vc_ignore): ... this new function, which prepends `/' to
12746         all .gitignore entries before passing them to
12747         insert_sorted_if_absent.
12748
12749 2010-10-16  Bruno Haible  <bruno@clisp.org>
12750
12751         nextafter: Fix configure check.
12752         * modules/nextafter (configure.ac): Correct expected prototype.
12753
12754 2010-10-16  Bruno Haible  <bruno@clisp.org>
12755
12756         termios: Update documentation.
12757         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
12758
12759 2010-10-16  Bruno Haible  <bruno@clisp.org>
12760
12761         tests: Make them compile with TinyCC.
12762         * tests/test-strstr.c (main): Remove parentheses around array
12763         initializer.
12764
12765 2010-10-15  Eric Blake  <eblake@redhat.com>
12766
12767         ignore-value: make header idempotent
12768         * lib/ignore-value.h: Add double-inclusion guards.
12769         Reported by Stefan Berger.
12770
12771 2010-10-15  Jim Meyering  <meyering@redhat.com>
12772
12773         GNUmakefile: handle "stable" target, not "major"
12774         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
12775         lists in maint.mk and announce-gen.  Without this, "make stable"
12776         would fail to ensure that $(VERSION) is up to date.
12777
12778 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
12779
12780         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
12781         & co.
12782
12783 2010-10-14  Bruno Haible  <bruno@clisp.org>
12784
12785         vasnprintf: Don't set errno to 0.
12786         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
12787         block that sets it to 0.
12788         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
12789
12790 2010-10-14  Bruno Haible  <bruno@clisp.org>
12791
12792         socketlib: Fix.
12793         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
12794         gl_PREREQ_SYS_H_WINSOCK2.
12795         Reported by Ian Beckwith <ianb@erislabs.net>.
12796
12797 2010-10-13  Jim Meyering  <meyering@redhat.com>
12798
12799         test-select-stdin.c: avoid warn_unused_result warnings
12800         * tests/test-select-stdin.c: Include "macros.h".
12801         ASSERT that read and fflush succeed.
12802
12803 2010-10-13  Jim Meyering  <meyering@redhat.com>
12804
12805         git-version-gen: do require git-VC'd files in cwd
12806         * build-aux/git-version-gen: Reject a git version string
12807         if there are no commits associated with the current directory.
12808         This avoids an unlikely false-positive (unrelated dir whose parent
12809         repository also contains a tag matching v*), as pointed out
12810         by Giuseppe Scrivano in
12811         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
12812
12813 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
12814
12815         argv-iter: omit nonconforming declaration
12816         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
12817         enum arg_iter_err declaration, which doesn't conform to C99.
12818         Solaris 10 cc warns about this.
12819
12820 2010-10-13  Eric Blake  <eblake@redhat.com>
12821
12822         termios: fix compilation on mingw
12823         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
12824         (gl_TERMIOS_H): Adjust it on mingw.
12825         * modules/termios (Makefile.am): Substitute new key.
12826         * lib/termios.in.h (includes): Make include_next conditional.
12827         * doc/posix-headers/termios.texi (termios.h): Update
12828         documentation.
12829         Reported by Daniel P. Berrange.
12830
12831 2010-10-13  Jim Meyering  <meyering@redhat.com>
12832
12833         git-version-gen: don't require that .git/ be in the current dir
12834         * build-aux/git-version-gen: Adjust this script so that it works
12835         when run from any working directory beneath the top-level .git/-
12836         containing directory.  Inspired by a patch from Giuseppe Scrivano,
12837         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
12838
12839         test-select: avoid warn_unused_result warnings
12840         * tests/test-select.c: Include "macros.h".
12841         ASSERT that each call to read, write, and pipe succeeds.
12842         While not technically required, also check each "close".
12843         * modules/select-tests (Files): Add tests/macros.h.
12844
12845         test-symlinkat: remove declaration of unused local
12846         * tests/test-symlinkat.c (main): Remove unused local, "buf".
12847
12848         test-inttostr: avoid shadowing warnings
12849         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
12850         and use malloc rather than the stack for the same reason as
12851         mentioned in the comment justifying the other allocation.
12852
12853 2010-10-11  Bruno Haible  <bruno@clisp.org>
12854
12855         stdlib: Allow multiple gnulib generated replacements to coexist.
12856         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
12857         Reported by Sam Steingold <sds@gnu.org>.
12858
12859 2010-10-11  Jim Meyering  <meyering@redhat.com>
12860
12861         fix a documentation typo
12862         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
12863
12864 2010-10-11  Eric Blake  <eblake@redhat.com>
12865
12866         futimens: work around Solaris 11 bug
12867         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
12868         * tests/test-futimens.h (test_futimens): Enhance, rather than
12869         weaken test.
12870         * doc/posix-functions/futimens.texi (futimens): Document the bug.
12871
12872 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
12873
12874         Indentation.
12875         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
12876         higher-level operators more to the left.
12877
12878 2010-10-11  Jim Meyering  <meyering@redhat.com>
12879
12880         test-futimens: avoid unwarranted test failure on Solaris 5.11
12881         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
12882         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
12883         because it tries to dereference the NULL name argument.
12884
12885 2010-10-11  Bruno Haible  <bruno@clisp.org>
12886
12887         Indentation.
12888         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
12889         indentation.
12890
12891 2010-10-11  Jim Meyering  <meyering@redhat.com>
12892
12893         spawn.in.h: make indentation consistent with parentheses
12894         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
12895         Make indentation consistent with parentheses.
12896
12897 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
12898
12899         Fix mismatched parens in previous commit
12900         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
12901         parens.
12902
12903 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
12904
12905         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
12906
12907         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
12908         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
12909         * lib/malloca.c: Include "verify.h".
12910         (verify1): Remove, replacing with a verify call.
12911         * lib/relocwrapper.c (verify1): Likewise.
12912         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
12913         Likewise.
12914         * modules/malloca (Depends-on): Add 'verify'.
12915         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
12916         * modules/vasnprintf (Depends-on): Add 'verify'.
12917         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
12918         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
12919         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
12920         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
12921         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
12922         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
12923         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
12924
12925         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
12926
12927         Formerly the style was sometimes 2*X - 1, because the C standard
12928         was wrongly thought to disallow ?: in integral constant expressions.
12929         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
12930         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
12931         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
12932         * lib/stdint.in.h (_verify_intmax_size): Likewise.
12933         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
12934         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
12935         verify that time_t cannot be floating.
12936
12937 2010-10-08  Eric Blake  <eblake@redhat.com>
12938
12939         time: enforce recent POSIX ruling that time_t is integral
12940         * lib/time.in.h (__time_t_must_be_integral): Detect any
12941         problematic systems, allowing the rest of gnulib to assume POSIX.
12942
12943 2010-10-08  Jim Meyering  <meyering@redhat.com>
12944
12945         fdopendir: fix a bug on systems lacking openat and /proc support
12946         OpenBSD 4.7 is one such system.  The most noticeable effect was
12947         failure of any application making nontrivial use of fts: rm, du,
12948         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
12949           ./rm: traversal failed: `a': Bad file descriptor
12950         Debugging that, you see that even though FD 6 was closed just
12951         prior to the opendir call in fd_clone_opendir, its resulting
12952         dir->dd_fd was 8, rather than the expected value of 6:
12953
12954         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
12955         93                close (fd);
12956         (gdb) n
12957         94                dir = fd_clone_opendir (dupfd);
12958         (gdb) n
12959         95                saved_errno = errno;
12960         (gdb) p dir->dd_fd
12961         $11 = 8
12962
12963         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
12964         The problem is that on OpenBSD, fd_clone_opendir has to resort
12965         to using the old-style save/restore CWD mechanism, due to its
12966         lack of openat/proc support, and *that* would steal the FD (6)
12967         that opendir was supposed to use.
12968
12969         The fix is to squirrel away the desired FD so that save_cwd uses a
12970         different one, and then free the dest FD right before calling opendir.
12971         That guarantees opendir will use the required file descriptor.
12972
12973         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
12974
12975 2010-10-08  Bruno Haible  <bruno@clisp.org>
12976
12977         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
12978         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
12979
12980 2010-10-08  Bruno Haible  <bruno@clisp.org>
12981
12982         nanosleep: Make replacement POSIX compliant.
12983         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
12984         is out of range.
12985         Reported by Jim Meyering.
12986
12987 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
12988
12989         bootstrap: add hook for altering gnulib.mk, for Bison
12990         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
12991         the Bison bootstrapping process can rewrite file names and variables
12992         in this file before later parts of 'bootstrap' use the file.
12993         Bison wants to include lib/gnulib.mk from the top-level makefile,
12994         so it needs the file names in this file to be relative to the top
12995         level, not relative to lib; plus it needs variable names to be
12996         rewritten.
12997         (slurp): Use the new function.
12998
12999         bootstrap: reformat for readability
13000         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
13001
13002 2010-10-08  Eric Blake  <eblake@redhat.com>
13003
13004         docs: update cygwin progress
13005         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
13006         1.7.7.
13007         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
13008         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
13009         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
13010         * doc/posix-functions/carg.texi (carg): Likewise.
13011         * doc/posix-functions/cargf.texi (cargf): Likewise.
13012         * doc/posix-functions/casin.texi (casin): Likewise.
13013         * doc/posix-functions/casinf.texi (casinf): Likewise.
13014         * doc/posix-functions/casinh.texi (casinh): Likewise.
13015         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
13016         * doc/posix-functions/catan.texi (catan): Likewise.
13017         * doc/posix-functions/catanf.texi (catanf): Likewise.
13018         * doc/posix-functions/catanh.texi (catanh): Likewise.
13019         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
13020         * doc/posix-functions/ccos.texi (ccos): Likewise.
13021         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
13022         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
13023         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
13024         * doc/posix-functions/cexp.texi (cexp): Likewise.
13025         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
13026         * doc/posix-functions/cimag.texi (cimag): Likewise.
13027         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
13028         * doc/posix-functions/clog.texi (clog): Likewise.
13029         * doc/posix-functions/clogf.texi (clogf): Likewise.
13030         * doc/posix-functions/conj.texi (conj): Likewise.
13031         * doc/posix-functions/conjf.texi (conjf): Likewise.
13032         * doc/posix-functions/cpow.texi (cpow): Likewise.
13033         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
13034         * doc/posix-functions/cproj.texi (cproj): Likewise.
13035         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
13036         * doc/posix-functions/creal.texi (creal): Likewise.
13037         * doc/posix-functions/crealf.texi (crealf): Likewise.
13038         * doc/posix-functions/csin.texi (csin): Likewise.
13039         * doc/posix-functions/csinf.texi (csinf): Likewise.
13040         * doc/posix-functions/csinh.texi (csinh): Likewise.
13041         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
13042         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
13043         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
13044         * doc/posix-functions/ctan.texi (ctan): Likewise.
13045         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
13046         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
13047         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
13048         * doc/posix-headers/complex.texi (complex.h): Likewise.
13049
13050 2010-10-07  Jim Meyering  <meyering@redhat.com>
13051
13052         parse-datetime: avoid compilation failure on OpenBSD 4.7
13053         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
13054         This works around a compilation failure on OpenBSD 4.7:
13055         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
13056
13057 2010-10-07  Eric Blake  <eblake@redhat.com>
13058
13059         docs: update cygwin progress
13060         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
13061         1.7.6.
13062         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
13063         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
13064         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
13065         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
13066         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
13067         Likewise.
13068         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
13069         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
13070         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
13071         Likewise.
13072         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
13073         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
13074         Likewise.
13075         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
13076         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
13077         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
13078         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
13079         Likewise.
13080         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
13081         Likewise.
13082         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
13083
13084         docs: update parse-datetime history
13085         * doc/parse-datetime.texi (Authors of parse_datetime): Better
13086         documentation of this function's history and alternatives.
13087
13088         cygwin: use more robust version check
13089         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
13090         exclude an eventual cygwin 1.9.1.
13091         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
13092         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
13093         (gl_FUNC_STRCASESTR): Likewise.
13094         Reported by Bruno Haible.
13095
13096 2010-10-06  Bruno Haible  <bruno@clisp.org>
13097
13098         string, sys_select: Avoid #including large headers unless necessary.
13099         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
13100         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
13101         OSF/1, BeOS, Haiku.
13102         Reported by Jim Meyering.
13103
13104 2010-10-05  Eric Blake  <eblake@redhat.com>
13105
13106         memmem, strstr, strcasestr: fix bug with long periodic needle
13107         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
13108         periodic needle having false positive.
13109         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
13110         and cygwin 1.7.7.
13111         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
13112         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
13113         (gl_FUNC_STRCASESTR): Likewise.
13114         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
13115         * tests/test-memmem.c (main): Expose the bug.
13116         * tests/test-strcasestr.c (main): Likewise.
13117         * tests/test-strstr.c (main): Likewise.
13118         * tests/test-c-strcasestr.c (main): Likewise.
13119         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
13120         * doc/posix-functions/strstr.texi (strstr): Likewise.
13121         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
13122         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
13123
13124 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
13125
13126         parse-datetime: do some more renaming
13127         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
13128         parse_datetime, not get_date.  Mention the renaming.
13129         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
13130         in comments.
13131         * m4/bison.m4: Likewise.
13132
13133 2010-10-05  Eric Blake  <eblake@redhat.com>
13134
13135         parse-datetime: better name than get_date
13136         * NEWS: Reword the deprecation notice.
13137         * modules/get_date: Rename to modules/parse-datetime.
13138         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
13139         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
13140         * lib/get_date.y: Rename to lib/parse-datetime.y.
13141         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
13142         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
13143         * doc/getdate.texi: Provide fallback wrapper.
13144         * lib/getdate.h: Move guts, and wrap...
13145         * lib/parse-datetime.h: ...new file.
13146         * lib/parse-datetime.y (get_date): Rename...
13147         (parse_datetime): ...to this.
13148         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
13149         (gl_PARSE_DATETIME): ...to this.
13150         * doc/posix-functions/getdate.texi (get_date): Provide fallback
13151         documentation.
13152         * modules/getdate (Files): Provide fallback docs and header.
13153         (Notice, Depends-on): Update references.
13154         * tests/test-parse-datetime.c: Likewise.
13155         * DEPENDENCIES: Likewise.
13156         * MODULES.html.sh (Date and time <time.h>): Likewise.
13157         * doc/parse-datetime.texi (Date input formats)
13158         (Authors of parse_datetime): Likewise.
13159         * modules/parse-datetime (Files, configure.ac, Makefile.am)
13160         (Include): Likewise.
13161         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
13162         * gnulib-tool: Likewise.
13163         * m4/bison.m4 (gl_BISON): Likewise.
13164         Suggested by Bruno Haible.
13165
13166 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
13167
13168         more ports to Solaris tr, which needs [] around ranges
13169         * gnulib-tool: Solaris tr needs [] around ranges.
13170         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
13171         * tests/test-pipe-filter-gi1.c (main): Likewise.
13172         * tests/test-pipe-filter-ii1.c (main): Likewise.
13173
13174 2010-10-05  Eric Blake  <eblake@redhat.com>
13175
13176         bootstrap: fix Solaris regression
13177         * build-aux/bootstrap (check_versions): Solaris tr still needs []
13178         around ranges.
13179         Reported by Pádraig Brady.
13180
13181         bootstrap: work with pkg-config
13182         * build-aux/bootstrap (check_versions): Also transliterate - in
13183         prerequisite name.
13184         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
13185         prerequisites that were already found, to avoid confusion.
13186         Reported by Justin Clift.
13187
13188         faccessat: remove unused wrappers
13189         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
13190         presence of these wrappers dragged in -lgen on Solaris.
13191         Reported by Clemens Brogi; fix suggested by Paul Eggert.
13192
13193 2010-10-05  Jim Meyering  <meyering@redhat.com>
13194
13195         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
13196         * Makefile (sc_pragma_columns): New syntax-check rule.
13197
13198 2010-10-04  Bruno Haible  <bruno@clisp.org>
13199
13200         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
13201         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
13202         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
13203         Reported by Bruce Korb and Eric Blake.
13204
13205 2010-10-04  Bruno Haible  <bruno@clisp.org>
13206
13207         threadlib: Make option --with-libpth-prefix work.
13208         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
13209         use $LIBPTH, not just -lpth.
13210
13211 2010-10-04  Bruno Haible  <bruno@clisp.org>
13212
13213         Avoid line length limitation from HP NonStop system header files.
13214         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
13215         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
13216         * lib/ctype.in.h: Likewise.
13217         * lib/dirent.in.h: Likewise.
13218         * lib/errno.in.h: Likewise.
13219         * lib/fcntl.in.h: Likewise.
13220         * lib/float.in.h: Likewise.
13221         * lib/getopt.in.h: Likewise.
13222         * lib/iconv.in.h: Likewise.
13223         * lib/inttypes.in.h: Likewise.
13224         * lib/langinfo.in.h: Likewise.
13225         * lib/locale.in.h: Likewise.
13226         * lib/math.in.h: Likewise.
13227         * lib/netdb.in.h: Likewise.
13228         * lib/netinet_in.in.h: Likewise.
13229         * lib/poll.in.h: Likewise.
13230         * lib/pthread.in.h: Likewise.
13231         * lib/pty.in.h: Likewise.
13232         * lib/sched.in.h: Likewise.
13233         * lib/se-selinux.in.h: Likewise.
13234         * lib/search.in.h: Likewise.
13235         * lib/signal.in.h: Likewise.
13236         * lib/spawn.in.h: Likewise.
13237         * lib/stdarg.in.h: Likewise.
13238         * lib/stddef.in.h: Likewise.
13239         * lib/stdint.in.h: Likewise.
13240         * lib/stdio.in.h: Likewise.
13241         * lib/stdlib.in.h: Likewise.
13242         * lib/string.in.h: Likewise.
13243         * lib/strings.in.h: Likewise.
13244         * lib/sys_file.in.h: Likewise.
13245         * lib/sys_ioctl.in.h: Likewise.
13246         * lib/sys_select.in.h: Likewise.
13247         * lib/sys_socket.in.h: Likewise.
13248         * lib/sys_stat.in.h: Likewise.
13249         * lib/sys_time.in.h: Likewise.
13250         * lib/sys_times.in.h: Likewise.
13251         * lib/sys_utsname.in.h: Likewise.
13252         * lib/sys_wait.in.h: Likewise.
13253         * lib/sysexits.in.h: Likewise.
13254         * lib/termios.in.h: Likewise.
13255         * lib/time.in.h: Likewise.
13256         * lib/unistd.in.h: Likewise.
13257         * lib/wchar.in.h: Likewise.
13258         * lib/wctype.in.h: Likewise.
13259         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
13260         * modules/ctype (Makefile.am): Likewise.
13261         * modules/dirent (Makefile.am): Likewise.
13262         * modules/errno (Makefile.am): Likewise.
13263         * modules/fcntl-h (Makefile.am): Likewise.
13264         * modules/float (Makefile.am): Likewise.
13265         * modules/getopt-posix (Makefile.am): Likewise.
13266         * modules/iconv-h (Makefile.am): Likewise.
13267         * modules/inttypes (Makefile.am): Likewise.
13268         * modules/langinfo (Makefile.am): Likewise.
13269         * modules/locale (Makefile.am): Likewise.
13270         * modules/math (Makefile.am): Likewise.
13271         * modules/netdb (Makefile.am): Likewise.
13272         * modules/netinet_in (Makefile.am): Likewise.
13273         * modules/poll-h (Makefile.am): Likewise.
13274         * modules/pthread (Makefile.am): Likewise.
13275         * modules/pty (Makefile.am): Likewise.
13276         * modules/sched (Makefile.am): Likewise.
13277         * modules/search (Makefile.am): Likewise.
13278         * modules/selinux-h (Makefile.am): Likewise.
13279         * modules/signal (Makefile.am): Likewise.
13280         * modules/spawn (Makefile.am): Likewise.
13281         * modules/stdarg (Makefile.am): Likewise.
13282         * modules/stddef (Makefile.am): Likewise.
13283         * modules/stdint (Makefile.am): Likewise.
13284         * modules/stdio (Makefile.am): Likewise.
13285         * modules/stdlib (Makefile.am): Likewise.
13286         * modules/string (Makefile.am): Likewise.
13287         * modules/strings (Makefile.am): Likewise.
13288         * modules/sys_file (Makefile.am): Likewise.
13289         * modules/sys_ioctl (Makefile.am): Likewise.
13290         * modules/sys_select (Makefile.am): Likewise.
13291         * modules/sys_socket (Makefile.am): Likewise.
13292         * modules/sys_stat (Makefile.am): Likewise.
13293         * modules/sys_time (Makefile.am): Likewise.
13294         * modules/sys_times (Makefile.am): Likewise.
13295         * modules/sys_utsname (Makefile.am): Likewise.
13296         * modules/sys_wait (Makefile.am): Likewise.
13297         * modules/sysexits (Makefile.am): Likewise.
13298         * modules/termios (Makefile.am): Likewise.
13299         * modules/time (Makefile.am): Likewise.
13300         * modules/unistd (Makefile.am): Likewise.
13301         * modules/wchar (Makefile.am): Likewise.
13302         * modules/wctype (Makefile.am): Likewise.
13303
13304 2010-10-04  Bruno Haible  <bruno@clisp.org>
13305
13306         read-file tests: Avoid a test failure on NonStop Kernel.
13307         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
13308         a regular file.
13309         Reported by Joachim Schmitz <schmitz@hp.com>.
13310
13311 2010-10-03  Bruno Haible  <bruno@clisp.org>
13312
13313         gnulib-tool: Fixes for --create-testdir with --libtool.
13314         * gnulib-tool (func_get_automake_snippet): Don't augment
13315         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
13316         an executable.
13317         (func_create_testdir): Handle module 'alloca' like func_import.
13318         Reported by Bruce Korb <bruce.korb@gmail.com>.
13319
13320 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
13321
13322         Avoid some lines longer than 80 characters.
13323         * lib/stdint.in.h: Break long comment lines.
13324         * lib/math.in.h: Likewise.
13325         (_GL_NUM_UINT_WORDS): New macro, for readability.
13326         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
13327         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
13328         * lib/stdlib.in.h: Likewise.
13329         * lib/spawn.in.h: Likewise.
13330         * lib/sys_socket.in.h: Update an URL.
13331         * lib/sys_stat.in.h: Break long line.
13332
13333 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
13334
13335         Improve pmccabe2html.
13336         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
13337         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
13338         when the sources change. Remove the line in the HTML about "Used
13339         ranges" (which implied that there might be other unused ranges),
13340         rename "Resume" to "Summary" (easier to understand for more users).
13341         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
13342         styles, and some unnecessary blank lines.
13343
13344 2010-10-03  Bruno Haible  <bruno@clisp.org>
13345             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
13346
13347         acl: Add support for ACLs on NonStop Kernel.
13348         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
13349         Check whether the function aclsort() exists.
13350         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
13351         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
13352         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
13353         (acl_nontrivial [HAVE_ACLSORT]: New function.
13354         (file_has_acl): Implement for NonStop Kernel.
13355         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
13356         (qset_acl): Implement for NonStop Kernel.
13357         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
13358         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
13359         (main): Implement for NonStop Kernel.
13360         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
13361         Kernel. Handle this flavor.
13362         * tests/test-set-mode-acl.sh: Likewise.
13363         * tests/test-copy-acl.sh: Likewise.
13364         * tests/test-copy-file.sh: Likewise.
13365
13366 2010-10-03  Bruno Haible  <bruno@clisp.org>
13367
13368         Info about ACLs on NonStop Kernel.
13369         * doc/acl-resources.txt: Add info about NonStop Kernel.
13370         References by Joachim Schmitz <schmitz@hp.com>.
13371
13372 2010-10-02  Bruno Haible  <bruno@clisp.org>
13373
13374         Define missing EDQUOT on NonStop Kernel.
13375         * lib/errno.in.h (EDQUOT): Assign a value if missing.
13376         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
13377         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
13378         missing.
13379         * doc/posix-headers/errno.texi: Mention the NSK bug.
13380         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
13381         Reported by Joachim Schmitz <schmitz@hp.com>.
13382
13383 2010-10-02  Bruno Haible  <bruno@clisp.org>
13384
13385         Update doc for POSIX:2008.
13386         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
13387         Update URL of POSIX specification.
13388
13389 2010-10-02  Bruno Haible  <bruno@clisp.org>
13390
13391         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
13392         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
13393         from gnulib, not from Automake.
13394
13395 2010-10-02  Bruno Haible  <bruno@clisp.org>
13396
13397         New module 'system-posix'.
13398         * modules/system-posix: New file.
13399         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
13400         module is present.
13401         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
13402         GNULIB_SYSTEM_POSIX.
13403         * modules/stdlib (Depends-on): Remove sys_wait.
13404         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
13405         * doc/posix-functions/system.texi: Mention the new module.
13406         * doc/posix-headers/stdlib.texi: Likewise.
13407         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
13408         define test_sys_wait_macros to a no-op.
13409         Reported by Sam Steingold <sds@gnu.org>.
13410
13411 2010-09-30  Bruno Haible  <bruno@clisp.org>
13412
13413         More renaming from 'getdate' to 'get_date'.
13414         * doc/get_date.texi: Renamed from doc/getdate.texi.
13415         * modules/get_date (Files): Update.
13416         * MODULES.html.sh (Date and time <time.h>): Update.
13417         * DEPENDENCIES: Update.
13418         * gnulib-tool: Update comment.
13419         * m4/bison.m4 (gl_BISON): Likewise.
13420         * m4/get_date.m4 (gl_GET_DATE): Likewise.
13421
13422 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
13423
13424         bootstrap: support ACLOCAL_FLAGS during aclocal
13425         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
13426         can add additional -I dir for third-party .m4 files.
13427
13428 2010-09-30  Eric Blake  <eblake@redhat.com>
13429
13430         bootstrap: use glibtoolize on MacOS
13431         * build-aux/bootstrap (check_versions): Convert libtool into
13432         libtoolize.
13433         (tool search): Move libtool check earlier, and look for
13434         glibtoolize for MacOS.
13435         (gnulib_tool_options): Auto-add --libtool when appropriate.
13436         Reported by Justin Clift.
13437
13438         poll: fix typo that broke test on MacOS
13439         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
13440         Reported by Justin Clift.
13441
13442         getdate: rename to get_date
13443         Note: getdate.h is not renamed, to minimize client impact.
13444         * modules/getdate: Mark obsolete.  Move old contents...
13445         * modules/get_date: ...to new module name.
13446         * modules/getdate-tests: Move...
13447         * modules/get_date-tests: ...here.
13448         * m4/getdate.m4: Move...
13449         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
13450         * lib/getdate.y: Move...
13451         * lib/get_date.y: ...here.
13452         * tests/test-getdate.c: Move...
13453         * tests/test-get_date.c: ...here.
13454         * doc/posix-functions/getdate.texi (getdate): Update name.
13455         * NEWS: Mention the change.
13456
13457 2010-09-29  Bruno Haible  <bruno@clisp.org>
13458
13459         Separate the module 'waitpid' from the module 'sys_wait'.
13460         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
13461         present.
13462         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
13463         gl_MODULE_INDICATOR_FOR_TESTS.
13464         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
13465         * modules/sys_wait (Depends-on): Remove waitpid.
13466         (Makefile.am): Substitute GNULIB_WAITPID.
13467         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
13468         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
13469         signature only if the 'waitpid' module is present.
13470         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
13471         * NEWS: Mention the change.
13472         * modules/grantpt (Depends-on): Add waitpid.
13473         * modules/wait-process (Depends-on): Likewise.
13474
13475 2010-09-29  Bruno Haible  <bruno@clisp.org>
13476
13477         More tests for module 'sys_wait'.
13478         * modules/sys_wait-c++-tests: New file.
13479         * tests/test-sys_wait-c++.cc: New file.
13480         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
13481         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
13482
13483 2010-09-29  Bruno Haible  <bruno@clisp.org>
13484
13485         New module 'waitpid'.
13486         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
13487         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
13488         Don't include <process.h>.
13489         (waitpid): Declare only, using modern idiom.
13490         * m4/waitpid.m4: New file.
13491         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
13492         * modules/waitpid: New file.
13493         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
13494         (Makefile.am): Update.
13495         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
13496
13497 2010-09-28  Bruno Haible  <bruno@clisp.org>
13498
13499         poll: Assume ANSI C.
13500         * lib/poll.c (poll): Use an ANSI C declaration.
13501
13502 2010-09-28  Bruno Haible  <bruno@clisp.org>
13503
13504         poll-h: Create poll.h on all platforms.
13505         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
13506         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
13507         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
13508         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
13509         (gl_REPLACE_POLL_H): Don't set POLL_H.
13510         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
13511         * modules/poll-h (Depends-on): Add include_next.
13512         (Makefile.am): Create poll.h unconditionally. Substitute also
13513         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
13514
13515 2010-09-28  Bruno Haible  <bruno@clisp.org>
13516
13517         Tests for module 'poll-h'.
13518         * modules/poll-h-c++-tests: New file.
13519         * tests/test-poll-h-c++.cc: New file.
13520
13521         Tests for module 'poll-h'.
13522         * modules/poll-h-tests: New file.
13523         * tests/test-poll-h.c: New file.
13524
13525 2010-09-28  Bruno Haible  <bruno@clisp.org>
13526
13527         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
13528         * modules/poll-h (Depends-on): Add 'extensions'.
13529
13530 2010-09-28  Bruno Haible  <bruno@clisp.org>
13531
13532         New module 'poll-h'.
13533         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
13534         (poll): Use modern idiom.
13535         * modules/poll-h: New file.
13536         * modules/poll (Files): Remove lib/poll.in.h.
13537         (Depends-on): Add poll-h.
13538         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
13539         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
13540         * m4/poll_h.m4: New file.
13541         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
13542         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
13543         and invoke gl_REPLACE_POLL_H.
13544         * lib/poll.c: Use common idiom.
13545         * tests/test-poll.c: Likewise.
13546         * doc/posix-headers/poll.texi: Mention the poll-h module.
13547         Suggested by Eric Blake.
13548
13549 2010-09-26  Bruno Haible  <bruno@clisp.org>
13550
13551         sys_wait: Implement WSTOPSIG.
13552         * lib/sys_wait.in.h (WSTOPSIG): New macro.
13553         Reported by Simon Josefsson.
13554
13555 2010-09-26  Simon Josefsson  <simon@josefsson.org>
13556
13557         stdlib, sys_wait: Avoid compilation error on mingw.
13558         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
13559
13560 2010-09-26  Bruno Haible  <bruno@clisp.org>
13561
13562         stdlib tests: Avoid code duplication.
13563         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
13564         * modules/sys_wait-tests (Files): Likewise.
13565         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
13566         * tests/test-stdlib.c: Include test-sys_wait.h.
13567         (main): Invoke test_sys_wait_macros.
13568         * tests/test-sys_wait.c: Include test-sys_wait.h.
13569         (main): Invoke test_sys_wait_macros.
13570
13571 2010-09-25  Simon Josefsson  <simon@josefsson.org>
13572
13573         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
13574         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
13575         sure Windows sockets are working before calling getaddrinfo.
13576         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
13577         * doc/gnulib.texi (Windows sockets): Fix typo.
13578
13579 2010-09-25  Bruno Haible  <bruno@clisp.org>
13580
13581         Tests for module 'regex-quote'.
13582         * modules/regex-quote-tests: New file.
13583         * tests/test-regex-quote.c: New file.
13584
13585         New module 'regex-quote'.
13586         * lib/regex-quote.h: New file.
13587         * lib/regex-quote.c: New file.
13588         * modules/regex-quote: New file.
13589         Suggested by Reuben Thomas <rrt@sc3d.org>.
13590
13591 2010-09-24  Bruno Haible  <bruno@clisp.org>
13592
13593         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
13594         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
13595
13596 2010-09-23  Bruno Haible  <bruno@clisp.org>
13597
13598         setenv: Relax license.
13599         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
13600         Blake.
13601         Requested by Eric Blake.
13602
13603 2010-09-22  Bruno Haible  <bruno@clisp.org>
13604
13605         termios: Relax license.
13606         * modules/termios (License): Change to LGPLv2+.
13607         Requested by Eric Blake.
13608
13609 2010-09-22  Bruno Haible  <bruno@clisp.org>
13610
13611         threadlib: Allow the package to change the default to 'no'.
13612         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
13613         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
13614         Reported by Paul Eggert.
13615
13616 2010-09-22  Pádraig Brady  <P@draigbrady.com>
13617             Bruno Haible  <bruno@clisp.org>
13618
13619         Fix endless loop in mbmemcasecoll.
13620         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
13621         byte.
13622         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
13623
13624 2010-09-22  Bruno Haible  <bruno@clisp.org>
13625
13626         Tests for module 'memcoll'.
13627         * modules/memcoll-tests: New file.
13628         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
13629
13630         memcoll, xmemcoll: Clarify size vs. length.
13631         * modules/memcoll.c (memcoll0): Clarify specification.
13632         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
13633         passed to collate_error.
13634
13635 2010-09-22  Bruno Haible  <bruno@clisp.org>
13636
13637         Tests for module 'memcasecmp'.
13638         * modules/memcasecmp-tests: New file.
13639         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
13640
13641 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
13642
13643         * lib/pthread.in.h: Add split double-inclusion guard, and include
13644         system <pthread.h> if there is one.  Use @@-style as in other
13645         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
13646         pthread.h doesn't.
13647         (pthread_mutexattr_destroy, pthread_mutexattr_init):
13648         (pthread_mutexattr_settype, pthread_mutex_trylock):
13649         New static inline functions, if there's no system <pthread.h>.
13650         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
13651         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
13652         Approximate with mutexes if the system lacks spinlocks, as in
13653         MacOS.
13654         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
13655         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
13656         @@-style.  Check for spinlocks separately.
13657         (gl_PTHREAD_DEFAULTS): New macro.
13658         * modules/pthread: Redo to use a more typical style for in.h files.
13659
13660 2010-09-21  Eric Blake  <eblake@redhat.com>
13661
13662         net_if: enhance tests
13663         * tests/test-net_if.c (main): Move signature checks earlier.
13664         Print failures to stderr.
13665         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
13666         Document the bug that we do not yet fix.
13667
13668 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
13669
13670         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
13671         about gnulib, not GSS.
13672
13673 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
13674
13675         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
13676         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
13677         for Emacs.
13678         * build-aux/pmccabe2html: Make Makefile.am example code more
13679         cut-and-paste friendly.
13680
13681 2010-09-21  Simon Josefsson  <simon@josefsson.org>
13682
13683         * tests/test-net_if.c: New file.
13684         * modules/net_if-tests: New file.
13685
13686 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
13687
13688         pthread: add pthread_spin_destroy
13689         * lib/pthread.in.h (pthread_spin_destroy): New function.
13690
13691 2010-09-19  Bruno Haible  <bruno@clisp.org>
13692
13693         gnulib-tool: Fix --help output.
13694         * gnulib-tool (func_usage): Fix help message.
13695         Reported by Reuben Thomas <rrt@sc3d.org>.
13696
13697 2010-09-18  Jim Meyering  <meyering@redhat.com>
13698
13699         maint.mk: avoid unexpanded \n in two diagnostics
13700         * top/maint.mk (sc_prohibit_always_true_header_tests):
13701         Don't use a literal \n in a halt=... assignment.  It would not be
13702         expanded, and the two \n bytes would appear in the diagnostic output
13703         rather than the desired newline.  Use halt=$$(printf ... instead.
13704         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
13705
13706 2010-09-18  Bruno Haible  <bruno@clisp.org>
13707
13708         netinet_in: Doc tweak.
13709         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
13710         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
13711
13712 2010-09-18  Jim Meyering  <meyering@redhat.com>
13713
13714         init.sh: correct an outdated comment
13715         * tests/init.sh (create_exe_shims_):  s/function/alias/
13716
13717         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
13718         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
13719         a file named "*.exe" is removed between the glob expansion and the
13720         processing of that oddly named file.
13721
13722 2010-09-17  Eric Blake  <eblake@redhat.com>
13723
13724         mirbsd: add some more support
13725         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
13726         in BSD family.
13727         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
13728         devices as OpenBSD.
13729         * m4/host-os.m4 (mirbsd): Add MirBSD.
13730
13731         tests: fix unportable assumption on sys/wait.h
13732         * tests/test-sys_wait.c (main): Relax test.
13733         * tests/test-stdlib.c (main): Likewise.
13734
13735         init.sh: accomodate directory with no .exes
13736         * tests/init.sh: Accomodate directory containing only scripts.
13737
13738         tests: avoid compiler warning
13739         * tests/test-stdlib.c (main): Use the variable.
13740
13741         fdutimens, fdutimensat: update signature, again
13742         * lib/utimens.h (gl_futimens): Delete, and move signature...
13743         (fdutimens): ...here.
13744         (fdutimensat): Rearrange signature.
13745         (lutimensat): Rename variable for clarity.
13746         * lib/fdutimensat.c (fdutimensat): Update signature.
13747         * lib/utimens.c (fdutimens): Likewise.
13748         (gl_futimens): Delete.
13749         (utimens, lutimens): Update callers.
13750         * lib/futimens.c (futimens): Likewise.
13751         * tests/test-fdutimensat.c: Likewise.
13752         * tests/test-utimens.c: Likewise.
13753         * tests/test-futimens.h: Update comment.
13754         * NEWS: Mention this.
13755         Suggested by Paul Eggert.
13756
13757 2010-09-17  Bruno Haible  <bruno@clisp.org>
13758
13759         Take over the maintenance of some older macros from Autoconf.
13760         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
13761         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
13762         GNU Autoconf.
13763         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
13764         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
13765
13766 2010-09-17  Eric Blake  <eblake@redhat.com>
13767
13768         fdutimensat: drop atflag validation
13769         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
13770         with valid fd, to close a race scenario where futimens is
13771         unsupported and FILE was replaced by a symlink.
13772         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
13773         accordingly.
13774         Suggested by Paul Eggert.
13775
13776 2010-09-16  Bruno Haible  <bruno@clisp.org>
13777
13778         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
13779         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
13780
13781 2010-09-16  Bruno Haible  <bruno@clisp.org>
13782
13783         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
13784         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
13785         login_tty exists.
13786         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
13787
13788 2010-09-16  Bruno Haible  <bruno@clisp.org>
13789
13790         login_tty: Make the replacement code work on BSD systems.
13791         * lib/login_tty.c: Include <sys/ioctl.h>.
13792         (login_tty): Use ioctl TIOCSCTTY when available.
13793         * modules/login_tty (Depends-on): Add sys_ioctl.
13794         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
13795
13796 2010-09-16  Bruno Haible  <bruno@clisp.org>
13797
13798         login_tty: Stricter unit test.
13799         * modules/login_tty-tests (Depends-on): Add tcgetsid.
13800         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
13801         and tcgetsid() after login_tty.
13802         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
13803
13804 2010-09-16  Bruno Haible  <bruno@clisp.org>
13805
13806         New module 'tcgetsid'.
13807         * lib/tcgetsid.c: New file.
13808         * m4/tcgetsid.m4: New file.
13809         * modules/tcgetsid: New file.
13810         * modules/termios (Depends-on): Add c++defs, warn-on-use.
13811         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
13812         GNULIB_TCGETSID, HAVE_TCGETSID.
13813         * lib/termios.in.h: Include <sys/types.h>.
13814         (tcgetsid): New declaration.
13815         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
13816         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
13817         * doc/posix-functions/tcgetsid.texi: Mention the new module.
13818         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
13819
13820 2010-09-16  Bruno Haible  <bruno@clisp.org>
13821
13822         Tests for module 'termios'.
13823         * modules/termios-c++-tests: New file.
13824         * modules/termios-tests: New file.
13825         * tests/test-termios-c++.cc: New file.
13826         * tests/test-termios.c: New file.
13827
13828         New module 'termios'.
13829         * modules/termios: New file.
13830         * lib/termios.in.h: New file.
13831         * m4/termios_h.m4: New file.
13832         * doc/posix-headers/termios.texi: Mention the new module.
13833
13834 2010-09-16  Eric Blake  <eblake@redhat.com>
13835
13836         fdutimensat: add an atflag parameter
13837         * lib/fdutimensat.c (fdutimensat): Add new parameter.
13838         * lib/utimens.h (fdutimensat): Update prototype.
13839         * tests/test-fdutimensat.c: Adjust test to match.
13840         * NEWS: Document the change.
13841         Suggested by Paul Eggert.
13842
13843 2010-09-16  Bruno Haible  <bruno@clisp.org>
13844
13845         Fix typos in comments.
13846         * lib/striconveh.h: Fix typo in comment.
13847         * lib/login_tty.c (login_tty): Likewise.
13848
13849 2010-09-15  Bruno Haible  <bruno@clisp.org>
13850
13851         stdlib: clarify MirBSD WEXITSTATUS bug
13852         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
13853         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
13854
13855 2010-09-15  Eric Blake  <eblake@redhat.com>
13856
13857         stdlib: work around MirBSD WEXITSTATUS bug
13858         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
13859         * modules/stdlib (Depends-on): Add sys_wait.
13860         * tests/test-sys_wait.c (main): Enhance test.
13861         * tests/test-stdlib.c (main): Likewise.
13862         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
13863
13864         docs: mention MacOS issue with WEXITSTATUS(constant)
13865         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
13866         issue.
13867         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
13868
13869         strnlen: add tests
13870         * modules/strnlen-tests: New file.
13871         * tests/test-strnlen.c: Likewise.
13872
13873 2010-09-14  Bruno Haible  <bruno@clisp.org>
13874
13875         unistr/base: Avoid link errors when module 'libunistring' is also used.
13876         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
13877         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
13878         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
13879         Declare also when HAVE_LIBUNISTRING is set.
13880         Reported by Pádraig Brady <P@draigbrady.com>.
13881
13882 2010-09-14  Eric Blake  <eblake@redhat.com>
13883
13884         test-rawmemchr: make more robust
13885         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
13886         (Depends-on, configure.ac): Add needed prerequisites to use it.
13887         * modules/memchr-tests (Files, Depends-on, configure.ac):
13888         Likewise, to avoid implicit reliance on memchr module prereqs.
13889         * tests/test-memchr.c (main): Ensure proper masking.
13890         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
13891         reads.
13892
13893         memchr: detect glibc Alpha bug
13894         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
13895         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
13896         Alpha.
13897         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
13898         * tests/test-memchr.c (main): Enhance test.
13899         Reported by Nelson H. F. Beebe.
13900
13901 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
13902
13903         fts, getcwd, glob: audit for dirfd returning -1
13904         * lib/fts.c (opendir): Remove #define; no longer used.
13905         (opendirat): New arg PDIR_FD.  All callers changed.
13906         (fts_build, _opendir2): Use new opendirat to avoid the need for
13907         dirfd, or for checking whether dirfd returns a negative value.
13908         Don't use opendir; always use openat followed by fdopendir.
13909         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
13910         it.
13911         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
13912         returns -1 here.
13913         * modules/fts (Depends-on): Remove dirfd.
13914         * modules/getcwd (Depends-on): Likewise.
13915
13916 2010-09-13  Eric Blake  <eblake@redhat.com>
13917
13918         float: fix broken MirBSD header
13919         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
13920         * doc/posix-headers/float.texi (float.h): Document it.
13921
13922 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
13923
13924         fts: use O_NOFOLLOW to avoid race condition when opening a directory
13925         * lib/fts.c (opendirat): New arg extra_flags.
13926         (__opendir2): Use it to avoid following symlinks when opening
13927         a directory, if symlinks are not supposed to be followed.  See
13928         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
13929
13930         fdopendir: preserve argument fd before returning
13931         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
13932         (fdopendir_with_dup, fd_clone_opendir): New static functions.
13933         (fdopendir): Use them, arranging for FD to be open to the same
13934         directory that it was when it started.  (It might be temporarily
13935         closed while fdopendir is running, so this not thread- or
13936         signal-safe.)  Be careful to do the right thing even when file
13937         descriptors are scarce and dup fails with errno == EMFILE.  See
13938         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
13939
13940 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
13941
13942         regex: Pass the system regex if its only problem is 32-bit regoff_t.
13943         * NEWS: Document change.
13944         * m4/regex.m4: Disable test for regoff_t size.
13945
13946 2010-09-13  Jim Meyering  <meyering@redhat.com>
13947
13948         fts: don't operate on an invalid file descriptor after failed dup
13949         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
13950         negative file descriptor.
13951
13952 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
13953
13954         savedir: add streamsavedir, deprecate fdsavedir
13955         * NEWS: Mention deprecation of fdsavedir.
13956         * lib/savedir.c (streamsavedir): New extern function, whose name
13957         ends in "savedir" to be consistent with the others.  This differs
13958         from savedirstream in that it doesn't close its argument.  The
13959         next version of GNU tar will use this instead of fdsavedir, to
13960         avoid some race conditions and conserve file descriptors.
13961         (savedirstream): Reimplement as a wrapper around streamsavedir.
13962         (fdsavedir): Add a comment deprecating this function.  As far as
13963         I know, only GNU tar used it, and GNU tar doesn't need it any more.
13964         * lib/savedir.h (streamsavedir): New decl.
13965         (fdsavedir): Add a comment deprecating this.
13966
13967 2010-09-10  Bruno Haible  <bruno@clisp.org>
13968
13969         langinfo: Fix last commit.
13970         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
13971         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
13972         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13973
13974 2010-09-10  Bruno Haible  <bruno@clisp.org>
13975
13976         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
13977         * lib/progreloc.c (O_EXEC): Define fallback.
13978
13979 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
13980
13981         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
13982         * NEWS: Document recent changes to fcntl-h.
13983         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
13984         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
13985         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
13986         Similarly for O_SEARCH; this last was already true, but not documented.
13987         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
13988         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
13989         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
13990         Likewise.
13991         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
13992         is zero, not whether it is defined.
13993         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
13994         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
13995         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
13996
13997 2010-09-10  Bruno Haible  <bruno@clisp.org>
13998
13999         langinfo, nl_langinfo: Fix for IRIX 5.3.
14000         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
14001         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
14002         HAVE_LANGINFO_YESEXPR.
14003         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
14004         HAVE_LANGINFO_YESEXPR.
14005         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
14006         HAVE_LANGINFO_T_FMT_AMPM is 0.
14007         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
14008         HAVE_LANGINFO_YESEXPR is 0.
14009         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
14010         NOEXPR.
14011         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
14012         * doc/posix-functions/nl_langinfo.texi: Likewise.
14013         Reported by Eric Blake.
14014
14015 2010-09-10  Bruno Haible  <bruno@clisp.org>
14016
14017         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
14018         * doc/glibc-functions/login_tty.texi: Mention the include file problem
14019         on FreeBSD 8.0 and OpenBSD 4.6.
14020         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
14021         * m4/pty_h.m4 (gl_PTY_H): Likewise.
14022         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
14023         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
14024         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
14025         ac_includes_default.
14026         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
14027
14028 2010-09-09  Eric Blake  <eblake@redhat.com>
14029
14030         strsignal: work around NetBSD bug
14031         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
14032         * lib/string.in.h (includes): Likewise.
14033         * doc/posix-functions/strsignal.texi (strsignal): Document the
14034         bug.
14035         Reported by Nelson H. F. Beebe.
14036
14037         gnulib-tool: work with NetBSD /bin/sh
14038         * gnulib-tool (func_cache_var, func_cache_lookup_module)
14039         (func_get_description, func_get_comment, func_get_status)
14040         (func_get_notice, func_get_applicability, func_get_filelist)
14041         (func_get_dependencies, func_get_autoconf_early_snippet)
14042         (func_get_autoconf_snippet, func_get_automake_snippet)
14043         (func_get_include_directive, func_get_link_directive)
14044         (func_get_license, func_get_maintainer, func_import): Avoid
14045         shell syntax errors from parsing syntax extensions.
14046
14047 2010-09-09  Bruno Haible  <bruno@clisp.org>
14048
14049         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
14050         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
14051         a reliable way to determine whether the 'alias' command works.
14052
14053 2010-09-08  Jim Meyering  <meyering@redhat.com>
14054
14055         init.sh: penalize a set-x-impaired shell; don't disqualify it
14056         * tests/init.sh: Too many shells corrupt application stderr when
14057         you set -x, so we can't afford to disqualify them, since at least
14058         on Irix-6.5, that would disqualify all bourne shells.
14059         Instead, use a two-pass approach.
14060         On the first pass, try to find a shell that meets the stricter
14061         condition that set -x does not corrupt stderr.
14062         If no shell meets the stricter condition, retest each candidate
14063         shell, but without that extra condition.  Finally, when
14064         VERBOSE=yes is requested and set -x might cause trouble, simply
14065         issue a warning and refrain from enabling debug output.
14066
14067 2010-09-08  Eric Blake  <eblake@redhat.com>
14068
14069         unsetenv: fix OpenBSD bug
14070         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
14071         * doc/posix-functions/unsetenv.texi (unsetenv): Update
14072         documentation.
14073         Reported by Jim Meyering.
14074
14075         strtod: work around IRIX 6.5 bug
14076         * lib/strtod.c (strtod): Reparse number on shorter string if
14077         exponent parse was invalid.
14078         * tests/test-strtod.c (main): Add check for "0x1p 2".
14079         Reported by Tom G. Christensen.
14080
14081         getopt: optimize previous patch
14082         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
14083         empty variable.  Speed up awk script.
14084         Reported by Paolo Bonzini.
14085
14086 2010-09-08  Jim Meyering  <meyering@redhat.com>
14087
14088         test.sh: disqualify shells for which set -x corrupts stderr
14089         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
14090         and OpenBSD 4.7.  They make it so with "set -x", environment settings
14091         appear in stderr output.  For example, this command:
14092             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
14093         prints "P=1" on those two systems:
14094
14095 2010-09-08  Bruno Haible  <bruno@clisp.org>
14096
14097         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
14098         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
14099         commands, because some shells ignore redirections when there is an
14100         error in the command lookup.
14101         Reported by Eric Blake.
14102
14103 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
14104
14105         * lib/regex.h: Fix a mention of `regex_compile' (should be
14106         `re_compile_pattern').
14107         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
14108         (re_set_registers): Correct name of parameter in comment.
14109
14110         * doc/regex.texi: Add documentation for missing syntax flags.
14111         Remove commented-out documentation of defunct syntax option
14112         RE_NO_EMPTY_ALTS.
14113         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
14114         Add documentation of re_set_registers.
14115         Document trick to re-use a pattern buffer by setting fastmap manually.
14116         Update documentation of struct re_pattern_buffer per public members.
14117         Uncomment documentation of equivalence class operators and
14118         collating symbol operators, since they are now implemented,
14119         Explain leftmost-longest matching in relation to alternatives.
14120         Tidy documentation of substring matching.
14121         Remove POSIX documentation, which is done better in
14122         glibc, and refer the reader there. Keep BSD API documentation, as
14123         that is not readily available elsewhere.
14124
14125 2010-09-07  Eric Blake  <eblake@redhat.com>
14126
14127         getopt: handle POSIXLY_CORRECT set but not exported
14128         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
14129         export state of POSIXLY_CORRECT, due to bash set -o posix.
14130         Reported by Dustin J. Mitchell.
14131
14132 2010-09-05  Bruno Haible  <bruno@clisp.org>
14133
14134         gnulib-tool: Highlight the changed options.
14135         * gnulib-tool (func_usage): Display the --import, --add-import,
14136         --remove-import explanations in bold font.
14137
14138 2010-09-06  Karl Berry  <karl@gnu.org>
14139
14140         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
14141
14142 2010-09-05  Bruno Haible  <bruno@clisp.org>
14143
14144         uniwidth/width: Update comment.
14145         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
14146         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
14147
14148 2010-09-05  Bruno Haible  <bruno@clisp.org>
14149
14150         isinf, isnan: Relax license.
14151         * modules/isinf (License): Change from GPL to LGPL, with consent from
14152         Ben Pfaff.
14153         * modules/isnan (License): Likewise.
14154         Requested by Ludovic Courtès.
14155
14156 2010-09-04  Bruno Haible  <bruno@clisp.org>
14157
14158         gnulib-tool: Help migration from --import to --add-import or --update.
14159         * gnulib-tool: Emit a verbose error message when --import is used
14160         without any module name.
14161
14162 2010-09-04  Bruno Haible  <bruno@clisp.org>
14163
14164         Update doc about gnulib-tool.
14165         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
14166         'gnulib-tool --update' in more detail.
14167         Reported by Eric Blake.
14168
14169 2010-09-04  Bruno Haible  <bruno@clisp.org>
14170
14171         gnulib-tool: Change --import. New options --add/remove-import.
14172         * gnulib-tool: New options --add-import, --remove-import.
14173         (func_usage): Document them.
14174         (have_associative): Define always.
14175         (func_import): In import mode, don't merge the specified settings with
14176         the cached settings. Implement remove-import mode.
14177         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
14178         Explain when to use them versus --import.
14179         (Simple update): Use --add-import instead of --import.
14180         * NEWS: Mention the change.
14181
14182 2010-09-04  Bruno Haible  <bruno@clisp.org>
14183
14184         * doc/gnulib-tool.texi (Initial import): Update paragraph about
14185         separate gnulib.mk.
14186
14187 2010-09-04  Bruno Haible  <bruno@clisp.org>
14188
14189         gnulib-tool: Don't talk about CVS any more.
14190         * gnulib-tool (func_usage, func_import): Write "version control"
14191         instead of CVS.
14192
14193 2010-09-04  Jim Meyering  <meyering@redhat.com>
14194
14195         maint.mk: avoid obscure sc_copyright_check failure in coreutils
14196         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
14197         false positives (whose names may be ill-chosen) when searching
14198         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
14199         would cause a false-positive.
14200
14201         avoid coreutils "make distcheck" failure
14202         Coreutils tests with an absolute build directory name that contains
14203         a space.  Not quoting this directory name caused a failure.
14204         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
14205         * tests/test-vc-list-files-cvs.sh: Likewise.
14206
14207 2010-09-04  Bruno Haible  <bruno@clisp.org>
14208
14209         gnulib-tool: Avoid error when run in a package without Makefile.am.
14210         * gnulib-tool: When collecting the m4dirs in a package that does not
14211         have a Makefile.am, eliminate those directories that contain no
14212         gnulib-cache.m4. Fix expression that counts these directories.
14213
14214 2010-09-04  Bruno Haible  <bruno@clisp.org>
14215
14216         update-copyright test: Improve output when perl is missing or too old.
14217         * tests/test-update-copyright.sh: Move test of Perl version down after
14218         the test whether Perl exists. Provide an explanation relating Perl's
14219         error message to Automake's SKIP: message.
14220
14221 2010-09-04  Bruno Haible  <bruno@clisp.org>
14222
14223         Don't augment PATH in TESTS_ENVIRONMENT.
14224         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
14225         set abs_aux_dir instead of augmenting PATH.
14226         * modules/vc-list-files-tests (Makefile.am): Likewise.
14227         * tests/test-update-copyright.sh: Augment PATH here.
14228         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
14229         path_prepend_.
14230         * tests/test-vc-list-files-git.sh: Likewise.
14231
14232 2010-09-04  Jim Meyering  <meyering@redhat.com>
14233
14234         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
14235         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
14236
14237 2010-09-04  Bruno Haible  <bruno@clisp.org>
14238
14239         strdup: Fix compilation error in C++ mode.
14240         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
14241         the macro.
14242
14243 2010-09-04  Bruno Haible  <bruno@clisp.org>
14244
14245         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
14246         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
14247         macro into a function.
14248         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
14249
14250 2010-09-04  Bruno Haible  <bruno@clisp.org>
14251
14252         Set PATH_SEPARATOR the same way autoconf does.
14253         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
14254         the value of PATH_SEPARATOR the same way autoconf-generated configure
14255         scripts do.
14256         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
14257         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
14258
14259 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
14260
14261         Set PATH_SEPARATOR the same way autoconf does.
14262         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
14263         the same way autoconf-generated configure scripts do.
14264         * posix-modules: Likewise.
14265
14266 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
14267
14268         hash: fix safe_hasher const typo
14269         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
14270         const; otherwise, there is a type error later.
14271
14272 2010-09-02  Jim Meyering  <meyering@redhat.com>
14273
14274         test-update-copyright.sh: require perl 5.8.0
14275         * tests/test-update-copyright.sh: Require 5.8.0,
14276         which Tom G. Christensen has confirmed is adequate,
14277         while 5.6.1 is not.
14278
14279 2010-09-02  Eric Blake  <eblake@redhat.com>
14280
14281         tests: init.sh improvements for re-exec'ing with zsh
14282         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
14283         -vx through shell re-exec.
14284         Reported by Tom G. Christensen.
14285
14286         wctype: fix typo in previous commit
14287         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
14288         Reported by Ludovic Courtès.
14289
14290 2010-09-02  Jim Meyering  <meyering@redhat.com>
14291
14292         test-update-copyright.sh: skip test if Perl is too old
14293         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
14294         Reported by Tom G. Christensen.
14295
14296 2010-09-02  Bruno Haible  <bruno@clisp.org>
14297
14298         wctype: Avoid compilation error on IRIX 6.5.30.
14299         * lib/wctype.in.h (iswblank): Declare with a replacement if
14300         REPLACE_ISWBLANK is set.
14301         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
14302         declared. Set REPLACE_ISWBLANK.
14303         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
14304         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
14305         * doc/posix-headers/wctype.texi: Likewise.
14306         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14307
14308 2010-09-01  Bruno Haible  <bruno@clisp.org>
14309
14310         New module 'socketlib'.
14311         * modules/socketlib: New file.
14312         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
14313         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
14314         * modules/sockets (Depends-on): Add socketlib.
14315         Suggested by Sam Steingold <sds@gnu.org>.
14316
14317 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
14318
14319         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
14320
14321         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
14322         when one needs search access to a directory but not read access.
14323         On systems where it is available, it works in some cases where
14324         O_RDONLY does not, namely on directories that are searchable but
14325         not readable, and which need only to be searchable.  If O_SEARCH
14326         is not available, fall back to the traditional method of using
14327         O_RDONLY.
14328
14329         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
14330         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
14331         when opening a directory that needs only to be searchable.
14332         * lib/chdir-safer.c (chdir_no_follow): Likewise.
14333         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
14334         * lib/openat-proc.c (openat_proc_name): Likewise.
14335         * lib/openat.c (openat_needs_fchdir): Likewise.
14336         * lib/save-cwd.c (save_cwd): Likewise.
14337         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
14338
14339 2010-08-28  Bruno Haible  <bruno@clisp.org>
14340
14341         New module 'host-cpu-c-abi'.
14342         * modules/host-cpu-c-abi: New file.
14343         * m4/host-cpu-c-abi.m4: New file, based on part of
14344         clisp/src/m4/general.m4.
14345         Requested by Sam Steingold <sds@gnu.org>.
14346
14347 2010-08-31  Eric Blake  <eblake@redhat.com>
14348         and Jim Meyering  <meyering@redhat.com>
14349
14350         hash: factor, and guard against misbehaving hasher function
14351         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
14352         of table->hasher's return value.  Also protect against a hash value
14353         so large that adding it to table->bucket results in a NULL pointer.
14354         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
14355         Use it in place of open-coded check-and-abort.
14356
14357 2010-08-30  Bruno Haible  <bruno@clisp.org>
14358
14359         hash: silence spurious clang warning
14360         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
14361         Reported by Eric Blake.
14362
14363 2010-08-30  Eric Blake  <eblake@redhat.com>
14364
14365         strstr, memmem, strcasestr: avoid leaked shell message
14366         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
14367         FreeBSD.
14368         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
14369         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
14370
14371         tests: silence clang warning
14372         * tests/test-malloca.c (do_allocation): Avoid dead store.
14373
14374 2010-08-29  Bruno Haible  <bruno@clisp.org>
14375
14376         gettext: Fix recent mistake.
14377         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
14378
14379 2010-08-29  Bruno Haible  <bruno@clisp.org>
14380
14381         selinux-h: Offer a --without-selinux option.
14382         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
14383         --without-selinux was specified, skip all tests and define
14384         HAVE_SELINUX_SELINUX_H to 0.
14385         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
14386         set LIB_SELINUX to empty.
14387         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
14388         gl_LIBSELINUX. If --without-selinux was specified, replace
14389         selinux/context.h.
14390         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
14391
14392 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14393             Bruno Haible  <bruno@clisp.org>
14394
14395         Make the module 'realloc-gnu' work again on AIX and OSF/1.
14396         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
14397         of HAVE_REALLOC.
14398         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
14399         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
14400         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
14401         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
14402
14403 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14404             Bruno Haible  <bruno@clisp.org>
14405
14406         Make the module 'calloc-gnu' work again on AIX and OSF/1.
14407         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
14408         HAVE_CALLOC.
14409         * lib/xmalloc.c: Update accordingly.
14410         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
14411         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
14412         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
14413
14414 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14415             Bruno Haible  <bruno@clisp.org>
14416
14417         Make the module 'malloc-gnu' work again on AIX and OSF/1.
14418         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
14419         HAVE_MALLOC.
14420         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
14421         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
14422         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
14423
14424 2010-08-29  Bruno Haible  <bruno@clisp.org>
14425
14426         Update modules list.
14427         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
14428         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
14429         (String handling <string.h>): Add astrxfrm.
14430         (File system functions): Add readlinkat.
14431
14432 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14433
14434         Tests for module 'realloc-gnu'.
14435         * modules/realloc-gnu-tests: New file.
14436         * tests/test-realloc-gnu.c: New file.
14437
14438         Tests for module 'calloc-gnu'.
14439         * modules/calloc-gnu-tests: New file.
14440         * tests/test-calloc-gnu.c: New file.
14441
14442         Tests for module 'malloc-gnu'.
14443         * modules/malloc-gnu-tests: New file.
14444         * tests/test-malloc-gnu.c: New file.
14445
14446 2010-08-28  Bruno Haible  <bruno@clisp.org>
14447
14448         Rename module 'realloc' -> 'realloc-gnu'.
14449         * modules/realloc-gnu: New file, copied from modules/realloc.
14450         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
14451         obsolete.
14452         * modules/mgetgroups (Depends-on): Update.
14453         * doc/posix-functions/realloc.texi: Update.
14454         * NEWS: Mention the change.
14455
14456         Rename module 'calloc' -> 'calloc-gnu'.
14457         * modules/calloc-gnu: New file, copied from modules/calloc.
14458         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
14459         obsolete.
14460         * doc/posix-functions/calloc.texi: Update.
14461         * NEWS: Mention the change.
14462
14463         Rename module 'malloc' -> 'malloc-gnu'.
14464         * modules/malloc-gnu: New file, copied from modules/malloc.
14465         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
14466         obsolete.
14467         * modules/argp (Depends-on): Update.
14468         * modules/regex (Depends-on): Update.
14469         * doc/posix-functions/malloc.texi: Update.
14470         * NEWS: Mention the change.
14471
14472 2010-08-28  Eric Blake  <eblake@redhat.com>
14473
14474         pread, pwrite: add missing dependency
14475         * modules/pread (Depends-on): Add extensions.
14476         * modules/pwrite (Depends-on): Likewise.
14477
14478 2010-08-28  Bruno Haible  <bruno@clisp.org>
14479
14480         unistr/u*-strchr: Fix tests dependencies.
14481         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
14482         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
14483         Reported by Ian Beckwith <ianb@erislabs.net>.
14484
14485 2010-08-28  Bruno Haible  <bruno@clisp.org>
14486
14487         read-file: Don't occupy too much unused memory.
14488         * lib/read-file.c (fread_file): Shrink the buffer at the end.
14489
14490 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
14491             Eric Blake  <eblake@redhat.com>
14492             Bruno Haible  <bruno@clisp.org>
14493
14494         read-file: Avoid memory reallocations with regular files.
14495         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
14496         (fread_file): With regular files, use the remaining length as the
14497         initial buffer size.  Check against overflow.
14498         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
14499         sys_stat.
14500
14501 2010-08-28  Bruno Haible  <bruno@clisp.org>
14502
14503         ftello: Relax license.
14504         * modules/ftello (License): Relax to LGPLv2+.
14505         Reported by Eric Blake.
14506
14507 2010-08-28  Bruno Haible  <bruno@clisp.org>
14508
14509         Avoid relocwrapper link errors due to gnulib replacement functions.
14510         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
14511         function.
14512         Reported by Ben Pfaff <blp@cs.stanford.edu>.
14513
14514 2010-08-28  Bruno Haible  <bruno@clisp.org>
14515
14516         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
14517         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
14518         defined.
14519         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
14520         Suggested by Eric Blake.
14521
14522 2010-08-28  Bruno Haible  <bruno@clisp.org>
14523
14524         sys_socket, netdb: Ensure socklen_t gets defined.
14525         * modules/sys_socket (Depends-on): Add socklen.
14526         * modules/netdb (Depends-on): Likewise.
14527         * modules/getaddrinfo (Depends-on): Remove socklen.
14528         * modules/getsockopt (Depends-on): Likewise.
14529         * modules/setsockopt (Depends-on): Likewise.
14530         * tests/test-sys_socket.c: Check that socklen_t is defined.
14531         * tests/test-netdb.c: Likewise.
14532         * m4/socklen.m4: Update comments.
14533         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
14534
14535 2010-08-27  Eric Blake  <eblake@redhat.com>
14536
14537         login_tty: add missing dependency
14538         * modules/login_tty (Depends-on): Add pty.
14539
14540 2010-08-26  Eric Blake  <eblake@redhat.com>
14541
14542         lib-symbol-versions: fix m4 quoting
14543         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
14544         format for AC_LINK_IFELSE.
14545
14546         glob: fix compile test
14547         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
14548
14549         btowc: fix missing file
14550         * modules/btowc (Files): Also ship locale-fr.m4.
14551
14552         lseek: fix link test
14553         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
14554         AC_LINK_IFELSE.
14555
14556         include_next: silence autoconf 2.68 warning
14557         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
14558         AC_COMPILE_IFELSE as special.
14559         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
14560         autoconf < 2.68.
14561
14562         acl: fix compilation test
14563         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
14564         AC_COMPILE_IFELSE.
14565
14566 2010-08-26  Bruno Haible  <bruno@clisp.org>
14567
14568         Modernize AC_TRY_RUN invocations.
14569         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
14570         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
14571         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
14572         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
14573         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
14574         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
14575         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
14576         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
14577         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
14578         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
14579         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
14580         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
14581         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
14582         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
14583         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
14584         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
14585         gl_MBRLEN_NUL_RETVAL): Likewise.
14586         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
14587         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
14588         Likewise.
14589         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
14590         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
14591         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
14592         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
14593         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
14594         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
14595         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
14596         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
14597         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
14598         Likewise.
14599         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
14600         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
14601         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
14602         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
14603         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
14604         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
14605         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
14606         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
14607         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
14608         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
14609
14610 2010-08-26  Bruno Haible  <bruno@clisp.org>
14611
14612         Modernize AC_TRY_LINK invocations.
14613         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
14614         AC_TRY_LINK.
14615         * m4/argp.m4 (gl_ARGP): Likewise.
14616         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
14617         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
14618         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
14619         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
14620         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
14621         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
14622         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
14623         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
14624         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
14625         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
14626         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
14627         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
14628         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
14629         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
14630         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
14631         * m4/hostent.m4 (gl_HOSTENT): Likewise.
14632         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
14633         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
14634         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
14635         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
14636         Likewise.
14637         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
14638         Likewise.
14639         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
14640         Likewise.
14641         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
14642         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
14643         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
14644         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
14645         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
14646         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
14647         * m4/servent.m4 (gl_SERVENT): Likewise.
14648         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
14649         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
14650         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
14651         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
14652         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
14653         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
14654         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
14655         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
14656         * modules/tsearch-tests (configure.ac): Likewise.
14657
14658 2010-08-26  Bruno Haible  <bruno@clisp.org>
14659
14660         Modernize AC_TRY_COMPILE invocations.
14661         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
14662         AC_TRY_COMPILE.
14663         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
14664         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
14665         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
14666         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
14667         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
14668         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
14669         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
14670         * m4/lock.m4 (gl_LOCK): Likewise.
14671         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
14672         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
14673         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
14674         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
14675         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
14676         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
14677         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
14678         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
14679         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
14680         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
14681         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
14682         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
14683         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
14684         extraneous semicolon.
14685
14686 2010-08-26  Jim Meyering  <meyering@redhat.com>
14687
14688         stat-time: relax license LGPL
14689         * modules/stat-time (License): Change from GPL to LGPL,
14690         with consent from all contributors, for use in libguile.
14691         Requested by Ludovic Courtès.
14692
14693 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
14694
14695         poll: return immediately on POLLHUP.
14696         * lib/poll.c (poll): Always set timeout before wait_timeout is
14697         computed.
14698
14699 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14700
14701         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
14702         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
14703         rmdir ("dir/.//"), unlinkat.
14704
14705 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
14706
14707         stdbool: avoid spurious failure with modern xlc
14708         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
14709
14710 2010-08-24  Bruno Haible  <bruno@clisp.org>
14711
14712         getloadavg: simplify code
14713         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
14714         gl_have_func. Update comments.
14715
14716 2010-08-24  Eric Blake  <eblake@redhat.com>
14717
14718         getloadavg: don't define SVR4 on cygwin
14719         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
14720         only define SVR4 when -lkvm is required.
14721         Reported by Yaakov Selkowitz.
14722
14723 2010-08-24  Bruno Haible  <bruno@clisp.org>
14724
14725         priv-set: fix comment
14726         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
14727
14728 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
14729
14730         priv-set: fix comments
14731         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
14732         to match code, as suggested by David Bartley in:
14733         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
14734
14735 2010-08-23  Eric Blake  <eblake@redhat.com>
14736
14737         stdbool: avoid rejecting clang
14738         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
14739         * tests/test-stdbool.c: Enable more tests if using the system
14740         <stdbool.h> instead of the gnulib replacement.
14741         (main): Move xlc bug test to a runtime test for all compilers.
14742         Reported by Anders Kaseorg.
14743
14744         argz: fix shell quoting issue
14745         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
14746         Reported by Charles Wilson.
14747
14748 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
14749             Erik Faye-Lund <kusmabite@gmail.com>
14750
14751         poll, select: handle ERROR_BROKEN_PIPE.
14752         * lib/poll.c (win32_compute_revents): Return POLLHUP when
14753         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
14754         * lib/select.c (win32_compute_revents): Do not mark a pipe
14755         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
14756
14757 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
14758
14759         fts: allow compilation with C++
14760         * lib/fts_.h: Specify extern "C" linkage with C++.
14761
14762 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14763
14764         Fix gnulib-tool sed script de-commentation for AIX sed.
14765         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
14766         sed.
14767
14768 2010-08-17  Eric Blake  <eblake@redhat.com>
14769
14770         test-stddef: test for (some) offsetof bugs
14771         * tests/test-stddef.c: Enhance test to ensure correct type of
14772         offsetof.
14773         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
14774         that we are not fixing at this time.
14775
14776 2010-08-15  Bruno Haible  <bruno@clisp.org>
14777
14778         stpncpy: Allow stpncpy to be defined as a macro.
14779         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
14780         if it's already correctly declared.
14781         * lib/string.in.h (stpncpy): Undefine before redefining.
14782         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
14783
14784 2010-08-14  Bruno Haible  <bruno@clisp.org>
14785
14786         Rename module 'memxfrm' to 'amemxfrm'.
14787         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
14788         (amemxfrm): Renamed from memxfrm.
14789         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
14790         (amemxfrm): Renamed from memxfrm.
14791         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
14792         * NEWS: Mention the change.
14793         * MODULES.html.sh (String handling <string.h>): Update.
14794         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
14795         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
14796         * lib/unicase/u16-casexfrm.c: Likewise.
14797         * lib/unicase/u32-casexfrm.c: Likewise.
14798         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
14799         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
14800         * lib/uninorm/u16-normxfrm.c: Likewise.
14801         * lib/uninorm/u32-normxfrm.c: Likewise.
14802         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
14803         memxfrm.
14804         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
14805         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
14806         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
14807         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
14808         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
14809         Suggested by Paul Eggert.
14810
14811 2010-08-14  Bruno Haible  <bruno@clisp.org>
14812
14813         Tests for module 'astrxfrm'.
14814         * modules/astrxfrm-tests: New file.
14815         * tests/test-astrxfrm.c: New file.
14816
14817         New module 'astrxfrm'.
14818         * lib/astrxfrm.h: New file.
14819         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
14820         * modules/astrxfrm: New file.
14821
14822 2010-08-14  Reuben Thomas <rrt@sc3d.org>
14823
14824         regex: Tweak doc.
14825         * doc/regex.texi (Overview): Don't mention regex.c.
14826         (GNU Regular Expression Compiling): Likewise.
14827         (Match-end-of-line Operator): Mention 'not_eol'.
14828
14829 2010-08-14  Brian Gough  <bjg@gnu.org>
14830             Bruno Haible  <bruno@clisp.org>
14831
14832         git-merge-changelog: add doc relating to use with bzr and hg.
14833         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
14834
14835 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
14836
14837         pthread: fix pthread.h creation for srcdir != builddir
14838         * modules/pthread (Makefile.am): Fix the rule to work also in a
14839         non-srcdir build.
14840
14841 2010-08-13  Karl Berry  <karl@gnu.org>
14842
14843         * doc/regex.texi (Predefined Syntaxes): @smallexample.
14844         * doc/posix-*/*: force line break before @url of POSIX
14845         specifications.
14846         Suggested by Werner Lemberg.
14847
14848 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
14849
14850         strtod: fix const diagnostic
14851         * lib/strtod.c (strtod): Don't assign const char * to char *,
14852         as this elicits a warning from GCC when warnings are enabled.
14853
14854 2010-08-10  Pádraig Brady <P@draigbrady.com>
14855         and Eric Blake  <eblake@redhat.com>
14856
14857         copy-acl: ignore ENOTSUP on HP-UX
14858         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
14859         so that it is available for HP-UX.
14860         * lib/copy-acl.c (qcopy_acl): Use it.
14861         Reported by Patrick M. Callahan.
14862
14863 2010-08-10  Eric Blake  <eblake@redhat.com>
14864
14865         open, chown: relax license
14866         * modules/open (License): Change to LGPLv2+, with consent by all
14867         authors, for use in augeas.
14868         * modules/chown (License): Likewise.
14869         * modules/lchown (Likewise): Likewise.
14870         Requested by Adam Stokes.
14871
14872 2010-08-09  Karl Berry  <karl@gnu.org>
14873
14874         * build-aux/ar-lib: new file, import from Automake.
14875         * config/srclist.txt: autocheck for updates.
14876
14877 2010-08-09  Eric Blake  <eblake@redhat.com>
14878
14879         readlinkat: adjust client modules
14880         * modules/areadlinkat (Depends-on): Use readlinkat, not
14881         symlinkat.
14882         * modules/areadlinkat-with-size (Depends-on): Likewise.
14883
14884         mknod: be more vocal about danger of running tests as root
14885         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
14886         root, since that is just asking for problems.
14887         Suggested by Bruno Haible, based on a report by Rainer Tammer.
14888
14889         readlinkat: split into its own module
14890         * modules/symlinkat: Split readlinkat...
14891         * modules/readlinkat: ...into separate module.
14892         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
14893         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
14894         * lib/symlinkat.c (readlinkat): Move...
14895         * lib/readlinkat.c: ...into new file.
14896         * modules/symlinkat-tests: Split readlinkat test...
14897         * modules/readlinkat-tests: ...into separate module.
14898         * tests/test-symlinkat.c: Split...
14899         * tests/test-readlinkat.c: ...into new file.
14900         * NEWS: Document the split.
14901         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
14902         * lib/unistd.in.h (readlinkat): Likewise.
14903         Suggested by Bruno Haible.
14904
14905 2010-08-08  Bruno Haible  <bruno@clisp.org>
14906
14907         memxfrm: Speed up.
14908         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
14909         that usually only one call to strxfrm is necessary for each string
14910         part.
14911         Reported by Paul Eggert <eggert@cs.ucla.edu>.
14912
14913 2010-08-07  Karl Berry  <karl@gnu.org>
14914
14915         * doc/posix-headers/limits.texi,
14916         * doc/posix-functions/malloc.texi,
14917         * doc/posix-functions/strsignal.texi: missing @item.
14918         * doc/ld-version-script.texi: spurious leading i.
14919         * doc/regex.texi (Interval Operators): no commas inside @var.
14920
14921 2010-08-01  Bruno Haible  <bruno@clisp.org>
14922
14923         Integrate the regex documentation.
14924         * doc/gnulib.texi: Define 'cn' index.
14925         (Regular expressions): New a chapter that includes regex.texi and
14926         regexprops-generic.texi.
14927         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
14928         syntax.
14929
14930         Whitespace cleanup.
14931         * doc/regex.texi: Remove trailing spaces.
14932
14933         Add regex documentation.
14934         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
14935         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
14936         Written by Kathy A. Hargreaves and Karl Berry.
14937
14938 2010-08-01  Bruno Haible  <bruno@clisp.org>
14939
14940         link: Update documentation.
14941         * doc/posix-functions/link.texi: Update regarding Solaris.
14942
14943 2010-07-31  Bruno Haible  <bruno@clisp.org>
14944
14945         Update modules list.
14946         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
14947         (String handling <string.h>): Add memcmp2, memxfrm.
14948         (Container data structures): Add xlist, xsublist, xoset.
14949         (Core language properties): Add alignof, unused-parameter.
14950         (Process control, Numeric conversion functions <stdlib.h>): Renamed
14951         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
14952         (Unibyte characters <ctype.h>): New section.
14953         (String handling <string.h>): New section.
14954         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
14955         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
14956         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
14957         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
14958         tan, tanh, tanl, y0, y1, yn.
14959         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
14960         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
14961         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
14962         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
14963         unlockpt, vdprintf, vdprintf-posix.
14964         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
14965         (File system functions): Add concat-filename, sys_file, sys_ioctl,
14966         xconcat-filename.
14967         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
14968         getdtablesize, pipe2, pipe2-safer.
14969         (Security): New section.
14970         (Networking functions): Add accept4.
14971         (Signal handling): Add sigpipe.
14972         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
14973         mbmemcasecoll.
14974         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
14975         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
14976         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
14977         pipe-filter-ii.
14978         (Misc): Add argp-version-etc, login_tty, parse-duration.
14979
14980 2010-07-31  Bruno Haible  <bruno@clisp.org>
14981
14982         Improve doc in MODULES.html.
14983         * modules/linkat (Description): Add the word "function".
14984         * modules/mkfifo (Description): Likewise.
14985         * modules/mknod (Description): Likewise.
14986         * modules/remove (Description): Likewise.
14987         * modules/renameat (Description): Likewise.
14988         * modules/stat (Description): Likewise.
14989         * modules/symlink (Description): Likewise.
14990         * modules/unlink (Description): Likewise.
14991
14992 2010-07-31  Bruno Haible  <bruno@clisp.org>
14993
14994         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
14995         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
14996         option --enable/disable-c++ instead of --enable/disable-cxx.
14997         * NEWS: Mention the change.
14998
14999 2010-07-31  Bruno Haible  <bruno@clisp.org>
15000
15001         readlink, areadlink: Relax test a bit.
15002         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
15003         alternative to ENOTDIR.
15004         * tests/test-areadlink.h (test_areadlink): Likewise.
15005         Reported by Rainer Tammer.
15006
15007 2010-07-31  Bruno Haible  <bruno@clisp.org>
15008
15009         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
15010         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
15011         character, perform the search using U_STRCHR.
15012         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
15013         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
15014         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
15015         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
15016         Suggested by Paolo Bonzini.
15017
15018 2010-07-31  Bruno Haible  <bruno@clisp.org>
15019
15020         unistr/u*-strstr: Fix dependencies.
15021         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
15022         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
15023         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
15024
15025 2010-07-31  Bruno Haible  <bruno@clisp.org>
15026
15027         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
15028         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
15029         the beginning of the loop.
15030         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
15031         cases in 'switch' statement.
15032
15033         unistr/u8-strchr: Fix several bugs.
15034         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
15035         the string. When not found, return NULL, not a pointer near the end.
15036
15037         More tests for unistr/u8-strchr.
15038         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
15039         that the function does not read past the first occurrence of the byte
15040         being searched.
15041         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
15042         * tests/unistr/test-u16-strchr.c (main): New function.
15043         * tests/unistr/test-u32-strchr.c (main): New function.
15044
15045 2010-07-31  Bruno Haible  <bruno@clisp.org>
15046
15047         posix-modules: Ignore backup files of documentation files.
15048         * posix-modules: grep only through files named *.texi.
15049
15050 2010-07-31  Bruno Haible  <bruno@clisp.org>
15051
15052         symlinkat: Fix documentation.
15053         * doc/posix-functions/readlinkat.texi: Fix module name.
15054
15055 2010-07-31  Bruno Haible  <bruno@clisp.org>
15056
15057         fchownat: Replace also when chown has the trailing slash bug.
15058         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
15059         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
15060         introduced on 2010-04-10.
15061         Reported by Rainer Tammer.
15062
15063 2010-07-31  Bruno Haible  <bruno@clisp.org>
15064
15065         linkat: Work around AIX 7.1 bug.
15066         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
15067         whether linkat handles trailing slash correctly. If not, replace linkat
15068         and define LINKAT_TRAILING_SLASH_BUG.
15069         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
15070         check whether (fd1,file1) points to a directory if file1 or file2 ends
15071         in a slash. Code taken from lib/link.c.
15072         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
15073         Reported by Rainer Tammer.
15074
15075 2010-07-31  Bruno Haible  <bruno@clisp.org>
15076
15077         Correctly determine whether pow is available in libc on AIX 7 with xlc.
15078         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
15079         This disables an xlc optimization that was causing wrong test results.
15080         Reported by Rainer Tammer.
15081
15082 2010-07-31  Bruno Haible  <bruno@clisp.org>
15083
15084         iconv: Work around AIX 6.1..7.1 bug.
15085         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
15086         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
15087         cross-compiling, guess no on all versions of AIX.
15088         Reported by Rainer Tammer.
15089
15090 2010-07-31  Bruno Haible  <bruno@clisp.org>
15091
15092         readlink: Relax test a bit.
15093         * tests/test-readlink.h (test_readlink): Allow different errno value
15094         when readlink is called with a file name that ends in / and refers to
15095         a file.
15096         Suggested by Eric Blake.
15097         Reported by Rainer Tammer.
15098
15099 2010-07-31  Bruno Haible  <bruno@clisp.org>
15100
15101         copysign: Does not require -lm on glibc systems.
15102         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
15103         gl_COMMON_DOUBLE_MATHFUNC.
15104         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
15105
15106 2010-07-31  Bruno Haible  <bruno@clisp.org>
15107
15108         duplocale: Work around AIX 7.1 bug.
15109         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
15110         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
15111         * lib/duplocale.c (rpl_duplocale): Update comment.
15112         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
15113         Reported by Rainer Tammer.
15114
15115 2010-07-30  Bruno Haible  <bruno@clisp.org>
15116
15117         dirfd: Avoid link error on AIX 7.1.
15118         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
15119         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
15120         exist, set REPLACE_DIRFD.
15121         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
15122         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
15123         * doc/posix-functions/dirfd.texi: Update.
15124         Reported by Rainer Tammer.
15125
15126 2010-07-30  Eric Blake  <eblake@redhat.com>
15127
15128         strtod: next round of AIX fixes
15129         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
15130         exponent.
15131         * tests/test-strtod.c (main): Enhance tests.
15132         * doc/posix-functions/strtod.texi (strtod): Document next bug.
15133         Reported by Rainer Tammer.
15134
15135         futimens: fix configure check
15136         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
15137         Reported by Bruno Haible.
15138
15139 2010-07-30  Bruno Haible  <bruno@clisp.org>
15140
15141         getline: Update regarding AIX.
15142         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
15143         Reported by Rainer Tammer.
15144
15145 2010-07-30  Bruno Haible  <bruno@clisp.org>
15146
15147         wcwidth: Drop replacement on AIX 7.
15148         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
15149         AIX 7.
15150         Reported by Rainer Tammer.
15151
15152 2010-07-30  Bruno Haible  <bruno@clisp.org>
15153
15154         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
15155         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
15156         a 'char *'.
15157         Reported by Rainer Tammer.
15158
15159 2010-07-30  Bruno Haible  <bruno@clisp.org>
15160
15161         unlink: Update regarding AIX.
15162         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
15163         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
15164         Reported by Rainer Tammer.
15165
15166 2010-07-30  Bruno Haible  <bruno@clisp.org>
15167
15168         symlink: Update regarding AIX.
15169         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
15170         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
15171         Reported by Rainer Tammer.
15172
15173 2010-07-30  Bruno Haible  <bruno@clisp.org>
15174
15175         strndup: Update regarding AIX.
15176         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
15177         AIX 7.
15178         Reported by Rainer Tammer.
15179
15180 2010-07-30  Bruno Haible  <bruno@clisp.org>
15181
15182         stat: Update regarding AIX.
15183         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
15184         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
15185         Reported by Rainer Tammer.
15186
15187 2010-07-30  Bruno Haible  <bruno@clisp.org>
15188
15189         truncl: Fix autoconf test.
15190         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
15191         whether truncl works.
15192         Reported by Rainer Tammer.
15193
15194 2010-07-30  Bruno Haible  <bruno@clisp.org>
15195
15196         round: Update regarding AIX.
15197         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
15198         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
15199         Reported by Rainer Tammer.
15200
15201 2010-07-30  Bruno Haible  <bruno@clisp.org>
15202
15203         rename: Update regarding AIX.
15204         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
15205         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
15206         Reported by Rainer Tammer.
15207
15208 2010-07-30  Bruno Haible  <bruno@clisp.org>
15209
15210         printf.m4: Update regarding AIX.
15211         * m4/printf.m4: Update comments regarding AIX.
15212         Reported by Rainer Tammer.
15213
15214 2010-07-30  Bruno Haible  <bruno@clisp.org>
15215
15216         iconv: Update regarding AIX.
15217         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
15218         AIX 7.
15219         Reported by Rainer Tammer.
15220
15221 2010-07-30  Bruno Haible  <bruno@clisp.org>
15222
15223         getopt: Update regarding AIX.
15224         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
15225         no on AIX.
15226         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
15227         Reported by Rainer Tammer.
15228
15229 2010-07-30  Bruno Haible  <bruno@clisp.org>
15230
15231         ldexpl; Update regarding AIX.
15232         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
15233         on AIX 7.
15234         Reported by Rainer Tammer.
15235
15236 2010-07-30  Bruno Haible  <bruno@clisp.org>
15237
15238         frexpl: Update regarding AIX.
15239         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
15240         on AIX 7.
15241         Reported by Rainer Tammer.
15242
15243 2010-07-30  Bruno Haible  <bruno@clisp.org>
15244
15245         open, fopen: Update regarding AIX.
15246         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
15247         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
15248         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
15249         * doc/posix-functions/fopen.texi: Likewise.
15250         Reported by Rainer Tammer.
15251
15252 2010-07-30  Bruno Haible  <bruno@clisp.org>
15253
15254         chown: Update doc regarding AIX.
15255         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
15256         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
15257         Reported by Rainer Tammer.
15258
15259 2010-07-30  Eric Blake  <eblake@redhat.com>
15260
15261         strtod: fix bug in replacement function on AIX
15262         * lib/strtod.c (strtod): Special case broken "0x" parse in
15263         underlying strtod.
15264         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
15265         * doc/posix-functions/strtod.texi (strtod): Likewise.
15266         Reported by Rainer Tammer.
15267
15268 2010-07-30  Bruno Haible  <bruno@clisp.org>
15269
15270         mbrlen: Fix cross-compilation guess for AIX.
15271         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
15272         guess. Leftover from 2008-12-22.
15273
15274 2010-07-30  Bruno Haible  <bruno@clisp.org>
15275
15276         mbrtowc: Fix cross-compilation guess for AIX.
15277         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
15278         guess. Leftover from 2008-12-21.
15279
15280 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
15281
15282         init.sh: work around trap limitation of some shells
15283         * tests/init.sh (setup_): Move exit trap outside of shell function.
15284
15285 2010-07-29  Eric Blake  <eblake@redhat.com>
15286
15287         strtod: aid debugging
15288         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
15289         understanding why strtod is rejected.
15290
15291 2010-07-28  Bruno Haible  <bruno@clisp.org>
15292
15293         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
15294         * lib/unistr/u8-chr.c: Include <string.h>.
15295         * tests/unistr/test-u8-chr.c: Likewise.
15296         * tests/unistr/test-u16-chr.c: Likewise.
15297         * tests/unistr/test-u32-chr.c: Likewise.
15298         * tests/unistr/test-u8-strchr.c: Likewise.
15299         * tests/unistr/test-u16-strchr.c: Likewise.
15300         * tests/unistr/test-u32-strchr.c: Likewise.
15301         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
15302         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
15303         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
15304         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
15305
15306 2010-07-28  Bruno Haible  <bruno@clisp.org>
15307
15308         Use spaces for indentation, not tabs.
15309         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
15310
15311 2010-07-27  Bruno Haible  <bruno@clisp.org>
15312
15313         mbspcasecmp: Fix function specification.
15314         * lib/string.in.h (mbspcasecmp): Fix specification comment.
15315         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
15316         Reported by Eric Blake <eblake@redhat.com>.
15317
15318 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
15319
15320         timespec: use cast and not conditional, as truncation isn't possible
15321         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
15322         instead of a conditional.  Comment about the situation in more detail.
15323         This undoes most of the 2009-10-29 patch.
15324
15325 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
15326
15327         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
15328         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
15329         * lib/unistr/u8-strchr.c: Likewise.
15330         * modules/unistr/u8-chr: Depend on memchr.
15331
15332         unistr/u*-strchr: add tests
15333         * modules/unistr/u8-strchr-tests: New file.
15334         * modules/unistr/u16-strchr-tests: New file.
15335         * modules/unistr/u32-strchr-tests: New file.
15336         * tests/unistr/test-strchr.h: New file.
15337         * tests/unistr/test-u8-strchr.c: New file.
15338         * tests/unistr/test-u16-strchr.c: New file.
15339         * tests/unistr/test-u32-strchr.c: New file.
15340
15341         unistr/u*-chr: test multibyte sequences more
15342         * tests/unistr/test-chr.h: Do complete testing of the characters in the
15343         test vector.
15344         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
15345         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
15346         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
15347
15348         unistr/u*-chr: test multibyte sequences
15349         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
15350
15351         unistr/u*-chr: prepare for multibyte tests
15352         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
15353         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
15354         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
15355         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
15356         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
15357         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
15358
15359 2010-07-18  Bruno Haible  <bruno@clisp.org>
15360
15361         unistr/u8-strchr: Optimize non-ASCII argument case.
15362         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
15363         because the first byte often matches anyway.
15364         Reported by Pádraig Brady <P@draigbrady.com>.
15365
15366 2010-07-15  Karl Berry  <karl@gnu.org>
15367
15368         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
15369
15370 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
15371
15372         getcwd: on Solaris, work better if ancestors are inaccessible
15373         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
15374         buffer and size, try again with a large buffer.  This works better
15375         on Solaris, since its getcwd succeeds even if the path to the root
15376         is inaccessible, and this is helpful in common cases such as .zfs
15377         hidden directories.  Problem reported by J Chapman Flack in
15378         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
15379         Use system getcwd if it's declared, not merely if it's partly
15380         working; use the partly-working test only to avoid needless effort
15381         if the system getcwd fails.
15382         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
15383         comment that was already obsolete and is now even more obsolete.
15384         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
15385         now might call strdup.
15386
15387 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
15388
15389         pthread: Add enough so that coreutils/src/sort.c compiles.
15390         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
15391         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
15392         gnulib. Include <sched.h> and <time.h>, as per POSIX.
15393         Include <sys/types.h>, in case it defines pthread_t.
15394         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
15395         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
15396         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
15397         (pthread_rwlockattr_t, pthread_spinlock_t):
15398         New typedefs, if HAVE_PTHREAD_T is not defined.
15399         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
15400         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
15401         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
15402         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
15403         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
15404         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
15405         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
15406         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
15407         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
15408         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
15409         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
15410         New macros.
15411         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
15412         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
15413         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
15414         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
15415         (pthread_spin_unlock): New dummy functions.
15416         (pthread_create): Return EAGAIN; don't set errno.
15417         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
15418         require AC_C_INLINE.
15419         * modules/pthread (Depends-on): Add sched, time.
15420         (pthread.h): Use AM_V_GEN.
15421
15422 2010-07-13  Bruno Haible  <bruno@clisp.org>
15423
15424         striconveh: Don't malloc memory if the result buffer is sufficient.
15425         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
15426         buffer if its size is sufficient.
15427         Reported by Ludovic Courtès <ludo@gnu.org>.
15428
15429 2010-07-13  Bruno Haible  <bruno@clisp.org>
15430
15431         strtod: Add safety check.
15432         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
15433
15434 2010-07-12  Bruno Haible  <bruno@clisp.org>
15435
15436         Unify tests that set gl_cv_func_ldexpl_no_libm.
15437         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
15438         gl_FUNC_LDEXPL.
15439         (gl_FUNC_LDEXPL): Invoke it.
15440         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
15441
15442 2010-07-12  Bruno Haible  <bruno@clisp.org>
15443
15444         Unify tests that set gl_cv_func_ldexp_no_libm.
15445         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
15446         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
15447         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
15448         (configure.ac): Simply invoke gl_FUNC_LDEXP.
15449         * modules/strtod (Files): Add m4/ldexp.m4.
15450
15451 2010-07-12  Bruno Haible  <bruno@clisp.org>
15452
15453         Unify tests that set gl_cv_func_frexpl_no_libm.
15454         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
15455         gl_FUNC_FREXPL_NO_LIBM.
15456         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
15457         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
15458
15459 2010-07-12  Bruno Haible  <bruno@clisp.org>
15460
15461         Unify tests that set gl_cv_func_frexp_no_libm.
15462         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
15463         gl_FUNC_FREXP_NO_LIBM.
15464         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
15465         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
15466
15467 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
15468
15469         memcoll: clarify sizes versus lengths, document better, and tweak perf
15470         * lib/memcoll.c (strcoll_loop, memcoll0):
15471         Improve quality of descriptive comments.  Name variables
15472         consistently as to whether they are lengths (which do not include
15473         terminating null) versus sizes (which do).
15474         * lib/xmemcoll.c (xmemcoll0): Likewise.
15475         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
15476         returned when s1size == 0; this is easier to compile and saves
15477         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
15478
15479 2010-07-12  Bruno Haible  <bruno@clisp.org>
15480
15481         Tests for module '_Exit'.
15482         * modules/_Exit-tests: New file.
15483         * tests/test-_Exit.sh: New file.
15484         * tests/test-_Exit.c: New file.
15485
15486         New module '_Exit'.
15487         * lib/stdlib.in.h (__attribute__): New macro.
15488         (_Exit): New declaration.
15489         * lib/_Exit.c: New file.
15490         * m4/_Exit.m4: New file.
15491         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
15492         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
15493         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
15494         * modules/_Exit: New file.
15495         * tests/test-stdlib-c++.cc (_Exit): Check signature.
15496         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
15497
15498 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
15499
15500         strtod: make it more-accurate typically, and don't require libm
15501         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
15502         Include limits.h.  Don't include string.h.
15503         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
15504         (locale_isspace): New function, so that no casts are needed to
15505         check whether *s is a space.
15506         (ldexp): Provide an unused dummy if not available.
15507         (scale_radix_exp, parse_number, underlying_strtod): New functions.
15508         (strtod): Use them.  This implementation prefers to use the
15509         underlying strtod if available, falling back on our own code
15510         only to fix known bugs.  This is more likely to produce an
15511         accurate result.  Also, it avoids the use of libm functions.
15512         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
15513         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
15514         was absent, but it caused a test failure with coreutils.
15515         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
15516         with libm.
15517         * modules/strtod (Makefile.am, Link): libm is no longer needed.
15518         * modules/strtod-tests (Makefile.am): Likewise.
15519
15520 2010-07-11  Pádraig Brady  <P@draigBrady.com>
15521             Bruno Haible  <bruno@clisp.org>
15522
15523         unistr/u8-strchr: Optimize ASCII argument case.
15524         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
15525
15526 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
15527
15528         (x)memcoll: minor tweaks
15529         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
15530         is after the type that it qualifies.
15531         (memcoll0): Likewise.
15532         * lib/memcoll.h (memcoll0): Likewise.
15533         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
15534         * lib/xmemcoll.h (xmemcoll0): Likewise.
15535         * lib/memcoll.c (memcoll0): Correct the comment.  This function
15536         differs from memcoll in that the NUL byte is part of the argument.
15537         Omit the abort-checks, as performance is a real issue here.  Plus,
15538         the checks were wrong anyway (an off-by-one error).  Omit local
15539         variable 'diff', as it's a bit clearer that way.
15540         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
15541         no longer needed.
15542
15543 2010-07-08  Chen Guo <chenguo4@yahoo.com>
15544
15545         (x)memcoll: speedup when input is known to be NUL delimited
15546         * lib/memcoll.c: Include stdlib.
15547         (memcoll0): New function.
15548         (strcoll_loop): New function, refactored for use in both memcoll
15549         and memcoll0.
15550         * lib/memcoll.h (memcoll0): Add prototype.
15551         * lib/xmemcoll.c (xmemcoll0): New function.
15552         (collate_error): New function, refactored for use in both xmemcoll
15553         and xmemcoll0.
15554         * lib/xmemcoll.h (xmemcoll0): Add prototype.
15555         * m4/memcoll.m4: add inline invocation.
15556
15557 2010-07-06  Pádraig Brady  <P@draigBrady.com>
15558
15559         * build-aux/bootstrap: Remove any local translations
15560         from the translation project synchronization directory,
15561         so that local only translations are not distributed.
15562
15563 2010-07-04  Bruno Haible  <bruno@clisp.org>
15564
15565         fsusage: Clarify which code applies to which platforms.
15566         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
15567         platform.
15568         * lib/fsusage.c (get_fs_usage): Likewise.
15569
15570 2010-07-04  Bruno Haible  <bruno@clisp.org>
15571
15572         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
15573         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
15574         Reported by Martin Lambers <marlam@marlam.de>.
15575
15576 2010-07-04  Jim Meyering  <meyering@redhat.com>
15577
15578         hash: once again explicitly disallow insertion of NULL
15579         * lib/hash.c (hash_insert0): Reinstate just-removed test:
15580         inserting a NULL pointer cannot work with these functions.
15581         Add a comment with details.
15582         This reverts part of the 2010-07-01 commit, 5bef1a35
15583         "hash: extend module to deal with non-pointer keys".
15584
15585 2010-07-01  Bruno Haible  <bruno@clisp.org>
15586
15587         stdbool: Update doc.
15588         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
15589         Info from Christian Weisgerber <naddy@mips.inka.de>.
15590
15591 2010-07-01  Jim Meyering  <meyering@redhat.com>
15592
15593         hash: extend module to deal with non-pointer keys
15594         * lib/hash.c (hash_insert0): New interface, much like hash_insert
15595         but that allows insertion of non-pointer entries.
15596         Do not disallow an ENTRY value of NULL.
15597         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
15598         * lib/hash.h (hash_insert0): Declare.
15599
15600 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
15601
15602         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
15603         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
15604         not present (i.e. with autoconf 2.59 and when using gettextize, not
15605         gnulib), require AC_GNU_SOURCE instead.
15606
15607 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
15608
15609         idpriv-drop: Fix tests.
15610         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
15611         not to the test-idpriv-droptemp program.
15612
15613 2010-06-29  Bruno Haible  <bruno@clisp.org>
15614
15615         string: Fix syntax error with g++ 2.96.
15616         * lib/string.in.h (__pure__): Remove definition.
15617         (_GL_ATTRIBUTE_PURE): New macro.
15618         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
15619         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
15620         Reported by Christian Weisgerber <naddy@mips.inka.de>.
15621
15622 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
15623
15624         unitypes: Fix bug introduced on 2010-05-18.
15625         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
15626
15627 2010-06-22  Eric Blake  <eblake@redhat.com>
15628
15629         memmem: slight optimization
15630         * lib/str-two-way.h (critical_factorization): Update comments.
15631         Reduce work during factorization phase.
15632         Reported by Carlos Bueno <carlos@bueno.org>.
15633
15634 2010-06-21  Bruno Haible  <bruno@clisp.org>
15635
15636         Fix HAVE_CALLOC_POSIX misnomer.
15637         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
15638         !HAVE_CALLOC_POSIX.
15639         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
15640         HAVE_CALLOC_POSIX.
15641         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
15642         instead of HAVE_CALLOC_POSIX.
15643         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
15644         HAVE_CALLOC_POSIX.
15645
15646         Use modern idiom for calloc() replacement.
15647         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
15648         AC_FUNC_CALLOC.
15649         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
15650         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
15651         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
15652         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
15653         (gl_REPLACE_CALLOC): New macro.
15654
15655 2010-06-21  Bruno Haible  <bruno@clisp.org>
15656
15657         Fix HAVE_REALLOC_POSIX misnomer.
15658         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
15659         !HAVE_REALLOC_POSIX.
15660         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
15661         HAVE_REALLOC_POSIX.
15662         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
15663         instead of HAVE_REALLOC_POSIX.
15664         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
15665         HAVE_REALLOC_POSIX.
15666
15667         Use modern idiom for realloc() replacement.
15668         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
15669         AC_FUNC_REALLOC.
15670         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
15671         Autoconf's AC_FUNC_REALLOC.
15672         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
15673         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
15674         (gl_REPLACE_REALLOC): New macro.
15675         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
15676
15677 2010-06-21  Bruno Haible  <bruno@clisp.org>
15678
15679         Fix HAVE_MALLOC_POSIX misnomer.
15680         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
15681         !HAVE_MALLOC_POSIX.
15682         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
15683         HAVE_MALLOC_POSIX.
15684         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
15685         instead of HAVE_MALLOC_POSIX.
15686         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
15687         HAVE_MALLOC_POSIX.
15688
15689         Use modern idiom for malloc() replacement.
15690         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
15691         AC_FUNC_MALLOC.
15692         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
15693         Autoconf's AC_FUNC_MALLOC.
15694         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
15695         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
15696         (gl_REPLACE_MALLOC): New macro.
15697         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
15698
15699 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
15700
15701         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
15702         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
15703         This macro takes 3 arguments, not 4.
15704
15705 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
15706
15707         ipv6: fix detection under mingw
15708         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
15709         in6_addr.
15710
15711 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
15712
15713         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
15714         that strtod() works when cross-compiling to a glibc version known
15715         to work.
15716
15717 2010-06-15  Bruno Haible  <bruno@clisp.org>
15718
15719         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
15720
15721 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
15722
15723         select: Correct timeout.
15724         * lib/select.c (rpl_select): Compute wait_timeout correctly.
15725
15726 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
15727
15728         git-version-gen: init shell var to avoid env var influence
15729         * build-aux/git-version-gen (v): Init shell var to empty.
15730
15731 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
15732
15733         priv-set: Don't assume that priv.h exists merely because getppriv does.
15734         See Jan Andersen's bug report about AIX 5L in
15735         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
15736         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
15737         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
15738         * lib/priv-set.h: Likewise.
15739         * tests/test-priv-set.c: Likewise.
15740
15741 2010-06-13  Bruno Haible  <bruno@clisp.org>
15742
15743         relocatable: Make it easier to test whether to install wrappers.
15744         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
15745         RELOCATABLE_VIA_WRAPPER.
15746
15747 2010-06-13  Bruno Haible  <bruno@clisp.org>
15748
15749         gnulib-tool: Display specified modules and dependencies differently.
15750         * gnulib-tool (func_show_module_list): New function.
15751         (func_import, func_create_testdir): Invoke it.
15752         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
15753
15754 2010-06-13  Bruno Haible  <bruno@clisp.org>
15755
15756         gnulib-tool: Align code of func_import and func_create_testdir.
15757         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
15758         specified_modules.
15759
15760 2010-06-12  Jim Meyering  <meyering@redhat.com>
15761
15762         test-inttostr: avoid spurious failure on Solaris 9
15763         * tests/test-inttostr.c (main): Skip the test when snprintf fails
15764         to accept "%ju".  Reported by Bruno Haible.
15765
15766 2010-06-11  Jim Meyering  <meyering@redhat.com>
15767
15768         test-sys_socket: mark variables as used more readably
15769         * tests/test-sys_socket.c (main): Mark otherwise unused variables
15770         as "used" explicitly via (void) statement casts.  This is more
15771         readable than using them in an artificial return expression.
15772         Suggestion from Bruno Haible.
15773
15774 2010-06-11  Bruno Haible  <bruno@clisp.org>
15775
15776         Avoid some more warnings from "gcc -Wwrite-strings".
15777         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
15778         to 'const char *'.
15779         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
15780         * tests/test-c-strcasestr.c (main): Likewise.
15781         * tests/test-mbscasestr1.c (main): Likewise.
15782         * tests/test-mbscasestr2.c (main): Likewise.
15783         * tests/test-memmem.c (main): Likewise.
15784         * tests/test-strstr.c (main): Likewise.
15785         * tests/test-strcasestr.c (main): Likewise.
15786
15787 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15788
15789         init.sh: change framework_failure_ to fail with status 99, not 1
15790         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
15791         automake's parallel-tests rule that this is an unexpected failure,
15792         even if the test is listed in XFAIL_TESTS.
15793
15794 2010-06-11  Jim Meyering  <meyering@redhat.com>
15795
15796         test-inttostr: avoid warnings about 4-6KB literal strings
15797         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
15798         Include "macros.h", for its definition of ASSERT.
15799         (CK): s/assert/ASSERT/
15800         * modules/inttostr-tests (Files): Add macros.h.
15801
15802         init.sh: don't use $ME_ or skip_ before they are defined
15803         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
15804         their first uses.  Also hoist their companions: warn_, fail_,
15805         framework_failure_, $stderr_fileno.  Prompted by a patch from
15806         Stefano Lattarini.
15807
15808         test-sys_socket: avoid set-but-not-used warnings from gcc
15809         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
15810         avoid warning about set-but-not-used variables.
15811
15812         test-xvasprintf: avoid 'const' discard warnings
15813         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
15814         "const" when assigning from literal strings.
15815         (test_xasprintf): Add "void" in function argument list to placate
15816         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
15817
15818         tests: avoid compilation warnings in argmatch and exclude tests...
15819         in packages that define ARGMATCH_DIE_DECL, like coreutils.
15820         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
15821         Since it always exits, declare with the "noreturn" attribute.
15822         * tests/test-argmatch.c: Likewise.
15823
15824         tests: avoid 'const' discard warnings in mbsstr tests
15825         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
15826         * tests/test-mbsstr2.c (main): Likewise.
15827
15828         test-verify: avoid warning from gcc's -Wmissing-declarations
15829         * tests/test-verify.c (function): Declare to be static.
15830
15831         test-inttostr.c: include <string.h> for use of strcmp
15832         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
15833
15834         test-linkat: avoid failed assertion on "other" architectures
15835         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
15836         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
15837         sparc: https://bugs.launchpad.net/bugs/591968
15838
15839 2010-06-11  Jim Meyering  <meyering@redhat.com>
15840
15841         printf.m4: avoid autoconf's "Expanded Before Required" warning
15842         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
15843         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
15844         autoconf warning.
15845
15846 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
15847
15848         Replacement header templates are now named with ".in", not "_".
15849         * doc/gnulib-intro.texi: Correct.
15850
15851 2010-06-10  Jim Meyering  <meyering@redhat.com>
15852
15853         inttostr-tests: depend on snprintf, not snprintf-posix
15854         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
15855         snprintf-posix, to avoid this aclocal failure:
15856           missing file gnulib-tests/vasnprintf.c
15857           configure.ac:45: error: expected source file, required through \
15858           AC_LIBSOURCES, not found
15859
15860 2010-06-10  Jim Meyering  <meyering@redhat.com>
15861
15862         inttostr: add a new function, inttostr, and tests
15863         The namesake function was not available.  The existence of the
15864         template file, inttostr.c makes its addition nontrivial.
15865         * lib/anytostr.c: Rename from inttostr.c.
15866         (anytostr): Rename from inttostr.
15867         * lib/inttostr.c: New file.
15868         * modules/inttostr (Files): Add anytostr.c.
15869         (Makefile.am): Set lib_SOURCES instead of ...
15870         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
15871         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
15872         * lib/offtostr.c: Likewise.
15873         * lib/uinttostr.c: Likewise.
15874         * lib/umaxtostr.c: Likewise.
15875         * modules/inttostr-tests: New file.
15876         * tests/test-inttostr.c: New file.  Test these functions.
15877
15878 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
15879             Bruno Haible  <bruno@clisp.org>
15880
15881         Add "Extending Gnulib" chapter to manual.
15882         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
15883         chapter.
15884         (Extending Gnulib): New chapter.
15885         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
15886         chapter.
15887
15888 2010-06-09  Bruno Haible  <bruno@clisp.org>
15889
15890         Avoid relocwrapper link errors due to gnulib replacement functions.
15891         * lib/areadlink.c: Use the system's malloc, realloc functions.
15892         (areadlink): Set errno to ENOMEM explicitly.
15893         * modules/areadlink (Depends-on): Remove malloc-posix.
15894         Reported by Ben Pfaff <blp@cs.stanford.edu>.
15895
15896 2010-06-09  Bruno Haible  <bruno@clisp.org>
15897
15898         Avoid relocwrapper link errors due to gnulib replacement functions.
15899         * lib/canonicalize-lgpl.c: Use the system's malloc function.
15900         * lib/malloca.c: Likewise.
15901         * lib/relocatable.c: Likewise.
15902         * lib/progreloc.c: Use the system's malloc, sprintf functions.
15903         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
15904         * lib/setenv.c: Use the system's malloc, realloc functions.
15905         * lib/strerror.c: Use the system's sprintf function.
15906         Reported by Ben Pfaff <blp@cs.stanford.edu>.
15907
15908 2010-06-04  Bruno Haible  <bruno@clisp.org>
15909
15910         Prefer documented low-level autoconf macro names.
15911         * m4/lib-link.m4: Use m4_translit instead of translit.
15912         * m4/environ.m4: Likewise.
15913         * m4/mathfunc.m4: Likewise.
15914         * m4/onceonly.m4: Likewise.
15915         * m4/stdint.m4: Likewise.
15916         Suggested by Eric Blake.
15917
15918 2010-06-04  Martin Lambers  <marlam@marlam.de>
15919             Bruno Haible  <bruno@clisp.org>
15920
15921         havelib: Allow library names with '+' characters.
15922         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
15923         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
15924
15925 2010-06-09  Bruno Haible  <bruno@clisp.org>
15926
15927         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
15928         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
15929         realloc failed.
15930
15931 2010-06-08  Peter Simons  <simons@cryp.to>
15932
15933         maint.mk: make the news-check rule more configurable
15934         * top/maint.mk (news-check-lines-spec): New variable.
15935         (news-check): Use "sed -n 1,10p" in place of "head".
15936
15937 2010-06-07  Jim Meyering  <meyering@redhat.com>
15938
15939         do-release-commit-and-tag: fix typo in --help
15940         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
15941
15942         regex: avoid new dead-code warning with gcc-4.6.0
15943         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
15944         if-block containing a while-loop.  It's been unused for at least
15945         5 years.
15946
15947 2010-06-05  Bruno Haible  <bruno@clisp.org>
15948
15949         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
15950         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
15951
15952 2010-06-04  Bruno Haible  <bruno@clisp.org>
15953
15954         Update to GNU gettext 0.18.1.
15955         * modules/gettext (configure.ac): Require gettext infrastructure from
15956         version 0.18.1.
15957
15958 2010-06-03  Bruno Haible  <bruno@clisp.org>
15959
15960         Don't use AC_LIBOBJ with file names in subdirectories.
15961         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
15962         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
15963         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
15964         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
15965         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
15966         gl_LIBUNISTRING_LIBSOURCE.
15967         (Makefile.am): Augment lib_SOURCES here, conditionally.
15968         * NEWS: Drop requirement for Automake option 'subdir-objects'.
15969
15970 2010-06-03  Bruno Haible  <bruno@clisp.org>
15971
15972         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
15973         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
15974         expansion does not end with a newline.
15975         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
15976         unnecessary newline.
15977
15978 2010-06-03  Bruno Haible  <bruno@clisp.org>
15979
15980         Reduce dependencies.
15981         * tests/test-quotearg.h: New file, extracted from
15982         tests/test-quotearg.c.
15983         * tests/test-quotearg-simple.c: New file, extracted from
15984         tests/test-quotearg.c.
15985         * tests/test-quotearg.c: Don't include <ctype.h>.
15986         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
15987         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
15988         use_quote_double_quotes, use_quotearg_colon): Moved to
15989         tests/test-quotearg.h.
15990         (results_g, flag_results, custom_quotes, custom_results): Moved
15991         to tests/test-quotearg-simple.c.
15992         (main): Moved the part that does not depend on gettext to
15993         tests/test-quotearg-simple.c. Return 77 if the test cannot be
15994         performed.
15995         * modules/quotearg-simple: New file.
15996         * modules/quotearg-simple-tests: New file.
15997         * modules/quotearg (Depends-on): Add quotearg-simple.
15998         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
15999         (Files): Add tests/test-quotearg.h.
16000         Reported by Paolo Bonzini.
16001
16002 2010-06-03  Bruno Haible  <bruno@clisp.org>
16003
16004         Reduce dependencies.
16005         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
16006
16007 2010-06-03  Bruno Haible  <bruno@clisp.org>
16008
16009         time: Undefine more broken macros.
16010         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
16011         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
16012         Reported by Eric Blake.
16013
16014 2010-06-03  Bruno Haible  <bruno@clisp.org>
16015
16016         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
16017         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
16018         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
16019         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
16020         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
16021         Reported by Ludovic Courtès <ludo@gnu.org>.
16022
16023 2010-06-02  Eric Blake  <eblake@redhat.com>
16024
16025         time: work with mingw + pthreads-win32 library
16026         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
16027         if timespec is defined only in pthread.h.
16028         * modules/time (Makefile.am): Substitute it.
16029         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
16030         <pthread.h>, when needed.
16031         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
16032         from the library.
16033
16034 2010-05-31  Bruno Haible  <bruno@clisp.org>
16035
16036         Avoid expanding two macros in the wrong order.
16037         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
16038         gl_LIBUNISTRING if it is defined.
16039         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
16040         autoconf >= 2.64.
16041         Reported by Ludovic Courtès <ludo@gnu.org>.
16042
16043 2010-05-27  Jim Meyering  <meyering@redhat.com>
16044
16045         maint.mk: also prohibit "#undef" of always-defined symbols
16046         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
16047         Allow more than one space before the symbol name.
16048         (sc_prohibit_always-defined_macros): Use grep's -E, now that
16049         the regexp uses alternation.
16050
16051 2010-05-26  Eric Blake  <eblake@redhat.com>
16052
16053         maint.mk: avoid echo -e
16054         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
16055         Convert all uses of echo -* to printf.
16056         Reported by Matthias Bolte.
16057
16058 2010-05-25  Bruno Haible  <bruno@clisp.org>
16059
16060         Update to GNU gettext 0.18, part 2.
16061         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
16062         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
16063
16064 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16065
16066         Add missing include in test-pwrite.c.
16067         * tests/test-pwrite.c: Include string.h, for strcmp.
16068
16069 2010-05-24  Bruno Haible  <bruno@clisp.org>
16070
16071         * NEWS: Mention requirement for Automake option 'subdir-objects'.
16072
16073 2010-05-24  Bruno Haible  <bruno@clisp.org>
16074
16075         Don't use conversion with transliteration in u{8,16,32}_strcoll.
16076         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
16077         iconveh_error argument.
16078         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
16079         U_STRCONV_TO_LOCALE.
16080         * lib/unistr/u16-strcoll.c: Likewise.
16081         * lib/unistr/u32-strcoll.c: Likewise.
16082         * modules/unistr/u8-strcoll (Depends-on): Add
16083         uniconv/u8-strconv-to-enc, localcharset. Remove
16084         uniconv/u8-strconv-to-locale.
16085         (configure.ac): Bump version number.
16086         * modules/unistr/u16-strcoll (Depends-on): Add
16087         uniconv/u16-strconv-to-enc, localcharset. Remove
16088         uniconv/u16-strconv-to-locale.
16089         (configure.ac): Bump version number.
16090         * modules/unistr/u32-strcoll (Depends-on): Add
16091         uniconv/u32-strconv-to-enc, localcharset. Remove
16092         uniconv/u32-strconv-to-locale.
16093         (configure.ac): Bump version number.
16094
16095 2010-05-24  Bruno Haible  <bruno@clisp.org>
16096
16097         Avoid a test failure on NetBSD 5.0.
16098         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
16099         an iconv() bug.
16100
16101 2010-05-24  Bruno Haible  <bruno@clisp.org>
16102
16103         Adjust #include directive style.
16104         * modules/regex (Includes): Recommend to write <regex.h>.
16105
16106 2010-05-24  Bruno Haible  <bruno@clisp.org>
16107
16108         regex: Don't require alloca.
16109         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
16110         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
16111         only inside if (0).
16112
16113 2010-05-23  Jim Meyering  <meyering@redhat.com>
16114
16115         test-renameat.c: include <sys/stat.h>
16116         * tests/test-renameat.c: Include <sys/stat.h>; required for
16117         definition of S_IS* macros.
16118
16119 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
16120
16121         Update maintainer documentation for 'relocatable-prog' module.
16122         * doc/relocatable-maint.texi: Update.
16123         Comments by Bruno Haible.
16124
16125 2010-05-23  Bruno Haible  <bruno@clisp.org>
16126
16127         git-merge-changelog: Enable --split-merged-entry by default.
16128         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
16129         (usage): Don't mention this option any more.
16130         Reported by Ralf Wildenhues.
16131
16132 2010-05-23  Jim Meyering  <meyering@redhat.com>
16133
16134         test-pwrite: do not leave behind a test file named "out"
16135         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
16136         The trivial-looking use of init.sh is really necessary.
16137         It ensures that the temporary file, "out", is created in
16138         a temporary directory, and removed upon termination.
16139         * tests/test-pwrite.sh: Re-add file.
16140         * modules/pwrite-tests: Reference it.
16141
16142 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16143
16144         Fix output redirection buglet in init.sh.
16145         * tests/init.sh: Fix redirection of stderr.
16146
16147 2010-05-20  Simon Josefsson  <simon@josefsson.org>
16148
16149         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
16150
16151 2010-05-17  Simon Josefsson  <simon@josefsson.org>
16152
16153         * modules/valgrind-tests: New file.
16154         * m4/valgrind-tests.m4: New file.
16155         * doc/valgrind-tests.texi: New file.
16156         * doc/gnulib.texi (Running self-tests under valgrind): New
16157         section.
16158
16159 2010-05-19  Bruno Haible  <bruno@clisp.org>
16160
16161         Clean up dead code in recent commit.
16162         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
16163         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
16164         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
16165         Suggested by Paolo Bonzini.
16166
16167 2010-05-19  Bruno Haible  <bruno@clisp.org>
16168
16169         Avoid valgrind error reports from libunistring.
16170         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
16171         * modules/libunistring (Files): Add it.
16172         * modules/libunistring-optional (Files): Likewise.
16173
16174 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
16175             Bruno Haible  <bruno@clisp.org>
16176
16177         New module 'libunistring-optional'.
16178         * modules/libunistring-optional: New file.
16179         * m4/libunistring-base.m4: New file.
16180         * m4/libunistring-optional.m4: New file.
16181         * lib/unicase.in.h: Renamed from lib/unicase.h.
16182         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
16183         * lib/unictype.in.h: Renamed from lib/unictype.h.
16184         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
16185         * lib/uniname.in.h: Renamed from lib/uniname.h.
16186         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
16187         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
16188         * lib/unistr.in.h: Renamed from lib/unistr.h.
16189         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
16190         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
16191         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
16192         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
16193         gl_LIBUNISTRING. If the library was found, determine the installed
16194         version and set LIBUNISTRING_VERSION.
16195         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
16196         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
16197         handle a configuration option --with-included-libunistring.
16198         * modules/libunistring (Files): Add m4/absolute-header.m4.
16199         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
16200         Add m4/libunistring-base.m4.
16201         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
16202         (Makefile.am): Build unicase.h from unicase.in.h.
16203         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
16204         Add m4/libunistring-base.m4.
16205         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
16206         (Makefile.am): Build uniconv.h from uniconv.in.h.
16207         * modules/unictype/base (Files): Use unictype.in.h instead of
16208         unictype.h. Add m4/libunistring-base.m4.
16209         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
16210         (Makefile.am): Build unictype.h from unictype.in.h.
16211         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
16212         Add m4/libunistring-base.m4.
16213         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
16214         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
16215         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
16216         Add m4/libunistring-base.m4.
16217         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
16218         (Makefile.am): Build uniname.h from uniname.in.h.
16219         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
16220         Add m4/libunistring-base.m4.
16221         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
16222         (Makefile.am): Build uninorm.h from uninorm.in.h.
16223         * modules/unistdio/base (Files): Use unistdio.in.h instead of
16224         unistdio.h. Add m4/libunistring-base.m4.
16225         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
16226         (Makefile.am): Build unistdio.h from unistdio.in.h.
16227         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
16228         Add m4/libunistring-base.m4.
16229         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
16230         (Makefile.am): Build unistr.h from unistr.in.h.
16231         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
16232         Add m4/libunistring-base.m4.
16233         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
16234         (Makefile.am): Build unitypes.h from unitypes.in.h.
16235         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
16236         Add m4/libunistring-base.m4.
16237         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
16238         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
16239         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
16240         uniwidth.h. Add m4/libunistring-base.m4.
16241         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
16242         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
16243         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
16244         instead of augmenting lib_SOURCES.
16245         * modules/unicase/empty-suffix-context: Likewise.
16246         * modules/unicase/locale-language: Likewise.
16247         * modules/unicase/tolower: Likewise.
16248         * modules/unicase/totitle: Likewise.
16249         * modules/unicase/toupper: Likewise.
16250         * modules/unicase/u8-casecmp: Likewise.
16251         * modules/unicase/u8-casecoll: Likewise.
16252         * modules/unicase/u8-casefold: Likewise.
16253         * modules/unicase/u8-casexfrm: Likewise.
16254         * modules/unicase/u8-ct-casefold: Likewise.
16255         * modules/unicase/u8-ct-tolower: Likewise.
16256         * modules/unicase/u8-ct-totitle: Likewise.
16257         * modules/unicase/u8-ct-toupper: Likewise.
16258         * modules/unicase/u8-is-cased: Likewise.
16259         * modules/unicase/u8-is-casefolded: Likewise.
16260         * modules/unicase/u8-is-lowercase: Likewise.
16261         * modules/unicase/u8-is-titlecase: Likewise.
16262         * modules/unicase/u8-is-uppercase: Likewise.
16263         * modules/unicase/u8-prefix-context: Likewise.
16264         * modules/unicase/u8-suffix-context: Likewise.
16265         * modules/unicase/u8-tolower: Likewise.
16266         * modules/unicase/u8-totitle: Likewise.
16267         * modules/unicase/u8-toupper: Likewise.
16268         * modules/unicase/u16-casecmp: Likewise.
16269         * modules/unicase/u16-casecoll: Likewise.
16270         * modules/unicase/u16-casefold: Likewise.
16271         * modules/unicase/u16-casexfrm: Likewise.
16272         * modules/unicase/u16-ct-casefold: Likewise.
16273         * modules/unicase/u16-ct-tolower: Likewise.
16274         * modules/unicase/u16-ct-totitle: Likewise.
16275         * modules/unicase/u16-ct-toupper: Likewise.
16276         * modules/unicase/u16-is-cased: Likewise.
16277         * modules/unicase/u16-is-casefolded: Likewise.
16278         * modules/unicase/u16-is-lowercase: Likewise.
16279         * modules/unicase/u16-is-titlecase: Likewise.
16280         * modules/unicase/u16-is-uppercase: Likewise.
16281         * modules/unicase/u16-prefix-context: Likewise.
16282         * modules/unicase/u16-suffix-context: Likewise.
16283         * modules/unicase/u16-tolower: Likewise.
16284         * modules/unicase/u16-totitle: Likewise.
16285         * modules/unicase/u16-toupper: Likewise.
16286         * modules/unicase/u32-casecmp: Likewise.
16287         * modules/unicase/u32-casecoll: Likewise.
16288         * modules/unicase/u32-casefold: Likewise.
16289         * modules/unicase/u32-casexfrm: Likewise.
16290         * modules/unicase/u32-ct-casefold: Likewise.
16291         * modules/unicase/u32-ct-tolower: Likewise.
16292         * modules/unicase/u32-ct-totitle: Likewise.
16293         * modules/unicase/u32-ct-toupper: Likewise.
16294         * modules/unicase/u32-is-cased: Likewise.
16295         * modules/unicase/u32-is-casefolded: Likewise.
16296         * modules/unicase/u32-is-lowercase: Likewise.
16297         * modules/unicase/u32-is-titlecase: Likewise.
16298         * modules/unicase/u32-is-uppercase: Likewise.
16299         * modules/unicase/u32-prefix-context: Likewise.
16300         * modules/unicase/u32-suffix-context: Likewise.
16301         * modules/unicase/u32-tolower: Likewise.
16302         * modules/unicase/u32-totitle: Likewise.
16303         * modules/unicase/u32-toupper: Likewise.
16304         * modules/unicase/ulc-casecmp: Likewise.
16305         * modules/unicase/ulc-casecoll: Likewise.
16306         * modules/unicase/ulc-casexfrm: Likewise.
16307         * modules/uniconv/u8-conv-from-enc: Likewise.
16308         * modules/uniconv/u8-conv-to-enc: Likewise.
16309         * modules/uniconv/u8-strconv-from-enc: Likewise.
16310         * modules/uniconv/u8-strconv-from-locale: Likewise.
16311         * modules/uniconv/u8-strconv-to-enc: Likewise.
16312         * modules/uniconv/u8-strconv-to-locale: Likewise.
16313         * modules/uniconv/u16-conv-from-enc: Likewise.
16314         * modules/uniconv/u16-conv-to-enc: Likewise.
16315         * modules/uniconv/u16-strconv-from-enc: Likewise.
16316         * modules/uniconv/u16-strconv-from-locale: Likewise.
16317         * modules/uniconv/u16-strconv-to-enc: Likewise.
16318         * modules/uniconv/u16-strconv-to-locale: Likewise.
16319         * modules/uniconv/u32-conv-from-enc: Likewise.
16320         * modules/uniconv/u32-conv-to-enc: Likewise.
16321         * modules/uniconv/u32-strconv-from-enc: Likewise.
16322         * modules/uniconv/u32-strconv-from-locale: Likewise.
16323         * modules/uniconv/u32-strconv-to-enc: Likewise.
16324         * modules/uniconv/u32-strconv-to-locale: Likewise.
16325         * modules/unictype/bidicategory-byname: Likewise.
16326         * modules/unictype/bidicategory-name: Likewise.
16327         * modules/unictype/bidicategory-of: Likewise.
16328         * modules/unictype/bidicategory-test: Likewise.
16329         * modules/unictype/block-list: Likewise.
16330         * modules/unictype/block-test: Likewise.
16331         * modules/unictype/category-C: Likewise.
16332         * modules/unictype/category-Cc: Likewise.
16333         * modules/unictype/category-Cf: Likewise.
16334         * modules/unictype/category-Cn: Likewise.
16335         * modules/unictype/category-Co: Likewise.
16336         * modules/unictype/category-Cs: Likewise.
16337         * modules/unictype/category-L: Likewise.
16338         * modules/unictype/category-Ll: Likewise.
16339         * modules/unictype/category-Lm: Likewise.
16340         * modules/unictype/category-Lo: Likewise.
16341         * modules/unictype/category-Lt: Likewise.
16342         * modules/unictype/category-Lu: Likewise.
16343         * modules/unictype/category-M: Likewise.
16344         * modules/unictype/category-Mc: Likewise.
16345         * modules/unictype/category-Me: Likewise.
16346         * modules/unictype/category-Mn: Likewise.
16347         * modules/unictype/category-N: Likewise.
16348         * modules/unictype/category-Nd: Likewise.
16349         * modules/unictype/category-Nl: Likewise.
16350         * modules/unictype/category-No: Likewise.
16351         * modules/unictype/category-P: Likewise.
16352         * modules/unictype/category-Pc: Likewise.
16353         * modules/unictype/category-Pd: Likewise.
16354         * modules/unictype/category-Pe: Likewise.
16355         * modules/unictype/category-Pf: Likewise.
16356         * modules/unictype/category-Pi: Likewise.
16357         * modules/unictype/category-Po: Likewise.
16358         * modules/unictype/category-Ps: Likewise.
16359         * modules/unictype/category-S: Likewise.
16360         * modules/unictype/category-Sc: Likewise.
16361         * modules/unictype/category-Sk: Likewise.
16362         * modules/unictype/category-Sm: Likewise.
16363         * modules/unictype/category-So: Likewise.
16364         * modules/unictype/category-Z: Likewise.
16365         * modules/unictype/category-Zl: Likewise.
16366         * modules/unictype/category-Zp: Likewise.
16367         * modules/unictype/category-Zs: Likewise.
16368         * modules/unictype/category-and: Likewise.
16369         * modules/unictype/category-and-not: Likewise.
16370         * modules/unictype/category-byname: Likewise.
16371         * modules/unictype/category-name: Likewise.
16372         * modules/unictype/category-none: Likewise.
16373         * modules/unictype/category-of: Likewise.
16374         * modules/unictype/category-or: Likewise.
16375         * modules/unictype/category-test: Likewise.
16376         * modules/unictype/combining-class: Likewise.
16377         * modules/unictype/ctype-alnum: Likewise.
16378         * modules/unictype/ctype-alpha: Likewise.
16379         * modules/unictype/ctype-blank: Likewise.
16380         * modules/unictype/ctype-cntrl: Likewise.
16381         * modules/unictype/ctype-digit: Likewise.
16382         * modules/unictype/ctype-graph: Likewise.
16383         * modules/unictype/ctype-lower: Likewise.
16384         * modules/unictype/ctype-print: Likewise.
16385         * modules/unictype/ctype-punct: Likewise.
16386         * modules/unictype/ctype-space: Likewise.
16387         * modules/unictype/ctype-upper: Likewise.
16388         * modules/unictype/ctype-xdigit: Likewise.
16389         * modules/unictype/decimal-digit: Likewise.
16390         * modules/unictype/digit: Likewise.
16391         * modules/unictype/mirror: Likewise.
16392         * modules/unictype/numeric: Likewise.
16393         * modules/unictype/property-alphabetic: Likewise.
16394         * modules/unictype/property-ascii-hex-digit: Likewise.
16395         * modules/unictype/property-bidi-arabic-digit: Likewise.
16396         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
16397         * modules/unictype/property-bidi-block-separator: Likewise.
16398         * modules/unictype/property-bidi-boundary-neutral: Likewise.
16399         * modules/unictype/property-bidi-common-separator: Likewise.
16400         * modules/unictype/property-bidi-control: Likewise.
16401         * modules/unictype/property-bidi-embedding-or-override: Likewise.
16402         * modules/unictype/property-bidi-eur-num-separator: Likewise.
16403         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
16404         * modules/unictype/property-bidi-european-digit: Likewise.
16405         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
16406         * modules/unictype/property-bidi-left-to-right: Likewise.
16407         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
16408         * modules/unictype/property-bidi-other-neutral: Likewise.
16409         * modules/unictype/property-bidi-pdf: Likewise.
16410         * modules/unictype/property-bidi-segment-separator: Likewise.
16411         * modules/unictype/property-bidi-whitespace: Likewise.
16412         * modules/unictype/property-byname: Likewise.
16413         * modules/unictype/property-combining: Likewise.
16414         * modules/unictype/property-composite: Likewise.
16415         * modules/unictype/property-currency-symbol: Likewise.
16416         * modules/unictype/property-dash: Likewise.
16417         * modules/unictype/property-decimal-digit: Likewise.
16418         * modules/unictype/property-default-ignorable-code-point: Likewise.
16419         * modules/unictype/property-deprecated: Likewise.
16420         * modules/unictype/property-diacritic: Likewise.
16421         * modules/unictype/property-extender: Likewise.
16422         * modules/unictype/property-format-control: Likewise.
16423         * modules/unictype/property-grapheme-base: Likewise.
16424         * modules/unictype/property-grapheme-extend: Likewise.
16425         * modules/unictype/property-grapheme-link: Likewise.
16426         * modules/unictype/property-hex-digit: Likewise.
16427         * modules/unictype/property-hyphen: Likewise.
16428         * modules/unictype/property-id-continue: Likewise.
16429         * modules/unictype/property-id-start: Likewise.
16430         * modules/unictype/property-ideographic: Likewise.
16431         * modules/unictype/property-ids-binary-operator: Likewise.
16432         * modules/unictype/property-ids-trinary-operator: Likewise.
16433         * modules/unictype/property-ignorable-control: Likewise.
16434         * modules/unictype/property-iso-control: Likewise.
16435         * modules/unictype/property-join-control: Likewise.
16436         * modules/unictype/property-left-of-pair: Likewise.
16437         * modules/unictype/property-line-separator: Likewise.
16438         * modules/unictype/property-logical-order-exception: Likewise.
16439         * modules/unictype/property-lowercase: Likewise.
16440         * modules/unictype/property-math: Likewise.
16441         * modules/unictype/property-non-break: Likewise.
16442         * modules/unictype/property-not-a-character: Likewise.
16443         * modules/unictype/property-numeric: Likewise.
16444         * modules/unictype/property-other-alphabetic: Likewise.
16445         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
16446         * modules/unictype/property-other-grapheme-extend: Likewise.
16447         * modules/unictype/property-other-id-continue: Likewise.
16448         * modules/unictype/property-other-id-start: Likewise.
16449         * modules/unictype/property-other-lowercase: Likewise.
16450         * modules/unictype/property-other-math: Likewise.
16451         * modules/unictype/property-other-uppercase: Likewise.
16452         * modules/unictype/property-paired-punctuation: Likewise.
16453         * modules/unictype/property-paragraph-separator: Likewise.
16454         * modules/unictype/property-pattern-syntax: Likewise.
16455         * modules/unictype/property-pattern-white-space: Likewise.
16456         * modules/unictype/property-private-use: Likewise.
16457         * modules/unictype/property-punctuation: Likewise.
16458         * modules/unictype/property-quotation-mark: Likewise.
16459         * modules/unictype/property-radical: Likewise.
16460         * modules/unictype/property-sentence-terminal: Likewise.
16461         * modules/unictype/property-soft-dotted: Likewise.
16462         * modules/unictype/property-space: Likewise.
16463         * modules/unictype/property-terminal-punctuation: Likewise.
16464         * modules/unictype/property-test: Likewise.
16465         * modules/unictype/property-titlecase: Likewise.
16466         * modules/unictype/property-unassigned-code-value: Likewise.
16467         * modules/unictype/property-unified-ideograph: Likewise.
16468         * modules/unictype/property-uppercase: Likewise.
16469         * modules/unictype/property-variation-selector: Likewise.
16470         * modules/unictype/property-white-space: Likewise.
16471         * modules/unictype/property-xid-continue: Likewise.
16472         * modules/unictype/property-xid-start: Likewise.
16473         * modules/unictype/property-zero-width: Likewise.
16474         * modules/unictype/scripts: Likewise.
16475         * modules/unictype/syntax-c-ident: Likewise.
16476         * modules/unictype/syntax-c-whitespace: Likewise.
16477         * modules/unictype/syntax-java-ident: Likewise.
16478         * modules/unictype/syntax-java-whitespace: Likewise.
16479         * modules/unilbrk/u8-possible-linebreaks: Likewise.
16480         * modules/unilbrk/u8-width-linebreaks: Likewise.
16481         * modules/unilbrk/u16-possible-linebreaks: Likewise.
16482         * modules/unilbrk/u16-width-linebreaks: Likewise.
16483         * modules/unilbrk/u32-possible-linebreaks: Likewise.
16484         * modules/unilbrk/u32-width-linebreaks: Likewise.
16485         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
16486         * modules/unilbrk/ulc-width-linebreaks: Likewise.
16487         * modules/uniname/uniname: Likewise.
16488         * modules/uninorm/canonical-decomposition: Likewise.
16489         * modules/uninorm/composition: Likewise.
16490         * modules/uninorm/decomposing-form: Likewise.
16491         * modules/uninorm/decomposition: Likewise.
16492         * modules/uninorm/filter: Likewise.
16493         * modules/uninorm/nfc: Likewise.
16494         * modules/uninorm/nfd: Likewise.
16495         * modules/uninorm/nfkc: Likewise.
16496         * modules/uninorm/nfkd: Likewise.
16497         * modules/uninorm/u8-normalize: Likewise.
16498         * modules/uninorm/u8-normcmp: Likewise.
16499         * modules/uninorm/u8-normcoll: Likewise.
16500         * modules/uninorm/u8-normxfrm: Likewise.
16501         * modules/uninorm/u16-normalize: Likewise.
16502         * modules/uninorm/u16-normcmp: Likewise.
16503         * modules/uninorm/u16-normcoll: Likewise.
16504         * modules/uninorm/u16-normxfrm: Likewise.
16505         * modules/uninorm/u32-normalize: Likewise.
16506         * modules/uninorm/u32-normcmp: Likewise.
16507         * modules/uninorm/u32-normcoll: Likewise.
16508         * modules/uninorm/u32-normxfrm: Likewise.
16509         * modules/unistdio/u8-asnprintf: Likewise.
16510         * modules/unistdio/u8-asprintf: Likewise.
16511         * modules/unistdio/u8-snprintf: Likewise.
16512         * modules/unistdio/u8-sprintf: Likewise.
16513         * modules/unistdio/u8-u8-asnprintf: Likewise.
16514         * modules/unistdio/u8-u8-asprintf: Likewise.
16515         * modules/unistdio/u8-u8-snprintf: Likewise.
16516         * modules/unistdio/u8-u8-sprintf: Likewise.
16517         * modules/unistdio/u8-u8-vasnprintf: Likewise.
16518         * modules/unistdio/u8-u8-vasprintf: Likewise.
16519         * modules/unistdio/u8-u8-vsnprintf: Likewise.
16520         * modules/unistdio/u8-u8-vsprintf: Likewise.
16521         * modules/unistdio/u8-vasnprintf: Likewise.
16522         * modules/unistdio/u8-vasprintf: Likewise.
16523         * modules/unistdio/u8-vsnprintf: Likewise.
16524         * modules/unistdio/u8-vsprintf: Likewise.
16525         * modules/unistdio/u16-asnprintf: Likewise.
16526         * modules/unistdio/u16-asprintf: Likewise.
16527         * modules/unistdio/u16-snprintf: Likewise.
16528         * modules/unistdio/u16-sprintf: Likewise.
16529         * modules/unistdio/u16-u16-asnprintf: Likewise.
16530         * modules/unistdio/u16-u16-asprintf: Likewise.
16531         * modules/unistdio/u16-u16-snprintf: Likewise.
16532         * modules/unistdio/u16-u16-sprintf: Likewise.
16533         * modules/unistdio/u16-u16-vasnprintf: Likewise.
16534         * modules/unistdio/u16-u16-vasprintf: Likewise.
16535         * modules/unistdio/u16-u16-vsnprintf: Likewise.
16536         * modules/unistdio/u16-u16-vsprintf: Likewise.
16537         * modules/unistdio/u16-vasnprintf: Likewise.
16538         * modules/unistdio/u16-vasprintf: Likewise.
16539         * modules/unistdio/u16-vsnprintf: Likewise.
16540         * modules/unistdio/u16-vsprintf: Likewise.
16541         * modules/unistdio/u32-asnprintf: Likewise.
16542         * modules/unistdio/u32-asprintf: Likewise.
16543         * modules/unistdio/u32-snprintf: Likewise.
16544         * modules/unistdio/u32-sprintf: Likewise.
16545         * modules/unistdio/u32-u32-asnprintf: Likewise.
16546         * modules/unistdio/u32-u32-asprintf: Likewise.
16547         * modules/unistdio/u32-u32-snprintf: Likewise.
16548         * modules/unistdio/u32-u32-sprintf: Likewise.
16549         * modules/unistdio/u32-u32-vasnprintf: Likewise.
16550         * modules/unistdio/u32-u32-vasprintf: Likewise.
16551         * modules/unistdio/u32-u32-vsnprintf: Likewise.
16552         * modules/unistdio/u32-u32-vsprintf: Likewise.
16553         * modules/unistdio/u32-vasnprintf: Likewise.
16554         * modules/unistdio/u32-vasprintf: Likewise.
16555         * modules/unistdio/u32-vsnprintf: Likewise.
16556         * modules/unistdio/u32-vsprintf: Likewise.
16557         * modules/unistdio/ulc-asnprintf: Likewise.
16558         * modules/unistdio/ulc-asprintf: Likewise.
16559         * modules/unistdio/ulc-fprintf: Likewise.
16560         * modules/unistdio/ulc-snprintf: Likewise.
16561         * modules/unistdio/ulc-sprintf: Likewise.
16562         * modules/unistdio/ulc-vasnprintf: Likewise.
16563         * modules/unistdio/ulc-vasprintf: Likewise.
16564         * modules/unistdio/ulc-vfprintf: Likewise.
16565         * modules/unistdio/ulc-vsnprintf: Likewise.
16566         * modules/unistdio/ulc-vsprintf: Likewise.
16567         * modules/unistr/u8-check: Likewise.
16568         * modules/unistr/u8-chr: Likewise.
16569         * modules/unistr/u8-cmp: Likewise.
16570         * modules/unistr/u8-cmp2: Likewise.
16571         * modules/unistr/u8-cpy: Likewise.
16572         * modules/unistr/u8-cpy-alloc: Likewise.
16573         * modules/unistr/u8-endswith: Likewise.
16574         * modules/unistr/u8-mblen: Likewise.
16575         * modules/unistr/u8-mbsnlen: Likewise.
16576         * modules/unistr/u8-mbtouc: Likewise.
16577         * modules/unistr/u8-mbtouc-unsafe: Likewise.
16578         * modules/unistr/u8-mbtoucr: Likewise.
16579         * modules/unistr/u8-move: Likewise.
16580         * modules/unistr/u8-next: Likewise.
16581         * modules/unistr/u8-prev: Likewise.
16582         * modules/unistr/u8-set: Likewise.
16583         * modules/unistr/u8-startswith: Likewise.
16584         * modules/unistr/u8-stpcpy: Likewise.
16585         * modules/unistr/u8-stpncpy: Likewise.
16586         * modules/unistr/u8-strcat: Likewise.
16587         * modules/unistr/u8-strchr: Likewise.
16588         * modules/unistr/u8-strcmp: Likewise.
16589         * modules/unistr/u8-strcoll: Likewise.
16590         * modules/unistr/u8-strcpy: Likewise.
16591         * modules/unistr/u8-strcspn: Likewise.
16592         * modules/unistr/u8-strdup: Likewise.
16593         * modules/unistr/u8-strlen: Likewise.
16594         * modules/unistr/u8-strmblen: Likewise.
16595         * modules/unistr/u8-strmbtouc: Likewise.
16596         * modules/unistr/u8-strncat: Likewise.
16597         * modules/unistr/u8-strncmp: Likewise.
16598         * modules/unistr/u8-strncpy: Likewise.
16599         * modules/unistr/u8-strnlen: Likewise.
16600         * modules/unistr/u8-strpbrk: Likewise.
16601         * modules/unistr/u8-strrchr: Likewise.
16602         * modules/unistr/u8-strspn: Likewise.
16603         * modules/unistr/u8-strstr: Likewise.
16604         * modules/unistr/u8-strtok: Likewise.
16605         * modules/unistr/u8-to-u16: Likewise.
16606         * modules/unistr/u8-to-u32: Likewise.
16607         * modules/unistr/u8-uctomb: Likewise.
16608         * modules/unistr/u16-check: Likewise.
16609         * modules/unistr/u16-chr: Likewise.
16610         * modules/unistr/u16-cmp: Likewise.
16611         * modules/unistr/u16-cmp2: Likewise.
16612         * modules/unistr/u16-cpy: Likewise.
16613         * modules/unistr/u16-cpy-alloc: Likewise.
16614         * modules/unistr/u16-endswith: Likewise.
16615         * modules/unistr/u16-mblen: Likewise.
16616         * modules/unistr/u16-mbsnlen: Likewise.
16617         * modules/unistr/u16-mbtouc: Likewise.
16618         * modules/unistr/u16-mbtouc-unsafe: Likewise.
16619         * modules/unistr/u16-mbtoucr: Likewise.
16620         * modules/unistr/u16-move: Likewise.
16621         * modules/unistr/u16-next: Likewise.
16622         * modules/unistr/u16-prev: Likewise.
16623         * modules/unistr/u16-set: Likewise.
16624         * modules/unistr/u16-startswith: Likewise.
16625         * modules/unistr/u16-stpcpy: Likewise.
16626         * modules/unistr/u16-stpncpy: Likewise.
16627         * modules/unistr/u16-strcat: Likewise.
16628         * modules/unistr/u16-strchr: Likewise.
16629         * modules/unistr/u16-strcmp: Likewise.
16630         * modules/unistr/u16-strcoll: Likewise.
16631         * modules/unistr/u16-strcpy: Likewise.
16632         * modules/unistr/u16-strcspn: Likewise.
16633         * modules/unistr/u16-strdup: Likewise.
16634         * modules/unistr/u16-strlen: Likewise.
16635         * modules/unistr/u16-strmblen: Likewise.
16636         * modules/unistr/u16-strmbtouc: Likewise.
16637         * modules/unistr/u16-strncat: Likewise.
16638         * modules/unistr/u16-strncmp: Likewise.
16639         * modules/unistr/u16-strncpy: Likewise.
16640         * modules/unistr/u16-strnlen: Likewise.
16641         * modules/unistr/u16-strpbrk: Likewise.
16642         * modules/unistr/u16-strrchr: Likewise.
16643         * modules/unistr/u16-strspn: Likewise.
16644         * modules/unistr/u16-strstr: Likewise.
16645         * modules/unistr/u16-strtok: Likewise.
16646         * modules/unistr/u16-to-u32: Likewise.
16647         * modules/unistr/u16-to-u8: Likewise.
16648         * modules/unistr/u16-uctomb: Likewise.
16649         * modules/unistr/u32-check: Likewise.
16650         * modules/unistr/u32-chr: Likewise.
16651         * modules/unistr/u32-cmp: Likewise.
16652         * modules/unistr/u32-cmp2: Likewise.
16653         * modules/unistr/u32-cpy: Likewise.
16654         * modules/unistr/u32-cpy-alloc: Likewise.
16655         * modules/unistr/u32-endswith: Likewise.
16656         * modules/unistr/u32-mblen: Likewise.
16657         * modules/unistr/u32-mbsnlen: Likewise.
16658         * modules/unistr/u32-mbtouc: Likewise.
16659         * modules/unistr/u32-mbtouc-unsafe: Likewise.
16660         * modules/unistr/u32-mbtoucr: Likewise.
16661         * modules/unistr/u32-move: Likewise.
16662         * modules/unistr/u32-next: Likewise.
16663         * modules/unistr/u32-prev: Likewise.
16664         * modules/unistr/u32-set: Likewise.
16665         * modules/unistr/u32-startswith: Likewise.
16666         * modules/unistr/u32-stpcpy: Likewise.
16667         * modules/unistr/u32-stpncpy: Likewise.
16668         * modules/unistr/u32-strcat: Likewise.
16669         * modules/unistr/u32-strchr: Likewise.
16670         * modules/unistr/u32-strcmp: Likewise.
16671         * modules/unistr/u32-strcoll: Likewise.
16672         * modules/unistr/u32-strcpy: Likewise.
16673         * modules/unistr/u32-strcspn: Likewise.
16674         * modules/unistr/u32-strdup: Likewise.
16675         * modules/unistr/u32-strlen: Likewise.
16676         * modules/unistr/u32-strmblen: Likewise.
16677         * modules/unistr/u32-strmbtouc: Likewise.
16678         * modules/unistr/u32-strncat: Likewise.
16679         * modules/unistr/u32-strncmp: Likewise.
16680         * modules/unistr/u32-strncpy: Likewise.
16681         * modules/unistr/u32-strnlen: Likewise.
16682         * modules/unistr/u32-strpbrk: Likewise.
16683         * modules/unistr/u32-strrchr: Likewise.
16684         * modules/unistr/u32-strspn: Likewise.
16685         * modules/unistr/u32-strstr: Likewise.
16686         * modules/unistr/u32-strtok: Likewise.
16687         * modules/unistr/u32-to-u16: Likewise.
16688         * modules/unistr/u32-to-u8: Likewise.
16689         * modules/unistr/u32-uctomb: Likewise.
16690         * modules/uniwbrk/u8-wordbreaks: Likewise.
16691         * modules/uniwbrk/u16-wordbreaks: Likewise.
16692         * modules/uniwbrk/u32-wordbreaks: Likewise.
16693         * modules/uniwbrk/ulc-wordbreaks: Likewise.
16694         * modules/uniwbrk/wordbreak-property: Likewise.
16695         * modules/uniwidth/u8-strwidth: Likewise.
16696         * modules/uniwidth/u8-width: Likewise.
16697         * modules/uniwidth/u16-strwidth: Likewise.
16698         * modules/uniwidth/u16-width: Likewise.
16699         * modules/uniwidth/u32-strwidth: Likewise.
16700         * modules/uniwidth/u32-width: Likewise.
16701         * modules/uniwidth/width: Likewise.
16702         * modules/unicase/cased-tests (Makefile.am): Link all test programs
16703         with $(LIBUNISTRING).
16704         * modules/unicase/ignorable-tests: Likewise.
16705         * modules/unicase/locale-language-tests: Likewise.
16706         * modules/unicase/tolower-tests: Likewise.
16707         * modules/unicase/totitle-tests: Likewise.
16708         * modules/unicase/toupper-tests: Likewise.
16709         * modules/unicase/u8-casecmp-tests: Likewise.
16710         * modules/unicase/u8-casecoll-tests: Likewise.
16711         * modules/unicase/u8-casefold-tests: Likewise.
16712         * modules/unicase/u8-is-cased-tests: Likewise.
16713         * modules/unicase/u8-is-casefolded-tests: Likewise.
16714         * modules/unicase/u8-is-lowercase-tests: Likewise.
16715         * modules/unicase/u8-is-titlecase-tests: Likewise.
16716         * modules/unicase/u8-is-uppercase-tests: Likewise.
16717         * modules/unicase/u8-tolower-tests: Likewise.
16718         * modules/unicase/u8-totitle-tests: Likewise.
16719         * modules/unicase/u8-toupper-tests: Likewise.
16720         * modules/unicase/u16-casecmp-tests: Likewise.
16721         * modules/unicase/u16-casecoll-tests: Likewise.
16722         * modules/unicase/u16-casefold-tests: Likewise.
16723         * modules/unicase/u16-is-cased-tests: Likewise.
16724         * modules/unicase/u16-is-casefolded-tests: Likewise.
16725         * modules/unicase/u16-is-lowercase-tests: Likewise.
16726         * modules/unicase/u16-is-titlecase-tests: Likewise.
16727         * modules/unicase/u16-is-uppercase-tests: Likewise.
16728         * modules/unicase/u16-tolower-tests: Likewise.
16729         * modules/unicase/u16-totitle-tests: Likewise.
16730         * modules/unicase/u16-toupper-tests: Likewise.
16731         * modules/unicase/u32-casecmp-tests: Likewise.
16732         * modules/unicase/u32-casecoll-tests: Likewise.
16733         * modules/unicase/u32-casefold-tests: Likewise.
16734         * modules/unicase/u32-is-cased-tests: Likewise.
16735         * modules/unicase/u32-is-casefolded-tests: Likewise.
16736         * modules/unicase/u32-is-lowercase-tests: Likewise.
16737         * modules/unicase/u32-is-titlecase-tests: Likewise.
16738         * modules/unicase/u32-is-uppercase-tests: Likewise.
16739         * modules/unicase/u32-tolower-tests: Likewise.
16740         * modules/unicase/u32-totitle-tests: Likewise.
16741         * modules/unicase/u32-toupper-tests: Likewise.
16742         * modules/unicase/ulc-casecmp-tests: Likewise.
16743         * modules/unicase/ulc-casecoll-tests: Likewise.
16744         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
16745         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
16746         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
16747         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
16748         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
16749         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
16750         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
16751         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
16752         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
16753         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
16754         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
16755         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
16756         * modules/unictype/bidicategory-byname-tests: Likewise.
16757         * modules/unictype/bidicategory-name-tests: Likewise.
16758         * modules/unictype/bidicategory-of-tests: Likewise.
16759         * modules/unictype/bidicategory-test-tests: Likewise.
16760         * modules/unictype/block-list-tests: Likewise.
16761         * modules/unictype/block-of-tests: Likewise.
16762         * modules/unictype/block-test-tests: Likewise.
16763         * modules/unictype/category-C-tests: Likewise.
16764         * modules/unictype/category-Cc-tests: Likewise.
16765         * modules/unictype/category-Cf-tests: Likewise.
16766         * modules/unictype/category-Cn-tests: Likewise.
16767         * modules/unictype/category-Co-tests: Likewise.
16768         * modules/unictype/category-Cs-tests: Likewise.
16769         * modules/unictype/category-L-tests: Likewise.
16770         * modules/unictype/category-Ll-tests: Likewise.
16771         * modules/unictype/category-Lm-tests: Likewise.
16772         * modules/unictype/category-Lo-tests: Likewise.
16773         * modules/unictype/category-Lt-tests: Likewise.
16774         * modules/unictype/category-Lu-tests: Likewise.
16775         * modules/unictype/category-M-tests: Likewise.
16776         * modules/unictype/category-Mc-tests: Likewise.
16777         * modules/unictype/category-Me-tests: Likewise.
16778         * modules/unictype/category-Mn-tests: Likewise.
16779         * modules/unictype/category-N-tests: Likewise.
16780         * modules/unictype/category-Nd-tests: Likewise.
16781         * modules/unictype/category-Nl-tests: Likewise.
16782         * modules/unictype/category-No-tests: Likewise.
16783         * modules/unictype/category-P-tests: Likewise.
16784         * modules/unictype/category-Pc-tests: Likewise.
16785         * modules/unictype/category-Pd-tests: Likewise.
16786         * modules/unictype/category-Pe-tests: Likewise.
16787         * modules/unictype/category-Pf-tests: Likewise.
16788         * modules/unictype/category-Pi-tests: Likewise.
16789         * modules/unictype/category-Po-tests: Likewise.
16790         * modules/unictype/category-Ps-tests: Likewise.
16791         * modules/unictype/category-S-tests: Likewise.
16792         * modules/unictype/category-Sc-tests: Likewise.
16793         * modules/unictype/category-Sk-tests: Likewise.
16794         * modules/unictype/category-Sm-tests: Likewise.
16795         * modules/unictype/category-So-tests: Likewise.
16796         * modules/unictype/category-Z-tests: Likewise.
16797         * modules/unictype/category-Zl-tests: Likewise.
16798         * modules/unictype/category-Zp-tests: Likewise.
16799         * modules/unictype/category-Zs-tests: Likewise.
16800         * modules/unictype/category-and-not-tests: Likewise.
16801         * modules/unictype/category-and-tests: Likewise.
16802         * modules/unictype/category-byname-tests: Likewise.
16803         * modules/unictype/category-name-tests: Likewise.
16804         * modules/unictype/category-none-tests: Likewise.
16805         * modules/unictype/category-of-tests: Likewise.
16806         * modules/unictype/category-or-tests: Likewise.
16807         * modules/unictype/category-test-withtable-tests: Likewise.
16808         * modules/unictype/combining-class-tests: Likewise.
16809         * modules/unictype/ctype-alnum-tests: Likewise.
16810         * modules/unictype/ctype-alpha-tests: Likewise.
16811         * modules/unictype/ctype-blank-tests: Likewise.
16812         * modules/unictype/ctype-cntrl-tests: Likewise.
16813         * modules/unictype/ctype-digit-tests: Likewise.
16814         * modules/unictype/ctype-graph-tests: Likewise.
16815         * modules/unictype/ctype-lower-tests: Likewise.
16816         * modules/unictype/ctype-print-tests: Likewise.
16817         * modules/unictype/ctype-punct-tests: Likewise.
16818         * modules/unictype/ctype-space-tests: Likewise.
16819         * modules/unictype/ctype-upper-tests: Likewise.
16820         * modules/unictype/ctype-xdigit-tests: Likewise.
16821         * modules/unictype/decimal-digit-tests: Likewise.
16822         * modules/unictype/digit-tests: Likewise.
16823         * modules/unictype/mirror-tests: Likewise.
16824         * modules/unictype/numeric-tests: Likewise.
16825         * modules/unictype/property-alphabetic-tests: Likewise.
16826         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
16827         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
16828         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
16829         * modules/unictype/property-bidi-block-separator-tests: Likewise.
16830         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
16831         * modules/unictype/property-bidi-common-separator-tests: Likewise.
16832         * modules/unictype/property-bidi-control-tests: Likewise.
16833         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
16834         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
16835         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
16836         * modules/unictype/property-bidi-european-digit-tests: Likewise.
16837         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
16838         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
16839         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
16840         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
16841         * modules/unictype/property-bidi-pdf-tests: Likewise.
16842         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
16843         * modules/unictype/property-bidi-whitespace-tests: Likewise.
16844         * modules/unictype/property-byname-tests: Likewise.
16845         * modules/unictype/property-combining-tests: Likewise.
16846         * modules/unictype/property-composite-tests: Likewise.
16847         * modules/unictype/property-currency-symbol-tests: Likewise.
16848         * modules/unictype/property-dash-tests: Likewise.
16849         * modules/unictype/property-decimal-digit-tests: Likewise.
16850         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
16851         * modules/unictype/property-deprecated-tests: Likewise.
16852         * modules/unictype/property-diacritic-tests: Likewise.
16853         * modules/unictype/property-extender-tests: Likewise.
16854         * modules/unictype/property-format-control-tests: Likewise.
16855         * modules/unictype/property-grapheme-base-tests: Likewise.
16856         * modules/unictype/property-grapheme-extend-tests: Likewise.
16857         * modules/unictype/property-grapheme-link-tests: Likewise.
16858         * modules/unictype/property-hex-digit-tests: Likewise.
16859         * modules/unictype/property-hyphen-tests: Likewise.
16860         * modules/unictype/property-id-continue-tests: Likewise.
16861         * modules/unictype/property-id-start-tests: Likewise.
16862         * modules/unictype/property-ideographic-tests: Likewise.
16863         * modules/unictype/property-ids-binary-operator-tests: Likewise.
16864         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
16865         * modules/unictype/property-ignorable-control-tests: Likewise.
16866         * modules/unictype/property-iso-control-tests: Likewise.
16867         * modules/unictype/property-join-control-tests: Likewise.
16868         * modules/unictype/property-left-of-pair-tests: Likewise.
16869         * modules/unictype/property-line-separator-tests: Likewise.
16870         * modules/unictype/property-logical-order-exception-tests: Likewise.
16871         * modules/unictype/property-lowercase-tests: Likewise.
16872         * modules/unictype/property-math-tests: Likewise.
16873         * modules/unictype/property-non-break-tests: Likewise.
16874         * modules/unictype/property-not-a-character-tests: Likewise.
16875         * modules/unictype/property-numeric-tests: Likewise.
16876         * modules/unictype/property-other-alphabetic-tests: Likewise.
16877         * modules/unictype/property-other-default-ignorable-code-point-tests:
16878         Likewise.
16879         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
16880         * modules/unictype/property-other-id-continue-tests: Likewise.
16881         * modules/unictype/property-other-id-start-tests: Likewise.
16882         * modules/unictype/property-other-lowercase-tests: Likewise.
16883         * modules/unictype/property-other-math-tests: Likewise.
16884         * modules/unictype/property-other-uppercase-tests: Likewise.
16885         * modules/unictype/property-paired-punctuation-tests: Likewise.
16886         * modules/unictype/property-paragraph-separator-tests: Likewise.
16887         * modules/unictype/property-pattern-syntax-tests: Likewise.
16888         * modules/unictype/property-pattern-white-space-tests: Likewise.
16889         * modules/unictype/property-private-use-tests: Likewise.
16890         * modules/unictype/property-punctuation-tests: Likewise.
16891         * modules/unictype/property-quotation-mark-tests: Likewise.
16892         * modules/unictype/property-radical-tests: Likewise.
16893         * modules/unictype/property-sentence-terminal-tests: Likewise.
16894         * modules/unictype/property-soft-dotted-tests: Likewise.
16895         * modules/unictype/property-space-tests: Likewise.
16896         * modules/unictype/property-terminal-punctuation-tests: Likewise.
16897         * modules/unictype/property-test-tests: Likewise.
16898         * modules/unictype/property-titlecase-tests: Likewise.
16899         * modules/unictype/property-unassigned-code-value-tests: Likewise.
16900         * modules/unictype/property-unified-ideograph-tests: Likewise.
16901         * modules/unictype/property-uppercase-tests: Likewise.
16902         * modules/unictype/property-variation-selector-tests: Likewise.
16903         * modules/unictype/property-white-space-tests: Likewise.
16904         * modules/unictype/property-xid-continue-tests: Likewise.
16905         * modules/unictype/property-xid-start-tests: Likewise.
16906         * modules/unictype/property-zero-width-tests: Likewise.
16907         * modules/unictype/scripts-tests: Likewise.
16908         * modules/unictype/syntax-c-ident-tests: Likewise.
16909         * modules/unictype/syntax-c-whitespace-tests: Likewise.
16910         * modules/unictype/syntax-java-ident-tests: Likewise.
16911         * modules/unictype/syntax-java-whitespace-tests: Likewise.
16912         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
16913         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
16914         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
16915         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
16916         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
16917         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
16918         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
16919         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
16920         * modules/uniname/uniname-tests: Likewise.
16921         * modules/uninorm/canonical-decomposition-tests: Likewise.
16922         * modules/uninorm/compat-decomposition-tests: Likewise.
16923         * modules/uninorm/composition-tests: Likewise.
16924         * modules/uninorm/decomposing-form-tests: Likewise.
16925         * modules/uninorm/decomposition-tests: Likewise.
16926         * modules/uninorm/filter-tests: Likewise.
16927         * modules/uninorm/nfc-tests: Likewise.
16928         * modules/uninorm/nfd-tests: Likewise.
16929         * modules/uninorm/nfkc-tests: Likewise.
16930         * modules/uninorm/nfkd-tests: Likewise.
16931         * modules/uninorm/u8-normcmp-tests: Likewise.
16932         * modules/uninorm/u8-normcoll-tests: Likewise.
16933         * modules/uninorm/u16-normcmp-tests: Likewise.
16934         * modules/uninorm/u16-normcoll-tests: Likewise.
16935         * modules/uninorm/u32-normcmp-tests: Likewise.
16936         * modules/uninorm/u32-normcoll-tests: Likewise.
16937         * modules/unistdio/u8-asnprintf-tests: Likewise.
16938         * modules/unistdio/u8-vasnprintf-tests: Likewise.
16939         * modules/unistdio/u8-vasprintf-tests: Likewise.
16940         * modules/unistdio/u8-vsnprintf-tests: Likewise.
16941         * modules/unistdio/u8-vsprintf-tests: Likewise.
16942         * modules/unistdio/u16-asnprintf-tests: Likewise.
16943         * modules/unistdio/u16-vasnprintf-tests: Likewise.
16944         * modules/unistdio/u16-vasprintf-tests: Likewise.
16945         * modules/unistdio/u16-vsnprintf-tests: Likewise.
16946         * modules/unistdio/u16-vsprintf-tests: Likewise.
16947         * modules/unistdio/u32-asnprintf-tests: Likewise.
16948         * modules/unistdio/u32-vasnprintf-tests: Likewise.
16949         * modules/unistdio/u32-vasprintf-tests: Likewise.
16950         * modules/unistdio/u32-vsnprintf-tests: Likewise.
16951         * modules/unistdio/u32-vsprintf-tests: Likewise.
16952         * modules/unistdio/ulc-asnprintf-tests: Likewise.
16953         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
16954         * modules/unistdio/ulc-vasprintf-tests: Likewise.
16955         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
16956         * modules/unistdio/ulc-vsprintf-tests: Likewise.
16957         * modules/unistr/u8-check-tests: Likewise.
16958         * modules/unistr/u8-chr-tests: Likewise.
16959         * modules/unistr/u8-cmp-tests: Likewise.
16960         * modules/unistr/u8-cmp2-tests: Likewise.
16961         * modules/unistr/u8-cpy-alloc-tests: Likewise.
16962         * modules/unistr/u8-cpy-tests: Likewise.
16963         * modules/unistr/u8-mblen-tests: Likewise.
16964         * modules/unistr/u8-mbsnlen-tests: Likewise.
16965         * modules/unistr/u8-mbtouc-tests: Likewise.
16966         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
16967         * modules/unistr/u8-mbtoucr-tests: Likewise.
16968         * modules/unistr/u8-move-tests: Likewise.
16969         * modules/unistr/u8-next-tests: Likewise.
16970         * modules/unistr/u8-prev-tests: Likewise.
16971         * modules/unistr/u8-set-tests: Likewise.
16972         * modules/unistr/u8-stpcpy-tests: Likewise.
16973         * modules/unistr/u8-stpncpy-tests: Likewise.
16974         * modules/unistr/u8-strcat-tests: Likewise.
16975         * modules/unistr/u8-strcmp-tests: Likewise.
16976         * modules/unistr/u8-strcoll-tests: Likewise.
16977         * modules/unistr/u8-strcpy-tests: Likewise.
16978         * modules/unistr/u8-strdup-tests: Likewise.
16979         * modules/unistr/u8-strlen-tests: Likewise.
16980         * modules/unistr/u8-strmblen-tests: Likewise.
16981         * modules/unistr/u8-strmbtouc-tests: Likewise.
16982         * modules/unistr/u8-strncat-tests: Likewise.
16983         * modules/unistr/u8-strncmp-tests: Likewise.
16984         * modules/unistr/u8-strncpy-tests: Likewise.
16985         * modules/unistr/u8-strnlen-tests: Likewise.
16986         * modules/unistr/u8-to-u16-tests: Likewise.
16987         * modules/unistr/u8-to-u32-tests: Likewise.
16988         * modules/unistr/u8-uctomb-tests: Likewise.
16989         * modules/unistr/u16-check-tests: Likewise.
16990         * modules/unistr/u16-chr-tests: Likewise.
16991         * modules/unistr/u16-cmp-tests: Likewise.
16992         * modules/unistr/u16-cmp2-tests: Likewise.
16993         * modules/unistr/u16-cpy-alloc-tests: Likewise.
16994         * modules/unistr/u16-cpy-tests: Likewise.
16995         * modules/unistr/u16-mblen-tests: Likewise.
16996         * modules/unistr/u16-mbsnlen-tests: Likewise.
16997         * modules/unistr/u16-mbtouc-tests: Likewise.
16998         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
16999         * modules/unistr/u16-mbtoucr-tests: Likewise.
17000         * modules/unistr/u16-move-tests: Likewise.
17001         * modules/unistr/u16-next-tests: Likewise.
17002         * modules/unistr/u16-prev-tests: Likewise.
17003         * modules/unistr/u16-set-tests: Likewise.
17004         * modules/unistr/u16-stpcpy-tests: Likewise.
17005         * modules/unistr/u16-stpncpy-tests: Likewise.
17006         * modules/unistr/u16-strcat-tests: Likewise.
17007         * modules/unistr/u16-strcmp-tests: Likewise.
17008         * modules/unistr/u16-strcoll-tests: Likewise.
17009         * modules/unistr/u16-strcpy-tests: Likewise.
17010         * modules/unistr/u16-strdup-tests: Likewise.
17011         * modules/unistr/u16-strlen-tests: Likewise.
17012         * modules/unistr/u16-strmblen-tests: Likewise.
17013         * modules/unistr/u16-strmbtouc-tests: Likewise.
17014         * modules/unistr/u16-strncat-tests: Likewise.
17015         * modules/unistr/u16-strncmp-tests: Likewise.
17016         * modules/unistr/u16-strncpy-tests: Likewise.
17017         * modules/unistr/u16-strnlen-tests: Likewise.
17018         * modules/unistr/u16-to-u32-tests: Likewise.
17019         * modules/unistr/u16-to-u8-tests: Likewise.
17020         * modules/unistr/u16-uctomb-tests: Likewise.
17021         * modules/unistr/u32-check-tests: Likewise.
17022         * modules/unistr/u32-chr-tests: Likewise.
17023         * modules/unistr/u32-cmp-tests: Likewise.
17024         * modules/unistr/u32-cmp2-tests: Likewise.
17025         * modules/unistr/u32-cpy-alloc-tests: Likewise.
17026         * modules/unistr/u32-cpy-tests: Likewise.
17027         * modules/unistr/u32-mblen-tests: Likewise.
17028         * modules/unistr/u32-mbsnlen-tests: Likewise.
17029         * modules/unistr/u32-mbtouc-tests: Likewise.
17030         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
17031         * modules/unistr/u32-mbtoucr-tests: Likewise.
17032         * modules/unistr/u32-move-tests: Likewise.
17033         * modules/unistr/u32-next-tests: Likewise.
17034         * modules/unistr/u32-prev-tests: Likewise.
17035         * modules/unistr/u32-set-tests: Likewise.
17036         * modules/unistr/u32-stpcpy-tests: Likewise.
17037         * modules/unistr/u32-stpncpy-tests: Likewise.
17038         * modules/unistr/u32-strcat-tests: Likewise.
17039         * modules/unistr/u32-strcmp-tests: Likewise.
17040         * modules/unistr/u32-strcoll-tests: Likewise.
17041         * modules/unistr/u32-strcpy-tests: Likewise.
17042         * modules/unistr/u32-strdup-tests: Likewise.
17043         * modules/unistr/u32-strlen-tests: Likewise.
17044         * modules/unistr/u32-strmblen-tests: Likewise.
17045         * modules/unistr/u32-strmbtouc-tests: Likewise.
17046         * modules/unistr/u32-strncat-tests: Likewise.
17047         * modules/unistr/u32-strncmp-tests: Likewise.
17048         * modules/unistr/u32-strncpy-tests: Likewise.
17049         * modules/unistr/u32-strnlen-tests: Likewise.
17050         * modules/unistr/u32-to-u16-tests: Likewise.
17051         * modules/unistr/u32-to-u8-tests: Likewise.
17052         * modules/unistr/u32-uctomb-tests: Likewise.
17053         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
17054         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
17055         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
17056         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
17057         * modules/uniwidth/u8-strwidth-tests: Likewise.
17058         * modules/uniwidth/u8-width-tests: Likewise.
17059         * modules/uniwidth/u16-strwidth-tests: Likewise.
17060         * modules/uniwidth/u16-width-tests: Likewise.
17061         * modules/uniwidth/u32-strwidth-tests: Likewise.
17062         * modules/uniwidth/u32-width-tests: Likewise.
17063         * modules/uniwidth/width-tests: Likewise.
17064
17065 2010-05-18  Richard Jones  <rjones@redhat.com>
17066
17067         doc: users.txt: list hivex
17068         * users.txt: Add hivex.
17069
17070 2010-05-18  Richard Jones  <rjones@redhat.com>
17071
17072         doc: users.txt: list febootstrap
17073         * users.txt: Add febootstrap.
17074
17075 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
17076
17077         bootstrap: fix an error when gnulib is not used as a git submodule
17078         * build-aux/bootstrap (gnulib_path): If its length is zero then
17079         assign "gnulib" to it.
17080         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
17081
17082 2010-05-16  Bruno Haible  <bruno@clisp.org>
17083
17084         Avoid autoconf warnings about AM_ICONV.
17085         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
17086         2.64.
17087
17088 2010-05-16  Bruno Haible  <bruno@clisp.org>
17089
17090         absolute-header: Make the macro usable in more situations.
17091         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
17092         from gl_ABSOLUTE_HEADER.
17093         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
17094
17095 2010-05-16  James Youngman  <jay@gnu.org>
17096
17097         doc: update users.txt
17098         * users.txt: Add CSSC.
17099
17100 2010-05-16  Jim Meyering  <meyering@redhat.com>
17101
17102         init.sh: fix an error in the previous change; add more comments
17103         * tests/init.sh: Compare exit code in loop against 9, not 2.
17104         Patch by Bruno Haible.
17105         Make the two tests more similar by adding an empty "then" clause.
17106         Add comments.
17107
17108         init.sh: avoid unnecessary shell re-exec
17109         * tests/init.sh: Improve the re-exec-required check to first test the
17110         current shell.  If it passes the test, do not search for a shell that
17111         does pass, and do not re-exec.  This test is particularly contorted to
17112         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
17113         of $(...) evokes a syntax error and causes immediate shell exit with
17114         status 2.  Bruno Haible reported that the re-exec made it impossible
17115         to single-step through any init.sh-using script.
17116
17117 2010-05-16  Bruno Haible  <bruno@clisp.org>
17118
17119         Fix collision between gnulib's and libintl's printf replacements.
17120         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
17121         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
17122         (printf): When using GNU C, map the __printf__ function to rpl_printf
17123         via __asm__. When not using GNU C, define rpl_printf instead of
17124         __printf__.
17125         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
17126         commit.
17127         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
17128         commit.
17129         * m4/asm-underscore.m4: New file.
17130         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
17131         * modules/stdio (Files): Add m4/asm-underscore.m4.
17132         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
17133         Reported by Ben Pfaff.
17134
17135 2010-05-16  Bruno Haible  <bruno@clisp.org>
17136
17137         verify: Avoid skipping the test on openSUSE 11.0.
17138         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
17139
17140 2010-05-13  Bruno Haible  <bruno@clisp.org>
17141
17142         Avoid useless warnings from G++.
17143         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
17144         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
17145         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
17146
17147 2010-05-11  Jim Meyering  <meyering@redhat.com>
17148
17149         maint.mk: tweak preceding change
17150         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
17151         regexps tighter by anchoring at EOL, and make the new group "shy"
17152         for slightly decreased overhead.
17153
17154 2010-05-11  Eric Blake  <eblake@redhat.com>
17155
17156         maint.mk: gnulib doesn't guarantee NSIG
17157         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
17158
17159 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
17160
17161         test-pwrite.c: Remove unused variable declaration.
17162         * tests/test-pwrite.c (main): Remove read_buf declaration.
17163
17164         Remove useless test-pwrite.sh file.
17165         * tests/test-pwrite.sh: Delete file.
17166         * modules/pwrite-tests: Remove references.
17167         Reported by Bruno Haible.
17168
17169 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
17170
17171         init.sh: fix a typo
17172         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
17173
17174 2010-05-10  Jim Meyering  <meyering@redhat.com>
17175
17176         maint.mk: avoid using a temporary file in the always-defined-macros check
17177         * top/maint.mk (.re-defmac): Remove rule.
17178         (gl_trap_): Remove definition.
17179         (sc_prohibit_always-defined_macros): Rewrite not to create and
17180         depend on a temporary file.  Instead, depend on GNU grep's ability
17181         to read a list of regular expressions from stdin when given "-f -".
17182
17183 2010-05-09  Bruno Haible  <bruno@clisp.org>
17184
17185         Update to GNU gettext 0.18, part 1.
17186         * m4/gettext.m4: Update to GNU gettext 0.18.
17187         * m4/intl.m4: Likewise.
17188         * m4/po.m4: Likewise.
17189         * modules/gettext (Files): Add m4/fcntl-o.m4.
17190         (configure.ac): Require gettext infrastructure from version 0.18.
17191
17192 2010-05-09  Jim Meyering  <meyering@redhat.com>
17193
17194         init.sh: enable MALLOC_PERTURB_
17195         * tests/init.sh: Enable glibc's malloc-perturbing option.
17196
17197         maint.mk: improve sc_cross_check_PATH_usage_in_tests
17198         With my recent change in init.sh from the two-line form:
17199             -#   : ${srcdir=.}
17200             -#   . "$srcdir/init.sh"; path_prepend_ .
17201             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
17202         I noticed that using the one-line form would cause this test
17203         to fail with a false-positive, or to stop working altogether,
17204         depending on whether help-version changed or all the tests did.
17205         * top/maint.mk (_hv_regex): Remove this definition.
17206         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
17207         (_hv_regex_strong): Use a stronger regex to check for conformance.
17208         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
17209         Give a separate diagnostic for lack of conforming use.
17210
17211         maint.mk: prohibit definition of symbols defined by gnulib
17212         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
17213         definition of symbols defined by gnulib.
17214
17215 2010-05-09  Bruno Haible  <bruno@clisp.org>
17216
17217         acl: Avoid test failure on Cygwin-hosted mingw.
17218         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
17219
17220 2010-05-09  Bruno Haible  <bruno@clisp.org>
17221
17222         error: Use system's fcntl function.
17223         * lib/error.c (fcntl): Undefine.
17224
17225 2010-05-09  Jim Meyering  <meyering@redhat.com>
17226
17227         verify: adjust formatting to be more consistent
17228         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
17229         argument-list '('s, and after one comma.
17230
17231 2010-05-09  Bruno Haible  <bruno@clisp.org>
17232
17233         error: More reliable output on mingw.
17234         * lib/error.c: Include <windows.h>.
17235         (is_open): New function.
17236         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
17237         defined.
17238
17239 2010-05-09  Bruno Haible  <bruno@clisp.org>
17240
17241         vasnprintf: Fix syntax errors in libintl build on mingw.
17242         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
17243         pad_ourselves and prec_ourselves after use.
17244
17245 2010-05-08  Bruno Haible  <bruno@clisp.org>
17246
17247         * lib/config.charset: Update comments for Cygwin 1.7.
17248         * lib/localcharset.c: Likewise.
17249
17250 2010-05-07  Jim Meyering  <meyering@redhat.com>
17251
17252         init.sh: improve comments
17253         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
17254         . "${srcdir=.}/init.sh"; path_prepend_ .
17255         Add a note about path_prepend_ and the alternative of using
17256         TESTS_ENVIRONMENT.
17257
17258 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
17259
17260         exclude: Unescape hashed patterns in wildcard mode.
17261         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
17262         to the hash list.
17263         * tests/test-exclude8.sh: New test case.
17264         * modules/exclude-tests: Add new test.
17265
17266 2010-05-05  Eric Blake  <eblake@redhat.com>
17267
17268         verify: automate tests
17269         * modules/verify-tests: New module.
17270         * tests/test-verify.sh: New file.
17271         * tests/test-verify.c: Guard each negative test with a unique id.
17272         Also avoid warning about unused left hand of comma expressions.
17273
17274 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
17275
17276         Further improvements to verify.h, suggested by Eric Blake.
17277         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
17278         the GL_* versions, to avoid collision with OpenGL.
17279         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
17280         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
17281         than testing merely whether it's defined.
17282
17283         Modify verify.h to pacify gcc -Wredundant_decls.
17284         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
17285         These use the prefix "GL_" since they're likely to be useful elsewhere.
17286         We may need to break them out into a different .h file.
17287         (__COUNTER__): Define to 0 if the compiler doesn't support it.
17288         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
17289         of verify_function__.
17290
17291 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
17292
17293         Tests for module pwrite.
17294         * modules/pwrite-tests: New file.
17295         * tests/test-pwrite.sh: New file.
17296         * tests/test-pwrite.c: New file.
17297
17298         New module pwrite.
17299         * lib/unistd.in.h (pwrite): New declaration.
17300         * lib/pwrite.c: New file, from glibc with modifications.
17301         * m4/pwrite.m4: New file.
17302         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
17303         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
17304         REPLACE_PWRITE.
17305         * modules/pwrite: New file.
17306         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
17307         REPLACE_PWRITE.
17308         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
17309         * doc/posix-functions/pwrite.texi: Mention the new module.
17310
17311 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
17312
17313         pread: Update documentation.
17314         * doc/posix-functions/pread.texi: Mention the 'pread' module.
17315
17316 2010-05-04  Eric Blake  <eblake@redhat.com>
17317
17318         docs: update cygwin progress
17319         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
17320         this bug.
17321         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
17322         Added in cygwin 1.7.2.
17323         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
17324         Likewise.
17325         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
17326         Likewise.
17327         * doc/glibc-functions/dup3.texi (dup3): Likewise.
17328         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
17329         * doc/glibc-functions/accept4.texi (accept4): Likewise.
17330         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
17331         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
17332         Mention nproc module.
17333         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
17334         bug in cygwin 1.7.5 addition.
17335         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
17336         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
17337         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
17338         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
17339         1.7.5.
17340         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
17341         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
17342         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
17343         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
17344         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
17345         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
17346         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
17347         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
17348         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
17349         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
17350         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
17351         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
17352         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
17353         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
17354         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
17355         Likewise.
17356         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
17357         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
17358         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
17359         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
17360         Likewise.
17361         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
17362         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
17363         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
17364         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
17365         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
17366         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
17367         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
17368         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
17369         Likewise.
17370         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
17371         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
17372         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
17373         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
17374         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
17375         Likewise.
17376         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
17377         Likewise.
17378         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
17379         Likewise.
17380         * doc/glibc-functions/xdrrec_endofrecord.texi
17381         (xdrrec_endofrecord): Likewise.
17382         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
17383         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
17384         Likewise.
17385         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
17386         Likewise.
17387
17388 2010-05-04  Jim Meyering  <meyering@redhat.com>
17389
17390         gendocs.sh: make its "-s FILE" option more useful
17391         * build-aux/gendocs.sh: When honoring the -s FILE option, update
17392         $PACKAGE to reflect the probably-different basename of "FILE".
17393
17394 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
17395
17396         bootstrap: don't ignore download_po_files failure
17397         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
17398         failure.
17399
17400 2010-05-03  Jim Meyering  <meyering@redhat.com>
17401
17402         maint.mk: allow to pass options to gendocs.sh
17403         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
17404         (gendocs_options_): New overridable variable.
17405
17406         gnu-web-doc-update: don't ignore configure or build failure
17407         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
17408
17409         announce-gen: backslash-escape '@'s in --help output
17410         * build-aux/announce-gen: Fix syntax errors.
17411
17412         maint.mk, announce-gen: allow project-specific announcement mail headers
17413         * top/maint.mk (translation_project_): Define default.
17414         (announcement_Cc_, announcement_mail_headers_): Likewise.
17415         (announcement): Invoke announce-gen with new --mail-headers option.
17416         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
17417
17418         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
17419         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
17420         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
17421         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
17422         line in the "err2" output file when running "make check" in verbose
17423         mode (i.e., with set -x enabled).
17424
17425 2010-05-03  Bruno Haible  <bruno@clisp.org>
17426
17427         wctob: Fix for weird platforms.
17428         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
17429         argument value.
17430
17431 2010-05-03  Jim Meyering  <meyering@redhat.com>
17432
17433         maint.mk: prohibit unwarranted use of <strings.h>
17434         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
17435         strings.h in a file that does not also use strcasecmp, strncasecmp,
17436         ffs or ffsll.
17437
17438         maint.mk: remove obsolete comments
17439         * top/maint.mk: Remove stale, commented-out rules.
17440
17441 2010-05-02  Bruno Haible  <bruno@clisp.org>
17442
17443         wcwidth: Declare also when it's aliased.
17444         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
17445         macro.
17446
17447 2010-05-02  Bruno Haible  <bruno@clisp.org>
17448
17449         Fix regression from 2010-04-25.
17450         * gnulib-tool (func_modules_transitive_closure): Check the status of
17451         all modules, not only of the tests that are of the form foo-tests where
17452         foo is a module.
17453
17454 2010-05-02  Bruno Haible  <bruno@clisp.org>
17455
17456         wctob: Work around nasty Cygwin 1.7.2 bug.
17457         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
17458         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
17459
17460 2010-05-01  Bruno Haible  <bruno@clisp.org>
17461
17462         fpurge: Sharper test.
17463         * tests/test-fpurge.c (main): Add one more ftell check.
17464         * modules/fpurge-tests (Depends-on): Add ftell.
17465         Suggested by Eric Blake.
17466
17467 2010-05-01  Bruno Haible  <bruno@clisp.org>
17468
17469         ftello: Another test.
17470         * tests/test-ftello3.c: New file.
17471         * modules/ftello-tests (Files): Add it.
17472         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
17473         MOSTLYCLEANFILES.
17474
17475         ftell: Another test.
17476         * tests/test-ftell3.c: New file.
17477         * modules/ftell-tests (Files): Add it.
17478         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
17479         MOSTLYCLEANFILES.
17480
17481 2010-05-01  Bruno Haible  <bruno@clisp.org>
17482
17483         ftell, ftello: Work around Solaris bug.
17484         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
17485         * lib/ftello.c: Include stdio-impl.h.
17486         (ftello): On Solaris, when _IOWRT is set, compute the result without
17487         looking at _IOREAD.
17488         * modules/ftello (Files): Add lib/stdio-impl.h.
17489         * doc/posix-functions/ftell.texi: Mention Solaris bug.
17490         * doc/posix-functions/ftello.texi: Likewise.
17491         Reported by Eric Blake.
17492
17493 2010-05-01  Bruno Haible  <bruno@clisp.org>
17494
17495         freading: Adapt to special meaning of _IOREAD flag on Solaris.
17496         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
17497         the _IOWRT flag is also set.
17498
17499 2010-05-01  Bruno Haible  <bruno@clisp.org>
17500
17501         Fix doc about a HP-UX stdio bug.
17502         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
17503         * doc/posix-functions/ftello.texi: Likewise.
17504
17505 2010-05-01  Bruno Haible  <bruno@clisp.org>
17506
17507         lseek test: Fix failure on Solaris.
17508         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
17509         output.
17510
17511 2010-04-30  Jim Meyering  <meyering@redhat.com>
17512
17513         bootstrap: don't ignore failure to generate po*/Makevars
17514         * build-aux/bootstrap (with_gettext): Don't ignore failure
17515         to create po/Makevars or runtime-po/Makevars.
17516
17517 2010-04-29  Eric Blake  <eblake@redhat.com>
17518
17519         headers: relax license to LGPLv2+
17520         * modules/fcntl-h (License): Relax license.
17521         * modules/getopt-posix (License): Likewise.
17522         * modules/locale (License): Likewise.
17523         * modules/math (License): Likewise.
17524         * modules/pty (License): Likewise.
17525         * modules/sched (License): Likewise.
17526         * modules/search (License): Likewise.
17527         * modules/spawn (License): Likewise.
17528         * modules/stdarg (License): Likewise.
17529         * modules/sysexits (License): Likewise.
17530
17531 2010-04-29  Jim Meyering  <meyering@redhat.com>
17532
17533         inttypes: relax license to LGPLv2+
17534         * modules/inttypes (License): Relax license.
17535
17536 2010-04-29  Simon Josefsson  <simon@josefsson.org>
17537
17538         * top/maint.mk (indent): Run twice to produce idempotent results.
17539
17540 2010-04-28  Bruno Haible  <bruno@clisp.org>
17541
17542         getdate: Generate getdate.c in the source directory.
17543         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
17544         MOSTLYCLEANFILES.
17545         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
17546
17547 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
17548
17549         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
17550         is not declared as a const *; avoid warnings in that case.
17551
17552 2010-04-28  Eric Blake  <eblake@redhat.com>
17553
17554         canonicalize-lgpl: avoid compiler warning
17555         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
17556         declaration' / 'extraneous semicolon' warning with some compilers.
17557         Reported by Andreas Gruenbacher.
17558
17559 2010-04-28  Jim Meyering  <meyering@redhat.com>
17560
17561         init.sh: ensure a more reliable exit status when exiting via trap
17562         * tests/init.sh (setup_): Don't rely on $? in signal handler.
17563         Inspired by patches from Dmitry V. Levin.
17564         Also trap on signal 3 (SIGQUIT).
17565
17566 2010-04-27  Bruno Haible  <bruno@clisp.org>
17567
17568         Update doc about utimes().
17569         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
17570         'utimens' module.
17571         Reported by Andreas Gruenbacher <agruen@suse.de>.
17572
17573 2010-04-27  Eric Blake  <eblake@redhat.com>
17574
17575         full-read, full-write: relax license
17576         * modules/full-read (License): Drop to LGPLv2+.
17577         * modules/full-write (License): Likewise.
17578         * modules/safe-read (License): Likewise.
17579         * modules/safe-write (License): Likewise.
17580
17581         pthread: mention library for linking
17582         * modules/pthread (Link): Mention $(LIB_PTHREAD).
17583
17584 2010-04-27  Jim Meyering  <meyering@redhat.com>
17585
17586         maint.mk: fix a bug introduced in last change
17587         * top/maint.mk (gl_assured_headers_): Now that all names are on
17588         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
17589         is not anchored to end of word, it should be adequate.
17590
17591         maint.mk: avoid side-effect in latest syntax-check
17592         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
17593         to run commands via $(shell...), and hence to incur cost only when
17594         the new rule is actually run.
17595
17596         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
17597         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
17598         and use that to create a regexp used to detect all #if HAVE_..._H uses.
17599         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
17600         (gl_assured_headers_, az_, AZ_): Define.
17601         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
17602
17603 2010-04-26  Jim Meyering  <jim@meyering.net>
17604             Bruno Haible  <bruno@clisp.org>
17605
17606         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
17607         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
17608         Prompted by an exchange with Gilles Espinasse.
17609
17610 2010-04-26  Jim Meyering  <meyering@redhat.com>
17611
17612         git-version-gen: aesthetic tweak
17613         * build-aux/git-version-gen: Use "$nl" rather than a literal,
17614         so that the command remains on a single line.
17615
17616 2010-04-26  Eric Blake  <eblake@redhat.com>
17617
17618         git-version-gen: allow use on EBCDIC hosts
17619         * build-aux/git-version-gen (dirty): Use literal rather than tying
17620         ourselves to ascii.
17621         Reported by Steve Goetze.
17622
17623 2010-04-25  Bruno Haible  <bruno@clisp.org>
17624
17625         netdb: Add support for GNULIB_POSIXCHECK.
17626         * lib/netdb.in.h: Include warn-on-use.h.
17627         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
17628         functions are used when GNULIB_POSIXCHECK is defined and the
17629         getaddrinfo module is not in use.
17630         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
17631         freeaddrinfo, gai_strerror, getnameinfo are declared.
17632         * modules/netdb (Depends-on): Add warn-on-use.
17633         (Makefile.am): Include warn-on-use.h in netdb.h.
17634
17635 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
17636
17637         build: avoid "make check" failure without .git/ directory
17638         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
17639         there is no .git/ directory.
17640
17641 2010-04-25  Bruno Haible  <bruno@clisp.org>
17642
17643         ptsname: Fix misuse of ttyname_r.
17644         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
17645         of errno.
17646
17647 2010-04-25  Bruno Haible  <bruno@clisp.org>
17648
17649         ttyname_r: Make it work on Solaris 10.
17650         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
17651         if the system function has the POSIX declaration. Test whether the
17652         function fails if the buffer is less than 128 bytes large.
17653         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
17654         system's ttyname_r function. Provide a reasonably large buffer.
17655         * modules/ttyname_r (Depends-on): Add extensions.
17656         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
17657
17658 2010-04-25  Bruno Haible  <bruno@clisp.org>
17659
17660         Use the 'extensions' module for some more functions on Solaris.
17661         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
17662         module.
17663         * doc/posix-functions/ctime_r.texi: Likewise.
17664         * doc/posix-functions/getgrgid_r.texi: Likewise.
17665         * doc/posix-functions/getgrnam_r.texi: Likewise.
17666         * doc/posix-functions/getpwnam_r.texi: Likewise.
17667         * doc/posix-functions/getpwuid_r.texi: Likewise.
17668         * doc/posix-functions/readdir_r.texi: Likewise.
17669         * doc/posix-functions/sigwait.texi: Likewise.
17670         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
17671         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
17672
17673 2010-04-25  Bruno Haible  <bruno@clisp.org>
17674
17675         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
17676         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
17677         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
17678         * lib/ttyname_r.c: Include <limits.h>.
17679         (ttyname_r): Define using the system's ttyname_r function, if it exists
17680         and not on Solaris.
17681         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
17682         set.
17683         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
17684         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
17685         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
17686         Reported by Simon Josefsson.
17687
17688 2010-04-25  Bruno Haible  <bruno@clisp.org>
17689
17690         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
17691         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
17692         * doc/posix-functions/ctime_r.texi: Likewise.
17693         * doc/posix-functions/getgrgid_r.texi: Likewise.
17694         * doc/posix-functions/getgrnam_r.texi: Likewise.
17695         * doc/posix-functions/getlogin_r.texi: Likewise.
17696         * doc/posix-functions/getpwnam_r.texi: Likewise.
17697         * doc/posix-functions/getpwuid_r.texi: Likewise.
17698         * doc/posix-functions/readdir_r.texi: Likewise.
17699         * doc/posix-functions/sigwait.texi: Likewise.
17700         * doc/posix-functions/ttyname_r.texi: Likewise.
17701         Reported by Simon Josefsson.
17702
17703 2010-04-25  Bruno Haible  <bruno@clisp.org>
17704
17705         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
17706         * gnulib-tool (func_usage): Document that --with-*-tests options apply
17707         also to --create-testdir.
17708         (func_acceptable): Don't consider the status of *-tests modules here.
17709         (func_modules_transitive_closure): Consider it here, before including a
17710         test module.
17711         (func_import, func_create_testdir): Set inc_all_direct_tests,
17712         inc_all_indirect_tests.
17713         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
17714         --create-testdir and --create-megatestdir.
17715
17716 2010-04-25  Bruno Haible  <bruno@clisp.org>
17717
17718         gnulib-tool: Add --without-*-tests options.
17719         * gnulib-tool (func_usage): Document the --without-*-tests options.
17720         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
17721         excl_unportable_tests): New variables.
17722         Fail if they are specified with --import or --update.
17723         (func_acceptable): Respect the excl_*_tests variables.
17724         (func_import): Set the excl_*_tests variables to empty.
17725
17726 2010-04-25  Simon Josefsson  <simon@josefsson.org>
17727             Bruno Haible  <bruno@clisp.org>
17728
17729         Work around a MacOS X 10.4 bug with openpty.
17730         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
17731         * tests/test-openpty.c (main): Close the master side explicitly.
17732
17733 2010-04-25  Bruno Haible  <bruno@clisp.org>
17734
17735         strnlen: Fix a C++ test error on MacOS X and Solaris.
17736         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
17737         the function is not declared.
17738         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
17739         Simon Josefsson.
17740
17741 2010-04-24  Bruno Haible  <bruno@clisp.org>
17742
17743         Avoid a gcc warning.
17744         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
17745         of correct type for %08lx directive.
17746         Reported by Eric Blake.
17747
17748 2010-04-24  Bruno Haible  <bruno@clisp.org>
17749
17750         vasnprintf: Correct errno value in case of out-of-memory.
17751         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
17752         or sprintf. Use the errno value from SNPRINTF or sprintf.
17753         Reported by Ian Beckwith <ianb@erislabs.net>.
17754
17755 2010-04-24  Bruno Haible  <bruno@clisp.org>
17756
17757         ansi-c++-opt: Find correct compiler when cross-compiling.
17758         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
17759         AC_CHECK_PROGS.
17760         Reported by Simon Josefsson.
17761
17762 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
17763
17764         vc-list-files: Add support for subversion
17765         * build-aux/vc-list-files: Use "svn list" to generate the list of
17766         files controlled by subversion.
17767
17768 2010-04-23  Jim Meyering  <meyering@redhat.com>
17769
17770         vc-list-files tests: convert to use init.sh
17771         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
17772         path_prepend_.
17773         Use Exit, not exit.
17774         Use skip_ rather than open coding it.
17775         Remove trap set-up and compare definitions.
17776         * tests/test-vc-list-files-git.sh: Likewise.
17777         * modules/vc-list-files-tests (Files): Add tests/init.sh.
17778
17779 2010-04-22  Simon Josefsson  <simon@josefsson.org>
17780
17781         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
17782         backup files.
17783
17784 2010-04-21  Simon Josefsson  <simon@josefsson.org>
17785
17786         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
17787
17788 2010-04-20  Eric Blake  <eblake@redhat.com>
17789
17790         tests: be robust to ignored SIGPIPE
17791         * tests/test-select-in.sh: Consume all output.
17792         * tests/test-lseek.sh: Check correct exit status, while avoiding
17793         EPIPE.
17794
17795 2010-04-20  Simon Josefsson  <simon@josefsson.org>
17796             Bruno Haible  <bruno@clisp.org>
17797
17798         visibility: Don't use -fvisibility if it leads to a warning.
17799         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
17800         yes, don't pretend that visibility works if it leads to a warning.
17801         Reported by Mike Gran <spk121@yahoo.com>.
17802
17803 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
17804
17805         * build-aux/bootstrap: Use "git -h" for testing for supported options
17806         instead of "git --help".  The short-form option only shows a summary,
17807         and doesn't layout the full man page.  Grep for the full option name
17808         in the summary, too.
17809
17810 2010-04-19  Bruno Haible  <bruno@clisp.org>
17811
17812         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
17813         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
17814         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
17815         mention of RELOCATABLE_STRIP.
17816         Reported by Sylvain Beucler <beuc@beuc.net>.
17817
17818 2010-04-19  Bruno Haible  <bruno@clisp.org>
17819
17820         * lib/diffseq.h: Fix typo in comment.
17821         Reported by Eric Blake.
17822
17823 2010-04-19  Bruno Haible  <bruno@clisp.org>
17824
17825         ioctl: Move autoconf macro to a .m4 file.
17826         * m4/ioctl.m4: New file, extracted from modules/ioctl.
17827         * modules/ioctl (Files): Add it.
17828         (configure.ac): Simply invoke gl_FUNC_IOCTL.
17829         Reported by Ian Beckwith <ianb@erislabs.net>.
17830
17831 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
17832             Bruno Haible  <bruno@clisp.org>
17833
17834         diffseq: Accommodate use-case with abstract arrays.
17835         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
17836         is not defined.
17837         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
17838         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
17839
17840 2010-04-18  Bruno Haible  <bruno@clisp.org>
17841
17842         * doc/posix-headers/stdbool.texi: More precise wording.
17843
17844 2010-04-17  Jim Meyering  <meyering@redhat.com>
17845
17846         maint.mk: use gnu-style indentation in an embedded perl script
17847         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
17848         Rename variable: s/two/last_two_bytes/
17849
17850 2010-04-16  Eric Blake  <eblake@redhat.com>
17851
17852         test-stdbool: skip test that fails with Solaris CC
17853         * tests/test-stdbool.c (f): Skip test that causes compilation
17854         error under buggy C++ compiler.
17855         * lib/stdbool.in.h: Document the limitation.
17856         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
17857
17858         setenv: allow compilation with C++
17859         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
17860         register keyword.
17861
17862         stdint: allow test to pass with C++
17863         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
17864
17865         getopt: allow compilation with C++
17866         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
17867         struct.
17868         * lib/getopt.c (_getopt_internal_r): Use correct type.
17869         Reported by Dagobert Michelson, via Joel E. Denny.
17870
17871 2010-04-16  Bruno Haible  <bruno@clisp.org>
17872
17873         Override netdb.h always.
17874         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
17875         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
17876         Reported by Ludovic Courtès <ludo@gnu.org>.
17877
17878 2010-04-15  Bruno Haible  <bruno@clisp.org>
17879
17880         openpty: Fix mistake from 2010-03-21.
17881         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
17882         Reported by Simon Josefsson.
17883
17884 2010-04-15  Eric Blake  <eblake@redhat.com>
17885
17886         test-forkpty: fix expected signature
17887         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
17888         Reported by Simon Josefsson.
17889
17890 2010-04-15  Jim Meyering  <meyering@redhat.com>
17891
17892         maint.mk: texinfo_suffix_re_: correct the default regexp
17893         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
17894
17895         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
17896         make it configurable via texinfo_suffix_re_.
17897
17898 2010-04-14  Eric Blake  <eblake@redhat.com>
17899
17900         strtok_r: relax license to LGPLv2+
17901         * modules/strtok_r (License): Relax license.
17902         Reported by Matthias Bolte.
17903
17904 2010-04-14  Simon Josefsson  <simon@josefsson.org>
17905
17906         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
17907         version 1.4.4 by default instead of requiring the libgcrypt
17908         version used during build.  This makes it possible to use the
17909         application with older but still binary compatible libgcrypt
17910         versions.
17911
17912 2010-04-13  Eric Blake  <eblake@redhat.com>
17913
17914         getopt-gnu: match recent glibc fixes and posix ruling
17915         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
17916         '+' handling, when requesting extensions.
17917         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
17918         'W;' handling.
17919         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
17920         * doc/posix-functions/getopt.texi (getopt): Document this.
17921         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
17922         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
17923         Likewise.
17924
17925         getopt: merge bug fixes from glibc
17926         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
17927         diagnostics.  Honor '+:' correctly.  Reject ';'.
17928
17929         getopt-posix: detect MacOS bug
17930         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
17931         optind when missing a required argument.
17932         * doc/posix-functions/getopt.texi (getopt): Document the bug.
17933         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
17934         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
17935         Likewise.
17936
17937         getopt-posix: avoid spurious failure on Solaris
17938         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
17939         an indicator that setting optind=1 is sufficient for reset.
17940
17941         getopt-posix: avoid spurious failure on FreeBSD
17942         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
17943         in POSIX mode, since the m4 test uses it.
17944
17945         gnulib-tool: silence warning on BSD sh
17946         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
17947
17948 2010-04-13  Jim Meyering  <meyering@redhat.com>
17949
17950         doc: users.txt: GNU patch now uses gnulib
17951         * users.txt: Add patch.
17952
17953 2010-04-12  Jim Meyering  <meyering@redhat.com>
17954
17955         maint.mk: generate more concise timing data for syntax-check rules
17956         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
17957         " done" from each line that reports a syntax-check test duration.
17958
17959 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
17960
17961         git-version-gen: use "git update-index..." rather than "git status"
17962         * build-aux/git-version-gen: Use git update-index --refresh, not
17963         "git status".  With some versions of git, "git status" would fail
17964         to update the index and result in an unwarranted "-dirty" suffix.
17965
17966 2010-04-11  Jim Meyering  <meyering@redhat.com>
17967
17968         openat: correct formatting (no semantic change)
17969         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
17970         Suggested by Bruno Haible.
17971
17972 2010-04-11  Bruno Haible  <bruno@clisp.org>
17973
17974         Stricter declaration checking in testdirs.
17975         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
17976         If for_tests is true, augment AM_CPPFLAGS to define
17977         GNULIB_STRICT_CHECKING.
17978         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
17979         GNULIB_STRICT_CHECKING is defined, verify that the function is
17980         declared.
17981
17982 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
17983             Bruno Haible  <bruno@clisp.org>
17984
17985         libunistring: Improve configure output.
17986         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
17987         Don't say "consider installing GNU libunistring" when checking again
17988         with libiconv.
17989
17990 2010-04-11  Bruno Haible  <bruno@clisp.org>
17991
17992         libunistring: Correct value of $LTLIBUNISTRING.
17993         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
17994         correct the value of $LTLIBUNISTRING.
17995
17996 2010-04-11  Bruno Haible  <bruno@clisp.org>
17997
17998         havelib: Add static libraries to LIBS in the right order.
17999         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
18000         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
18001
18002 2010-04-11  Bruno Haible  <bruno@clisp.org>
18003
18004         libunistring: Detect libunistring also when it depends on libiconv.
18005         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
18006         the second AC_LIB_HAVE_LINKFLAGS invocation.
18007
18008 2010-04-11  James Youngman  <jay@gnu.org>
18009
18010         close-stream: declare local scalars to be "const"
18011         * lib/close-stream.c (close_stream): Make boolean variables const
18012         to document the fact that we set but do not change them.
18013
18014 2010-04-11  Bruno Haible  <bruno@clisp.org>
18015
18016         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
18017
18018 2010-04-11  Jim Meyering  <meyering@redhat.com>
18019
18020         maint.mk: don't include dist-check.mk
18021         * top/maint.mk: Remove bogus include directive.
18022
18023         maint.mk: improve empty-line-at-EOF check
18024         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
18025         solution, rather than tail+Perl-based one.  The latter would read
18026         a few kilobytes from the end of each file, and did not handle empty
18027         files properly.
18028
18029         maint.mk: print the elapsed time for each syntax-check rule
18030         * top/maint.mk (sc_m_rules_): Save start time in a file.
18031         (sc_z_rules_): New rules: remove temp file and print elapsed time.
18032         (local-check): Interpose the .z rules
18033
18034 2010-04-11  Jim Meyering  <meyering@redhat.com>
18035
18036         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
18037         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
18038         empty file with one that ends in an empty line.
18039
18040 2010-04-10  Bruno Haible  <bruno@clisp.org>
18041
18042         mkdir: Make it work on mingw64.
18043         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
18044         * lib/mkdir.c: Update comment.
18045         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
18046
18047 2010-04-10  Bruno Haible  <bruno@clisp.org>
18048
18049         Don't override improved macro from newer autoconf.
18050         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
18051         autoconf >= 2.62.
18052         Reported by Joel E. Denny <jdenny@clemson.edu>.
18053
18054 2010-04-10  Jim Meyering  <meyering@redhat.com>
18055
18056         maint.mk: new syntax-check rule: prohibit empty lines at end of file
18057         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
18058
18059         maint.mk: correct a diagnostic
18060         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
18061         in diagnostic; now use $prohibit.
18062
18063 2010-04-10  Bruno Haible  <address@hidden>
18064
18065         fchownat: Fix a C++ test error on Solaris 8.
18066         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
18067         the function does not exist.
18068
18069 2010-04-10  Bruno Haible  <bruno@clisp.org>
18070
18071         vasnprintf: Add more tests.
18072         * tests/test-vasnprintf-posix.c: Include <errno.h>.
18073         (test_function): Test converting an invalid wide string.
18074
18075         vasnprintf: Correct handling of unconvertible wide string arguments.
18076         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
18077         VASNPRINTF.
18078         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
18079         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
18080         smaller than the expected maximum need for the directive. Set errno to
18081         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
18082         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
18083         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
18084         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
18085         * modules/vasnprintf (Files): Add m4/printf.m4.
18086         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
18087
18088 2010-04-10  Bruno Haible  <bruno@clisp.org>
18089
18090         vasnprintf: Fix crash in %ls directive.
18091         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
18092         string is passed as argument to %ls, with no precision and no width.
18093         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
18094
18095 2010-04-10  Bruno Haible  <bruno@clisp.org>
18096
18097         vasnprintf: Fix multiple test failures on mingw.
18098         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
18099         _snprintf, or snwprintf, not _snwprintf.
18100
18101 2010-04-10  Bruno Haible  <bruno@clisp.org>
18102
18103         write: Fix a C++ test error on mingw.
18104         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
18105
18106 2010-04-10  Bruno Haible  <bruno@clisp.org>
18107
18108         vasnprintf test: Reduce code duplication.
18109         * tests/test-vasnprintf.c (test_function): New function, extracted from
18110         test_vasnprintf.
18111         (test_vasnprintf, test_asnprintf): Invoke it.
18112
18113 2010-04-10  Bruno Haible  <bruno@clisp.org>
18114
18115         strnlen: Fix warning in C++ mode on MacOS X.
18116         * lib/string.in.h (strnlen): Use the modern idiom.
18117         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
18118         defining strnlen as a macro already in <config.h>.
18119         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
18120         REPLACE_STRNLEN.
18121         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
18122         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
18123
18124 2010-04-08  James Youngman  <jay@gnu.org>
18125
18126         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
18127         the example.
18128
18129 2010-04-09  Jim Meyering  <meyering@redhat.com>
18130
18131         maint.mk: print better diagnostic when there is no $(_hv_file)
18132         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
18133         announce that when $(_hv_file) (aka help-version) does not exist.
18134
18135         init.sh: run tr in the "C" locale to avoid multibyte interpretation
18136         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
18137         not try to interpret its random input bytes.  Jarno Rajahalme reported
18138         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
18139         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
18140         (mktempd_): Likewise, just in case.
18141
18142         ftruncate: add two years to projected module removal date: 2012
18143         * m4/ftruncate.m4: Adjust comments.
18144
18145         ftruncate: mark module as obsolete; even MinGW provides it, now
18146         * modules/ftruncate (Status): Obsolete.
18147         (Notice): Say that.
18148         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
18149         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
18150
18151 2010-04-08  Bruno Haible  <bruno@clisp.org>
18152
18153         Fix side effects from tests-related modules.
18154         * modules/dprintf-posix (Comment): New section.
18155         * modules/fprintf-posix (Comment): Likewise.
18156         * modules/obstack-printf-posix (Comment): Likewise.
18157         * modules/printf-posix (Comment): Likewise.
18158         * modules/snprintf-posix (Comment): Likewise.
18159         * modules/sprintf-posix (Comment): Likewise.
18160         * modules/vasnprintf-posix (Comment): Likewise.
18161         * modules/vasprintf-posix (Comment): Likewise.
18162         * modules/vdprintf-posix (Comment): Likewise.
18163         * modules/vfprintf-posix (Comment): Likewise.
18164         * modules/vprintf-posix (Comment): Likewise.
18165         * modules/vsnprintf-posix (Comment): Likewise.
18166         * modules/vsprintf-posix (Comment): Likewise.
18167         * modules/xprintf-posix (Comment): Likewise.
18168         * modules/xvasprintf-posix (Comment): Likewise.
18169         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
18170         * modules/floorf-tests (Depends-on): Likewise.
18171         * modules/round-tests (Depends-on): Likewise.
18172         * modules/roundf-tests (Depends-on): Likewise.
18173         * modules/trunc-tests (Depends-on): Likewise.
18174         * modules/truncf-tests (Depends-on): Likewise.
18175         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
18176         'fprintf-posix' module is not present.
18177         * tests/test-floorf2.c (check): Likewise.
18178         * tests/test-trunc2.c (check): Likewise.
18179         * tests/test-truncf2.c (check): Likewise.
18180         * tests/test-round2.c (equal): Likewise.
18181         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
18182
18183 2010-04-07  Karl Berry  <karl@gnu.org>
18184
18185         * config/srclist.txt,
18186         * config/srclistvars.sh,
18187         * config/srclist-update: doc fixes.
18188
18189 2010-04-07  Jim Meyering  <meyering@redhat.com>
18190
18191         maint.mk: add a PATH crosschecking syntax-check rule
18192         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
18193         Useful if you use a test like the one in help-version (coreutils,
18194         diffutils, grep, gzip) that ensures $(VERSION) matches what is
18195         printed by prog --version.
18196
18197 2010-04-06  Bruno Haible  <bruno@clisp.org>
18198
18199         Fix link error on mingw.
18200         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
18201         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
18202
18203 2010-04-06  Bruno Haible  <bruno@clisp.org>
18204
18205         Assume rmdir exists.
18206         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
18207
18208 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
18209
18210         doc: update users.txt
18211         * users.txt: Add gcal.
18212
18213 2010-04-06  Jim Meyering  <meyering@redhat.com>
18214
18215         init.sh: simply unset TMPDIR rather than risking env -i
18216         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
18217         although it probably works fine on all Unix-based systems, some
18218         systems (Cygwin?) cannot tolerate a totally cleared environment.
18219         Suggestion from Eric Blake.
18220
18221 2010-04-06  Jim Meyering  <meyering@redhat.com>
18222
18223         init.sh: portability fix: use env's POSIX-specified -i option not -u
18224         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
18225         than unportable env -u.  Solaris 5.11's env lacks support for -u.
18226
18227 2010-04-05  Bruno Haible  <bruno@clisp.org>
18228
18229         btowc: Work around Cygwin 1.7.2 bug.
18230         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
18231         does not map NUL to 0.
18232         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
18233
18234 2010-04-05  Bruno Haible  <bruno@clisp.org>
18235
18236         Make the multithread modules work on Cygwin 1.7.2.
18237         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
18238         imported symbols can be declared weak, so that it returns "no" on
18239         Cygwin 1.7.2.
18240
18241 2010-04-05  Bruno Haible  <bruno@clisp.org>
18242
18243         Use the module 'strncat'.
18244         * modules/unistr/u8-strncat (Depends-on): Add strncat.
18245
18246         Tests for module 'strncat'.
18247         * modules/strncat-tests: New file.
18248         * tests/test-strncat.c: New file.
18249
18250         New module 'strncat'.
18251         * lib/string.in.h (strncat): New declaration.
18252         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
18253         * m4/strncat.m4: New file, based on m4/memchr.m4.
18254         * modules/strncat: New file.
18255         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
18256         is declared.
18257         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
18258         REPLACE_STRNCAT.
18259         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
18260         REPLACE_STRNCAT.
18261         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
18262         module.
18263         * tests/test-string-c++.cc: Check signature of strncat.
18264
18265 2010-04-05  Jim Meyering  <meyering@redhat.com>
18266
18267         xstrtoumax-tests: convert to use init.sh
18268         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
18269         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
18270         Use Exit, not exit.
18271         Remove uses of $EXEEXT and "./" to run a program in the current dir.
18272
18273         xstrtoimax-tests: convert to use init.sh
18274         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
18275         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
18276         Use Exit, not exit.
18277         Remove uses of $EXEEXT and "./" to run a program in the current dir.
18278
18279 2010-04-05  Bruno Haible  <bruno@clisp.org>
18280
18281         sys_socket: Avoid #define replacements in C++ mode.
18282         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
18283         warning to the function if possible, rather than #defining the symbol
18284         to a dysfunctional alias.
18285
18286 2010-04-05  Bruno Haible  <bruno@clisp.org>
18287
18288         fseeko: Fix C++ test error on mingw.
18289         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
18290         gl_FUNC_FSEEKO.
18291         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
18292         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
18293         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
18294         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
18295
18296 2010-04-05  Bruno Haible  <bruno@clisp.org>
18297
18298         duplocale: Improve test output.
18299         * tests/test-duplocale.c (main): Print reason for skipped test.
18300
18301 2010-04-05  Bruno Haible  <bruno@clisp.org>
18302
18303         Assume rmdir exists.
18304         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
18305         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
18306
18307 2010-04-05  Bruno Haible  <bruno@clisp.org>
18308
18309         Fix link error on Solaris 8 with cc.
18310         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
18311
18312 2010-04-05  Bruno Haible  <bruno@clisp.org>
18313
18314         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
18315         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
18316
18317 2010-04-05  Bruno Haible  <bruno@clisp.org>
18318
18319         vasprintf: Update documentation.
18320         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
18321
18322 2010-04-05  Bruno Haible  <bruno@clisp.org>
18323
18324         ptsname: Improve test.
18325         * tests/test-ptsname.c (main): Also try the various master names of BSD
18326         systems.
18327
18328 2010-04-05  Bruno Haible  <bruno@clisp.org>
18329
18330         memchr: Avoid a possible C++ test error.
18331         * lib/string.in.h (memchr): Provide declaration if function is missing.
18332         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
18333         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
18334         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
18335         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
18336
18337 2010-04-05  Bruno Haible  <bruno@clisp.org>
18338
18339         strtok_r: Improve idiom.
18340         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
18341         AC_LIBOBJ is used.
18342
18343 2010-04-05  Bruno Haible  <bruno@clisp.org>
18344
18345         strdup: Improve idiom.
18346         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
18347         AC_LIBOBJ is used.
18348         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
18349         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
18350         when AC_LIBOBJ is used.
18351
18352 2010-04-05  Bruno Haible  <bruno@clisp.org>
18353
18354         mbsinit, mbrtowc, wcrtomb: Improve idioms.
18355         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
18356         don't set REPLACE_MBSINIT to 1.
18357         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
18358         don't set REPLACE_MBRTOWC to 1.
18359         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
18360         exist, don't set REPLACE_MBSRTOWCS to 1.
18361         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
18362         exist, don't set REPLACE_MBSNRTOWCS to 1.
18363         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
18364         don't set REPLACE_WCRTOMB to 1.
18365         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
18366         exist, don't set REPLACE_WCSRTOMBS to 1.
18367         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
18368         exist, don't set REPLACE_WCSNRTOMBS to 1.
18369
18370 2010-04-05  Bruno Haible  <bruno@clisp.org>
18371
18372         ldexpl: Improve idiom.
18373         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
18374         make sure to set HAVE_DECL_LDEXPL to 0.
18375
18376 2010-04-05  Jim Meyering  <meyering@redhat.com>
18377
18378         xstrtol-tests: convert to use init.sh
18379         * modules/xstrtol-tests (Files): Add tests/init.sh.
18380         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
18381         Use Exit, not exit.
18382         Remove uses of $EXEEXT and "./" to run a program in the current dir.
18383
18384         atexit-tests: convert to use init.sh
18385         * modules/atexit-tests (Files): Add tests/init.sh.
18386         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
18387         Use Exit, not exit.
18388         Remove uses of $EXEEXT and "./" to run a program in the current dir.
18389
18390         init.sh: fix typo
18391         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
18392
18393         init.sh: make it easier for a test script to write to the tty, ...
18394         when using automake's parallel-tests mode.
18395         * tests/init.sh (stderr_fileno_): Define overridable variable.
18396         (warn_): New function, to use it.
18397         (fail_, skip_, framework_failure_): Use warn_.
18398
18399 2010-04-04  Bruno Haible  <bruno@clisp.org>
18400
18401         btowc: Avoid warning.
18402         * lib/btowc.c: Include <stdlib.h>.
18403         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
18404
18405 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
18406             Bruno Haible  <bruno@clisp.org>
18407
18408         wchar: Port to NetBSD 1.5.
18409         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
18410         * lib/wctype.in.h (WEOF): Likewise.
18411
18412 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
18413             Bruno Haible  <bruno@clisp.org>
18414
18415         Port extended stdio to NetBSD 1.5.
18416         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
18417         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
18418         older.
18419
18420 2010-04-04  Bruno Haible  <bruno@clisp.org>
18421
18422         string: Remove unused substitution.
18423         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
18424         HAVE_DECL_STRERROR.
18425         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
18426
18427 2010-04-04  Bruno Haible  <bruno@clisp.org>
18428
18429         strtod: Avoid a possible C++ test error.
18430         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
18431         set REPLACE_STRTOD.
18432
18433 2010-04-04  Bruno Haible  <bruno@clisp.org>
18434
18435         strerror: Update documentation.
18436         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
18437
18438 2010-04-04  Bruno Haible  <bruno@clisp.org>
18439
18440         stdio: Fix some C++ test errors on Solaris 8 with GCC.
18441         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
18442         _GL_CXXALIAS_SYS_CAST.
18443
18444 2010-04-04  Bruno Haible  <bruno@clisp.org>
18445
18446         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
18447         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
18448         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
18449         REPLACE_FREXPL to 1.
18450         * doc/posix-functions/frexpl.texi: Update documentation.
18451
18452 2010-04-04  Bruno Haible  <bruno@clisp.org>
18453
18454         math: Fix some C++ test errors on Solaris 8 and Cygwin.
18455         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
18456
18457 2010-04-04  Bruno Haible  <bruno@clisp.org>
18458
18459         Implement nanosleep for native Windows.
18460         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
18461
18462 2010-04-04  Bruno Haible  <bruno@clisp.org>
18463
18464         math: Fix some C++ test errors on Solaris 8.
18465         * lib/math.in.h (truncf, trunc): Use simpler idiom.
18466
18467 2010-04-04  Bruno Haible  <bruno@clisp.org>
18468
18469         math: Fix some C++ test errors on Cygwin.
18470         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
18471         truncl): Provide declaration if the system does not have it.
18472         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
18473         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
18474         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
18475         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
18476         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
18477         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
18478         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
18479         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
18480         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
18481         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
18482         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
18483         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
18484         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
18485         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
18486         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
18487         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
18488         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
18489         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
18490         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
18491         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
18492         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
18493         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
18494
18495 2010-04-04  Bruno Haible  <bruno@clisp.org>
18496
18497         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
18498         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
18499         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
18500         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
18501         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
18502         * m4/isinf.m4 (gl_ISINF): Likewise.
18503         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
18504
18505 2010-04-04  Bruno Haible  <bruno@clisp.org>
18506
18507         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
18508         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
18509
18510 2010-04-04  Bruno Haible  <bruno@clisp.org>
18511
18512         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
18513         * modules/tmpfile (configure.ac): Update.
18514
18515         tmpfile: Fix C++ test error on mingw.
18516         * lib/stdio.in.h (tmpfile): New declaration.
18517         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
18518         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
18519         * modules/tmpfile (Depends-on): Add stdio.
18520         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
18521         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
18522         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
18523         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
18524         REPLACE_TMPFILE.
18525         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
18526
18527 2010-04-04  Bruno Haible  <bruno@clisp.org>
18528
18529         ioctl: Fix C++ test error on mingw.
18530         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
18531         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
18532         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
18533
18534 2010-04-03  Bruno Haible  <bruno@clisp.org>
18535
18536         wcwidth: Fix C++ test error on mingw.
18537         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
18538         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
18539         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
18540
18541 2010-04-03  Bruno Haible  <bruno@clisp.org>
18542
18543         nanosleep: Fix C++ test error on mingw.
18544         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
18545         * lib/time.in.h (nanosleep): Use modern idiom.
18546         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
18547         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
18548         REPLACE_NANOSLEEP to 1.
18549         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
18550         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
18551
18552 2010-04-03  Bruno Haible  <bruno@clisp.org>
18553
18554         strptime: Fix C++ test error on mingw.
18555         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
18556         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
18557         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
18558         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
18559         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
18560         not REPLACE_STRPTIME.
18561         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
18562         REPLACE_STRPTIME.
18563
18564 2010-04-03  Bruno Haible  <bruno@clisp.org>
18565
18566         timegm: Fix C++ test error on mingw.
18567         * lib/time.in.h (timegm): Use modern idiom.
18568         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
18569         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
18570         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
18571         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
18572
18573 2010-04-03  Bruno Haible  <bruno@clisp.org>
18574
18575         timegm: Assume declaration if function exists.
18576         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
18577         if it exists. Don't clobber ac_cv_func_timegm.
18578
18579 2010-04-03  Bruno Haible  <bruno@clisp.org>
18580
18581         time_r: Fix C++ test error on mingw.
18582         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
18583         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
18584         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
18585         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
18586         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
18587
18588 2010-04-03  Bruno Haible  <bruno@clisp.org>
18589
18590         time_r: Minor updates.
18591         * modules/time_r (Description): Mention the provided functions.
18592         * lib/time_r.c: Don't include <string.h>.
18593         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
18594         * doc/posix-functions/localtime_r.texi: Likewise.
18595
18596 2010-04-03  Bruno Haible  <bruno@clisp.org>
18597
18598         time: Fix regression introduced on 2010-03-08.
18599         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
18600         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
18601
18602 2010-04-03  Jim Meyering  <meyering@redhat.com>
18603
18604         maint.mk: don't silently disable project-specific syntax-check rules
18605         * top/maint.mk (_prohibit_regexp): Define, to help people realize
18606         that they need to convert their project-specific syntax-check rules
18607         to use the new _sc_search_regexp.
18608
18609 2010-04-03  Bruno Haible  <bruno@clisp.org>
18610
18611         fchdir: Fix regression introduced on 2010-03-08.
18612         * lib/unistd.in.h (fchdir): Fix declaration.
18613         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
18614         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
18615         REPLACE_FCHDIR.
18616         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
18617         REPLACE_FCHDIR.
18618
18619 2010-04-03  Bruno Haible  <bruno@clisp.org>
18620
18621         getpagesize: Fix C++ test error on mingw.
18622         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
18623         system does not declare the function.
18624         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
18625         declared.
18626         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
18627         HAVE_DECL_GETPAGESIZE.
18628         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
18629
18630 2010-04-03  Bruno Haible  <bruno@clisp.org>
18631
18632         stdio: Make C++ tests work on mingw.
18633         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
18634         does not declare the function.
18635
18636 2010-04-03  Bruno Haible  <bruno@clisp.org>
18637
18638         ftello: Fix C++ test error on mingw.
18639         * lib/stdio.in.h (ftello): Use modern idiom.
18640         * lib/ftello.c (ftello): Renamed from rpl_ftello.
18641         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
18642         is missing and that it needs to be replaced.
18643         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
18644         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
18645         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
18646
18647 2010-04-03  Bruno Haible  <bruno@clisp.org>
18648
18649         fseeko: Fix C++ test error on mingw.
18650         * lib/stdio.in.h (fseeko): Use modern idiom.
18651         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
18652         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
18653         is missing and that it needs to be replaced.
18654         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
18655         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
18656         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
18657
18658 2010-04-03  Bruno Haible  <bruno@clisp.org>
18659
18660         mkstemp: Fix C++ test error on mingw.
18661         * lib/stdlib.in.h (mkstemp): Use modern idiom.
18662         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
18663         function is missing and that it needs to be replaced.
18664         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
18665         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
18666
18667 2010-04-03  Bruno Haible  <bruno@clisp.org>
18668
18669         stpncpy: Fix C++ test error on mingw.
18670         * lib/string.in.h (stpncpy): Use modern idiom.
18671         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
18672         function is missing and that it needs to be replaced.
18673         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
18674         REPLACE_STPNCPY.
18675         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
18676
18677 2010-04-03  Bruno Haible  <bruno@clisp.org>
18678
18679         sys_stat: Fix C++ test error on mingw.
18680         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
18681         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
18682
18683 2010-04-03  Bruno Haible  <bruno@clisp.org>
18684
18685         pty: Update doc.
18686         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
18687
18688 2010-04-03  Bruno Haible  <bruno@clisp.org>
18689
18690         unistd: Fix C++ test error on mingw.
18691         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
18692
18693 2010-04-03  Bruno Haible  <bruno@clisp.org>
18694
18695         Update doc regarding mingw.
18696         * doc/glibc-functions/openpty.texi: Update regarding mingw.
18697         * doc/glibc-functions/login_tty.texi: Likewise.
18698         * doc/glibc-functions/forkpty.texi: Likewise.
18699
18700 2010-04-03  Bruno Haible  <bruno@clisp.org>
18701
18702         stdlib: Avoid compilation failure of c-strtold on mingw.
18703         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
18704
18705 2010-04-03  Bruno Haible  <bruno@clisp.org>
18706
18707         locale: Make C++ tests work on Cygwin and mingw.
18708         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
18709         cannot provide the function.
18710         Reported by Simon Josefsson.
18711
18712 2010-04-03  Bruno Haible  <bruno@clisp.org>
18713
18714         localename: Port to MacOS X 10.6.
18715         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
18716         memory layout of the locales in MacOS X 10.6 as well.
18717         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
18718
18719 2010-04-02  Bruno Haible  <bruno@clisp.org>
18720
18721         gnulib-tool: Ensure that long-running tests are executed last.
18722         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
18723         running tests after the one for the other tests.
18724
18725 2010-04-02  Bruno Haible  <bruno@clisp.org>
18726
18727         gnulib-tool: Ensure the tests in the main directory are executed first.
18728         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
18729         start with the current directory.
18730
18731 2010-04-02  Bruno Haible  <bruno@clisp.org>
18732
18733         Tests for module 'havelib', moved here from GNU gettext.
18734         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
18735         modifications.
18736         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
18737         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
18738         with modifications.
18739         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
18740         modifications.
18741         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
18742         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
18743         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
18744         with modifications.
18745         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
18746         with modifications.
18747         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
18748         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
18749         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
18750         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
18751         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
18752         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
18753         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
18754         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
18755         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
18756         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
18757         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
18758         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
18759         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
18760         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
18761         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
18762         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
18763         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
18764         with modifications.
18765         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
18766         with modifications.
18767         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
18768         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
18769         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
18770         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
18771         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
18772         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
18773         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
18774         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
18775         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
18776         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
18777         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
18778         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
18779         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
18780         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
18781         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
18782         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
18783         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
18784         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
18785         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
18786         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
18787         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
18788         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
18789         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
18790         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
18791         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
18792         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
18793         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
18794         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
18795         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
18796         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
18797         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
18798         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
18799         * tests/havelib/rpathx/rpathx.c: New file, from
18800         gettext/autoconf-lib-link.
18801         * tests/havelib/rpathx/Makefile.am: New file, from
18802         gettext/autoconf-lib-link.
18803         * tests/havelib/rpathx/configure.ac: New file, from
18804         gettext/autoconf-lib-link with modifications.
18805         * tests/havelib/rpathy/rpathy.c: New file, from
18806         gettext/autoconf-lib-link.
18807         * tests/havelib/rpathy/Makefile.am: New file, from
18808         gettext/autoconf-lib-link.
18809         * tests/havelib/rpathy/configure.ac: New file, from
18810         gettext/autoconf-lib-link with modifications.
18811         * tests/havelib/rpathz/rpathz.c: New file, from
18812         gettext/autoconf-lib-link.
18813         * tests/havelib/rpathz/Makefile.am: New file, from
18814         gettext/autoconf-lib-link.
18815         * tests/havelib/rpathz/configure.ac: New file, from
18816         gettext/autoconf-lib-link with modifications.
18817         * tests/havelib/rpathlx/usex.c: New file, from
18818         gettext/autoconf-lib-link.
18819         * tests/havelib/rpathlx/Makefile.am: New file, from
18820         gettext/autoconf-lib-link.
18821         * tests/havelib/rpathlx/configure.ac: New file, from
18822         gettext/autoconf-lib-link with modifications.
18823         * tests/havelib/rpathly/usey.c: New file, from
18824         gettext/autoconf-lib-link.
18825         * tests/havelib/rpathly/Makefile.am: New file, from
18826         gettext/autoconf-lib-link.
18827         * tests/havelib/rpathly/configure.ac: New file, from
18828         gettext/autoconf-lib-link with modifications.
18829         * tests/havelib/rpathlz/usez.c: New file, from
18830         gettext/autoconf-lib-link.
18831         * tests/havelib/rpathlz/Makefile.am: New file, from
18832         gettext/autoconf-lib-link.
18833         * tests/havelib/rpathlz/configure.ac: New file, from
18834         gettext/autoconf-lib-link with modifications.
18835         * tests/havelib/rpathlyx/usey.c: New file, from
18836         gettext/autoconf-lib-link.
18837         * tests/havelib/rpathlyx/Makefile.am: New file, from
18838         gettext/autoconf-lib-link.
18839         * tests/havelib/rpathlyx/configure.ac: New file, from
18840         gettext/autoconf-lib-link with modifications.
18841         * tests/havelib/rpathlzyx/usez.c: New file, from
18842         gettext/autoconf-lib-link.
18843         * tests/havelib/rpathlzyx/Makefile.am: New file, from
18844         gettext/autoconf-lib-link.
18845         * tests/havelib/rpathlzyx/configure.ac: New file, from
18846         gettext/autoconf-lib-link with modifications.
18847         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
18848         with modifications.
18849
18850 2010-04-02  Bruno Haible  <bruno@clisp.org>
18851
18852         gnulib-tool: Create distributed built sources also for the tests.
18853         * gnulib-tool (func_create_testdir): Also generate distributed built
18854         sources in the tests directory.
18855
18856 2010-04-02  Bruno Haible  <bruno@clisp.org>
18857
18858         gnulib-tool: Obey user's environment variables.
18859         * gnulib-tool (func_create_testdir): When creating built sources,
18860         respect the environment variables for autoconf, automake, etc. given by
18861         the user.
18862
18863 2010-04-02  Bruno Haible  <bruno@clisp.org>
18864
18865         gnulib-tool: Provide the value of --m4-base to modules.
18866         * gnulib-tool (func_import, func_create_testdir): Emit a definition
18867         of gl_m4_base.
18868
18869 2010-04-02  Eric Blake  <eblake@redhat.com>
18870
18871         maint.mk: fix some fallout
18872         * NEWS: Document the incompatible change, and its effect on cfg.mk.
18873         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
18874
18875 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
18876
18877         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
18878         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
18879         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
18880         (sc_cast_of_x_alloc_return_value): Likewise.
18881         (sc_cast_of_alloca_return_value): Likewise.
18882         (sc_space_tab): Likewise.
18883         (sc_prohibit_atoi_atof): Likewise.
18884         (sc_prohibit_magic_number_exit): Likewise.
18885         (sc_error_exit_success): Likewise.
18886         (sc_file_system): Likewise.
18887         (sc_prohibit_have_config_h): Likewise.
18888         (sc_require_config_h): Likewise.
18889         (sc_prohibit_HAVE_MBRTOWC): Likewise.
18890         (sc_obsolete_symbols): Likewise.
18891         (sc_changelog): Likewise.
18892         (sc_program_name): Likewise.
18893         (sc_the_the): Likewise.
18894         (sc_trailing_blank): Likewise.
18895         (sc_two_space_separator_in_usage): Likewise.
18896         (sc_useless_cpp_parens): Likewise.
18897         (sc_GPL_version): Likewise.
18898         (sc_GFDL_version): Likewise.
18899         (sc_texinfo_acronym): Likewise.
18900         (sc_prohibit_cvs_keyword): Likewise.
18901         (sc_prohibit_stat_st_blocks): Likewise.
18902         (sc_prohibit_S_IS_definition): Likewise.
18903         (sc_redundant_const): Likewise.
18904         (sc_makefile_TAB_only_indentation): Likewise.
18905         (sc_m4_quote_check): Likewise.
18906         (sc_makefile_path_separator_check): Likewise.
18907         (sc_copyright_check): Likewise.
18908         (sc_Wundef_boolean): Likewise.
18909         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
18910
18911         maint.mk: match 0 or more whitespace-before-function-call '('
18912         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
18913         that have zero or two-and-more spaces between the function name
18914         and the open parenthesis.
18915         (sc_error_message_warn_fatal): Likewise.
18916         (sc_error_message_uppercase): Likewise.
18917         (sc_error_message_period): Likewise.
18918
18919 2010-03-31  Eric Blake  <eblake@redhat.com>
18920
18921         maint.mk: check for [ as well as test
18922         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
18923         Based on a libvirt report by Matthias Bolte.
18924
18925         gnumakefile: don't squelch _version output
18926         * top/GNUmakefile (_version): Create one-shot dependency rather
18927         than using $(shell) when version must be regenerated.
18928         (_autoreconf): Run verbosely, by default.
18929
18930         sys_time: avoid compiler warnings
18931         * lib/sys_time.in.h (includes): Ensure gcc pragma is
18932         unconditional, fixing regression from 2010-03-29.
18933         Reported by Simon Josefsson.
18934
18935 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
18936
18937         maint.mk: s/_header_without_use/_sc_header_without_use/
18938         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
18939         (sc_prohibit_assert_without_use): Use the new name.
18940         (sc_prohibit_close_stream_without_use): Likewise.
18941         (sc_prohibit_getopt_without_use): Likewise.
18942         (sc_prohibit_quotearg_without_use): Likewise.
18943         (sc_prohibit_quote_without_use): Likewise.
18944         (sc_prohibit_long_options_without_use): Likewise.
18945         (sc_prohibit_inttostr_without_use): Likewise.
18946         (sc_prohibit_ignore_value_without_use): Likewise.
18947         (sc_prohibit_error_without_use): Likewise.
18948         (sc_prohibit_xalloc_without_use): Likewise.
18949         (sc_prohibit_hash_without_use): Likewise.
18950         (sc_prohibit_hash_pjw_without_use): Likewise.
18951         (sc_prohibit_safe_read_without_use): Likewise.
18952         (sc_prohibit_argmatch_without_use): Likewise.
18953         (sc_prohibit_canonicalize_without_use): Likewise.
18954         (sc_prohibit_root_dev_ino_without_use): Likewise.
18955         (sc_prohibit_openat_without_use): Likewise.
18956         (sc_prohibit_c_ctype_without_use): Likewise.
18957         (sc_prohibit_signal_without_use): Likewise.
18958         (sc_prohibit_intprops_without_use): Likewise.
18959
18960 2010-03-30  Eric Blake  <eblake@redhat.com>
18961
18962         maint: improve module indicators
18963         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
18964         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
18965         columns, and avoid extra macro expansion.
18966
18967         fdopendir: work around FreeBSD bug
18968         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
18969         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
18970         * modules/dirent (Makefile.am): Substitute it.
18971         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
18972         declaration.
18973         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
18974         fix.
18975         Reported by Christian Weisgerber <naddy@mips.inka.de>.
18976
18977 2010-03-29  Bruno Haible  <bruno@clisp.org>
18978
18979         Emit #pragma system_header after the inclusion guard, not before.
18980         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
18981         guard that spans the entire file, not before. This enables an
18982         optimization in GCC's preprocessor.
18983         * lib/ctype.in.h: Likewise.
18984         * lib/dirent.in.h: Likewise.
18985         * lib/errno.in.h: Likewise.
18986         * lib/float.in.h: Likewise.
18987         * lib/getopt.in.h: Likewise.
18988         * lib/iconv.in.h: Likewise.
18989         * lib/langinfo.in.h: Likewise.
18990         * lib/locale.in.h: Likewise.
18991         * lib/math.in.h: Likewise.
18992         * lib/netdb.in.h: Likewise.
18993         * lib/netinet_in.in.h: Likewise.
18994         * lib/pty.in.h: Likewise.
18995         * lib/sched.in.h: Likewise.
18996         * lib/se-selinux.in.h: Likewise.
18997         * lib/search.in.h: Likewise.
18998         * lib/spawn.in.h: Likewise.
18999         * lib/stdarg.in.h: Likewise.
19000         * lib/stdint.in.h: Likewise.
19001         * lib/string.in.h: Likewise.
19002         * lib/strings.in.h: Likewise.
19003         * lib/sys_file.in.h: Likewise.
19004         * lib/sys_ioctl.in.h: Likewise.
19005         * lib/sys_time.in.h: Likewise.
19006         * lib/sys_times.in.h: Likewise.
19007         * lib/sys_utsname.in.h: Likewise.
19008         * lib/sys_wait.in.h: Likewise.
19009         * lib/sysexits.in.h: Likewise.
19010         * lib/wctype.in.h: Likewise.
19011
19012 2010-03-28  James Youngman  <jay@gnu.org>
19013
19014         save-cwd: don't leak a file descriptor when the caller execs.
19015         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
19016         saved file descriptor.
19017         * modules/save-cwd (Depends-on): Depend on cloexec.
19018
19019 2010-03-29  Bruno Haible  <bruno@clisp.org>
19020
19021         Remove vestiges of fts-lgpl module.
19022         * lib/fts_.h: Assume GNULIB_FTS is 1.
19023         * lib/fts.c: Likewise.
19024         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
19025
19026 2010-03-28  Bruno Haible  <bruno@clisp.org>
19027
19028         Fix definition of tests witness macro.
19029         * gnulib-tool (func_import): Fix definition of witness macro.
19030
19031 2010-03-28  Bruno Haible  <bruno@clisp.org>
19032
19033         Fix ioctl's protoype on glibc systems.
19034         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
19035         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
19036         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
19037         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
19038         signature. If not, arrange to replace the ioctl function.
19039         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
19040         REPLACE_IOCTL.
19041         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
19042         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
19043         Reported by Ludovic Courtès <ludo@gnu.org>.
19044
19045 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
19046
19047         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
19048         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
19049         made it so grep -r --include=GLOB* ... did not work.
19050
19051 2010-03-26  Jim Meyering  <meyering@redhat.com>
19052             Eric Blake  <eblake@redhat.com>
19053
19054         maint.mk: prohibit use of test's -o and -a operators
19055         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
19056
19057 2010-03-28  Bruno Haible  <bruno@clisp.org>
19058
19059         Remove unused GNULIB_XYZ macro definitions.
19060         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
19061         invocation.
19062
19063 2010-03-28  Bruno Haible  <bruno@clisp.org>
19064
19065         Mark privileged tests modules.
19066         * modules/idpriv-drop-tests (Status): New section.
19067         * modules/idpriv-droptemp-tests (Status): New section.
19068
19069 2010-03-28  Bruno Haible  <bruno@clisp.org>
19070
19071         Split C++ tests into separate tests modules.
19072         * modules/dirent-c++-tests: New file, extracted from
19073         modules/dirent-tests.
19074         * modules/dirent-tests: Depend on it.
19075         * modules/fcntl-h-c++-tests: New file, extracted from
19076         modules/fcntl-h-tests.
19077         * modules/fcntl-h-tests: Depend on it.
19078         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
19079         * modules/glob-tests: Depend on it.
19080         * modules/iconv-h-c++-tests: New file, extracted from
19081         modules/iconv-h-tests.
19082         * modules/iconv-h-tests: Depend on it.
19083         * modules/langinfo-c++-tests: New file, extracted from
19084         modules/langinfo-tests.
19085         * modules/langinfo-tests: Depend on it.
19086         * modules/locale-c++-tests: New file, extracted from
19087         modules/locale-tests.
19088         * modules/locale-tests: Depend on it.
19089         * modules/math-c++-tests: New file, extracted from modules/math-tests.
19090         * modules/math-tests: Depend on it.
19091         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
19092         * modules/pty-tests: Depend on it.
19093         * modules/search-c++-tests: New file, extracted from
19094         modules/search-tests.
19095         * modules/search-tests: Depend on it.
19096         * modules/signal-c++-tests: New file, extracted from
19097         modules/signal-tests.
19098         * modules/signal-tests: Depend on it.
19099         * modules/spawn-c++-tests: New file, extracted from
19100         modules/spawn-tests.
19101         * modules/spawn-tests: Depend on it.
19102         * modules/stdio-c++-tests: New file, extracted from
19103         modules/stdio-tests.
19104         * modules/stdio-tests: Depend on it.
19105         * modules/stdlib-c++-tests: New file, extracted from
19106         modules/stdlib-tests.
19107         * modules/stdlib-tests: Depend on it.
19108         * modules/string-c++-tests: New file, extracted from
19109         modules/string-tests.
19110         * modules/string-tests: Depend on it.
19111         * modules/sys_ioctl-c++-tests: New file, extracted from
19112         modules/sys_ioctl-tests.
19113         * modules/sys_ioctl-tests: Depend on it.
19114         * modules/sys_select-c++-tests: New file, extracted from
19115         modules/sys_select-tests.
19116         * modules/sys_select-tests: Depend on it.
19117         * modules/sys_socket-c++-tests: New file, extracted from
19118         modules/sys_socket-tests.
19119         * modules/sys_socket-tests: Depend on it.
19120         * modules/sys_stat-c++-tests: New file, extracted from
19121         modules/sys_stat-tests.
19122         * modules/sys_stat-tests: Depend on it.
19123         * modules/sys_time-c++-tests: New file, extracted from
19124         modules/sys_time-tests.
19125         * modules/sys_time-tests: Depend on it.
19126         * modules/time-c++-tests: New file, extracted from modules/time-tests.
19127         * modules/time-tests: Depend on it.
19128         * modules/unistd-c++-tests: New file, extracted from
19129         modules/unistd-tests.
19130         * modules/unistd-tests: Depend on it.
19131         * modules/wchar-c++-tests: New file, extracted from
19132         modules/wchar-tests.
19133         * modules/wchar-tests: Depend on it.
19134         * modules/wctype-c++-tests: New file, extracted from
19135         modules/wctype-tests.
19136         * modules/wctype-tests: Depend on it.
19137         Reported by Simon Josefsson.
19138
19139 2010-03-28  Bruno Haible  <bruno@clisp.org>
19140
19141         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
19142         * gnulib-tool (func_exists_module): New function, extracted from
19143         func_verify_module.
19144         (func_verify_module): Use it.
19145         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
19146         'foo' only if 'foo' exists.
19147         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
19148         module.
19149
19150 2010-03-28  Bruno Haible  <bruno@clisp.org>
19151
19152         gnulib-tool: Add support for special categories of tests.
19153         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
19154         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
19155         (func_usage): Document them.
19156         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
19157         inc_unportable_tests, inc_all_tests): New variables.
19158         (func_acceptable): Consider these variables.
19159         (func_modules_transitive_closure): Make it work when the 'Status' field
19160         consists of multiple words.
19161         (func_import): Store and restore the values of inc_cxx_tests,
19162         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
19163         inc_all_tests in gnulib-comp.m4.
19164         (func_create_testdir): Set inc_all_tests to true.
19165         * doc/gnulib.texi (Extra tests modules): New section.
19166         Suggested by Jim Meyering.
19167
19168 2010-03-28  Bruno Haible  <bruno@clisp.org>
19169
19170         ansi-c++-opt: Allow turning off the C++ build by default.
19171         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
19172         gl_CXX_CHOICE_DEFAULT_NO is defined.
19173         Requested by Eric Blake.
19174
19175 2010-03-28  Bruno Haible  <bruno@clisp.org>
19176
19177         unistd: Avoid #define replacements in C++ mode.
19178         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
19179         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
19180         setsockopt, shutdown, select): In C++, attach a warning to the function
19181         if possible, rather than #defining the symbol to a dysfunctional alias.
19182         Reported by John W. Eaton <jwe@gnu.org>.
19183
19184 2010-03-28  Bruno Haible  <bruno@clisp.org>
19185
19186         Fix link errors on mingw.
19187         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
19188         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
19189         $(LIBSOCKET).
19190         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
19191         $(LIBSOCKET).
19192
19193 2010-03-28  Bruno Haible  <bruno@clisp.org>
19194             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19195
19196         lib-ignore: Determine different options for different compilers.
19197         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
19198         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
19199         Add comments.
19200         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
19201         * NEWS: Mention the change.
19202
19203 2010-03-27  Bruno Haible  <bruno@clisp.org>
19204
19205         Remove unused GNULIB_XYZ macro definitions.
19206         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
19207         * modules/fseek (configure.ac): Likewise.
19208         * modules/ioctl (configure.ac): Likewise.
19209         * modules/open (configure.ac): Likewise.
19210         * modules/stdlib-safer (configure.ac): Likewise.
19211
19212 2010-03-27  Bruno Haible  <bruno@clisp.org>
19213
19214         Add a remark about certain modules.
19215         * modules/malloc (Comment): New section.
19216         * modules/realloc (Comment): Likewise.
19217         * modules/sigpipe (Comment): Likewise.
19218
19219 2010-03-27  Bruno Haible  <bruno@clisp.org>
19220
19221         Resolve conflict between the two kinds of module indicators.
19222         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
19223         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
19224         * modules/canonicalize (configure.ac): Invoke
19225         gl_MODULE_INDICATOR_FOR_TESTS.
19226         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
19227         GNULIB_XYZ.
19228         * tests/test-dirent-c++.cc: Likewise.
19229         * tests/test-dirent-safer.c: Likewise.
19230         * tests/test-dup2.c: Likewise.
19231         * tests/test-fchdir.c: Likewise.
19232         * tests/test-fcntl-h-c++.cc: Likewise.
19233         * tests/test-getopt.c: Likewise.
19234         * tests/test-getopt.h: Likewise.
19235         * tests/test-langinfo-c++.cc: Likewise.
19236         * tests/test-locale-c++.cc: Likewise.
19237         * tests/test-math-c++.cc: Likewise.
19238         * tests/test-pty-c++.cc: Likewise.
19239         * tests/test-search-c++.cc: Likewise.
19240         * tests/test-signal-c++.cc: Likewise.
19241         * tests/test-spawn-c++.cc: Likewise.
19242         * tests/test-stdio-c++.cc: Likewise.
19243         * tests/test-stdlib-c++.cc: Likewise.
19244         * tests/test-string-c++.cc: Likewise.
19245         * tests/test-sys_ioctl-c++.cc: Likewise.
19246         * tests/test-sys_select-c++.cc: Likewise.
19247         * tests/test-sys_socket-c++.cc: Likewise.
19248         * tests/test-sys_stat-c++.cc: Likewise.
19249         * tests/test-sys_time-c++.cc: Likewise.
19250         * tests/test-time-c++.cc: Likewise.
19251         * tests/test-unistd-c++.cc: Likewise.
19252         * tests/test-wchar-c++.cc: Likewise.
19253         * tests/uninorm/test-u8-nfc.c: Likewise.
19254         * tests/uninorm/test-u8-nfd.c: Likewise.
19255         * tests/uninorm/test-u8-nfkc.c: Likewise.
19256         * tests/uninorm/test-u8-nfkd.c: Likewise.
19257         * tests/uninorm/test-u16-nfc.c: Likewise.
19258         * tests/uninorm/test-u16-nfd.c: Likewise.
19259         * tests/uninorm/test-u16-nfkc.c: Likewise.
19260         * tests/uninorm/test-u16-nfkd.c: Likewise.
19261         * tests/uninorm/test-u32-nfc.c: Likewise.
19262         * tests/uninorm/test-u32-nfc-big.c: Likewise.
19263         * tests/uninorm/test-u32-nfd.c: Likewise.
19264         * tests/uninorm/test-u32-nfd-big.c: Likewise.
19265         * tests/uninorm/test-u32-nfkc.c: Likewise.
19266         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
19267         * tests/uninorm/test-u32-nfkd.c: Likewise.
19268         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
19269         * tests/uninorm/test-u32-normalize-big.c: Likewise.
19270
19271 2010-03-27  Bruno Haible  <bruno@clisp.org>
19272
19273         Distinguish two kinds of module indicators.
19274         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
19275         gl_MODULE_INDICATOR.
19276         (gl_MODULE_INDICATOR): New macro.
19277         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
19278         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
19279         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
19280         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
19281         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
19282         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
19283         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
19284         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
19285         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
19286         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
19287         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
19288         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
19289         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
19290         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
19291         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
19292         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
19293         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
19294         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
19295         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
19296         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
19297         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
19298         * modules/cloexec (configure.ac): Likewise.
19299         * modules/getopt-gnu (configure.ac): Likewise.
19300         * modules/uninorm/u8-normalize (configure.ac): Likewise.
19301         * modules/uninorm/u16-normalize (configure.ac): Likewise.
19302         * modules/uninorm/u32-normalize (configure.ac): Likewise.
19303         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
19304
19305 2010-03-27  Bruno Haible  <bruno@clisp.org>
19306
19307         New module description field 'Comment'.
19308         * gnulib-tool: New option --extract-comment.
19309         (func_usage): Document it.
19310         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
19311         (func_get_comment): New function.
19312         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
19313
19314 2010-03-27  Bruno Haible  <bruno@clisp.org>
19315
19316         Addendum to 2010-02-07 commit.
19317         * gnulib-tool (func_usage): Document --extract-applicability option.
19318
19319 2010-03-27  Bruno Haible  <bruno@clisp.org>
19320
19321         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
19322         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
19323         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
19324         rather than link errors.
19325
19326 2010-03-27  Bruno Haible  <bruno@clisp.org>
19327
19328         Avoid side effects from tests-related modules on the compilation of lib.
19329         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
19330         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
19331         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
19332         parameter. Emit into AM_CPPFLAGS a definition of the designated C
19333         macro.
19334         (func_import): Define a witness macro. Assign it a value that depends
19335         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
19336         tests-related modules.
19337         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
19338         Reported by Jim Meyering.
19339
19340 2010-03-27  Bruno Haible  <bruno@clisp.org>
19341
19342         Factorize common .m4 code.
19343         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
19344         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
19345         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
19346         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
19347         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
19348         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
19349         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
19350         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
19351         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
19352         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
19353         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
19354         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
19355         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
19356         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
19357         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
19358         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
19359         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
19360         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
19361         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
19362         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
19363         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
19364         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
19365         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
19366         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
19367         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
19368         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
19369         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
19370         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
19371         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
19372         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
19373         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
19374         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
19375
19376 2010-03-27  Bruno Haible  <bruno@clisp.org>
19377
19378         Fix a compilation error on Cygwin with g++ >= 4.3.
19379         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
19380         if it is undefined or if we alias it to chmod.
19381         (lstat): Don't warn about the use of this function if it is undefined
19382         or if we alias it to stat.
19383         Reported by Simon Josefsson.
19384
19385 2010-03-27  Bruno Haible  <bruno@clisp.org>
19386
19387         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
19388         * modules/getlogin (configure.ac): Update.
19389
19390         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
19391         * modules/getlogin_r (configure.ac): Update.
19392
19393         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
19394         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
19395         * modules/inet_ntop (configure.ac): Update.
19396
19397         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
19398         * modules/inet_pton (configure.ac): Update.
19399
19400         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
19401         * modules/mbslen (configure.ac): Update.
19402
19403         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
19404         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
19405         * modules/forkpty (configure.ac): Update.
19406         * modules/openpty (configure.ac): Update.
19407
19408 2010-03-26  Simon Josefsson  <simon@josefsson.org>
19409
19410         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
19411         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
19412
19413 2010-03-25  Eric Blake  <eblake@redhat.com>
19414
19415         maint: use pragma consistently across replacement headers
19416         * lib/ctype.in.h (system_header): Hoist for consistent placement.
19417         * lib/dirent.in.h (system_header): Likewise.
19418         * lib/errno.in.h (system_header): Likewise.
19419         * lib/float.in.h (system_header): Likewise.
19420         * lib/getopt.in.h (system_header): Likewise.
19421         * lib/iconv.in.h (system_header): Likewise.
19422         * lib/inttypes.in.h (system_header): Likewise.
19423         * lib/langinfo.in.h (system_header): Likewise.
19424         * lib/locale.in.h (system_header): Likewise.
19425         * lib/math.in.h (system_header): Likewise.
19426         * lib/netdb.in.h (system_header): Likewise.
19427         * lib/netinet_in.in.h (system_header): Likewise.
19428         * lib/pty.in.h (system_header): Likewise.
19429         * lib/sched.in.h (system_header): Likewise.
19430         * lib/se-selinux.in.h (system_header): Likewise.
19431         * lib/search.in.h (system_header): Likewise.
19432         * lib/spawn.in.h (system_header): Likewise.
19433         * lib/stdarg.in.h (system_header): Likewise.
19434         * lib/stdint.in.h (system_header): Likewise.
19435         * lib/string.in.h (system_header): Likewise.
19436         * lib/strings.in.h (system_header): Likewise.
19437         * lib/sys_file.in.h (system_header): Likewise.
19438         * lib/sys_ioctl.in.h (system_header): Likewise.
19439         * lib/sys_socket.in.h (system_header): Likewise.
19440         * lib/sys_times.in.h (system_header): Likewise.
19441         * lib/sys_utsname.in.h (system_header): Likewise.
19442         * lib/sys_wait.in.h (system_header): Likewise.
19443         * lib/sysexits.in.h (system_header): Likewise.
19444         * lib/unistd.in.h (system_header): Likewise.
19445         * lib/wctype.in.h (system_header): Likewise.
19446
19447         arpa/inet: fix mingw compilation warning
19448         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
19449         Reported by Matthew Bolte.
19450
19451 2010-03-25  Bruno Haible  <bruno@clisp.org>
19452
19453         Avoid collision between gnulib wrapper and libintl wrapper.
19454         * lib/printf.c (printf): Don't define if a printf wrapper is already
19455         defined in intl/printf.c.
19456         Reported by Michel Boaventura <michel@michelboaventura.com>.
19457
19458 2010-03-25  Bruno Haible  <bruno@clisp.org>
19459
19460         Use ANSI C.
19461         * lib/readutmp.h (getutent): Provide ANSI C prototype.
19462
19463 2010-03-25  Bruno Haible  <bruno@clisp.org>
19464
19465         Minor formatting changes.
19466         * lib/acosl.c: Insert space before function argument list.
19467         * lib/argz.c: Likewise.
19468         * lib/asinl.c: Likewise.
19469         * lib/expl.c: Likewise.
19470         * lib/gen-uni-tables.c: Likewise.
19471         * lib/gettext.h: Likewise.
19472         * lib/glthread/lock.h: Likewise.
19473         * lib/tanl.c: Likewise.
19474         * lib/uniname/uniname.c: Likewise.
19475         * tests/test-idpriv-drop.c: Likewise.
19476         * tests/test-idpriv-droptemp.c: Likewise.
19477         * tests/test-lock.c: Likewise.
19478         * tests/test-tls.c: Likewise.
19479         * lib/argp-help.c: Insert space before function-like macro argument
19480         list.
19481         * lib/memcmp.c: Likewise.
19482         * tests/test-base64.c: Likewise.
19483         * lib/localename.c: Insert space before sizeof's argument list.
19484         * lib/safe-alloc.h: Likewise.
19485         * lib/file-set.h: Insert space before macro argument list.
19486         * tests/test-argp.c: Likewise.
19487         * lib/argp-namefrob.h: Insert space before function parameter list.
19488         * lib/getaddrinfo.c: Likewise.
19489         * lib/netdb.in.h: Likewise.
19490         * lib/parse-duration.h: Likewise.
19491         * lib/parse-duration.c: Likewise.
19492         * lib/poll.c: Likewise.
19493         * lib/select.c: Likewise.
19494         * lib/trim.h: Likewise.
19495         * tests/test-usleep.c: Likewise.
19496         * lib/ldexpl.c: Insert space before function parameter list and before
19497         function argument list.
19498         * lib/logl.c: Likewise.
19499         * lib/sqrtl.c: Likewise.
19500         * lib/trim.c: Likewise.
19501         * lib/cosl.c: Use GNU style indentation. Insert space before function
19502         argument list.
19503         * lib/sinl.c: Likewise.
19504         * lib/tsearch.c: Insert space after 'for'.
19505         Reported by Jim Meyering.
19506
19507 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
19508
19509         * maint.mk (sc_Wundef_boolean): Check for the presence of the
19510         config header before grepping, as it's not present before
19511         autoreconf/configure are run.  Reported by Simon Josefsson.
19512
19513 2010-03-23  Bruno Haible  <bruno@clisp.org>
19514
19515         pt_chown: Make it work with automake < 1.11.
19516         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
19517         Reported by Simon Josefsson.
19518
19519 2010-03-23  Bruno Haible  <bruno@clisp.org>
19520
19521         pt_chown: Don't depend on GPLed modules.
19522         * lib/pt_chown.c: Don't include idpriv.h.
19523         (main): Don't drop privileges.
19524         * modules/pt_chown (Depends-on): Remove idpriv-drop.
19525         Reported by Simon Josefsson.
19526
19527 2010-03-24  Simon Josefsson  <simon@josefsson.org>
19528
19529         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
19530         suggestions from karl@freefriends.org (Karl Berry).
19531
19532 2010-03-22  Eric Blake  <eblake@redhat.com>
19533
19534         gethostname: further tweaks
19535         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
19536         are overriding gethostname.
19537         Suggested by Bruno Haible.
19538
19539 2010-03-21  Bruno Haible  <bruno@clisp.org>
19540
19541         Fix comments.
19542         * lib/forkpty.c (rpl_forkpty): Fix comment.
19543         * lib/openpty.c (rpl_openpty): Likewise.
19544         Reported by Eric Blake.
19545
19546 2010-03-22  Eric Blake  <eblake@redhat.com>
19547
19548         gethostname: fix build on mingw
19549         * lib/unistd.in.h (includes): Work around fact that mingw
19550         <winsock2.h> re-includes <unistd.h>, by avoiding any
19551         redeclarations if we are being included by <winsock2.h>.
19552         Reported by Matthias Bolte.
19553
19554 2010-03-21  Bruno Haible  <bruno@clisp.org>
19555
19556         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
19557         * lib/forkpty.c (forkpty): New replacement function, from glibc with
19558         modifications.
19559         * lib/pty.in.h (forkpty): Update declaration. Add comments.
19560         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
19561         provide the replacement.
19562         * modules/forkpty (Depends-on): Add openpty, login_tty.
19563         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
19564         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
19565         * doc/glibc-functions/forkpty.texi: More supported platforms.
19566         * config/srclist.txt: Add forkpty.c (commented).
19567
19568 2010-03-21  Bruno Haible  <bruno@clisp.org>
19569
19570         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
19571         (Makefile.am): Verify that PTY_LIB is defined.
19572
19573         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
19574
19575 2010-03-21  Bruno Haible  <bruno@clisp.org>
19576
19577         Tests for module 'login_tty'.
19578         * modules/login_tty-tests: New file.
19579         * tests/test-login_tty.c: New file.
19580
19581         New module 'login_tty'.
19582         * lib/login_tty.c: New file.
19583         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
19584         * modules/login_tty: New file.
19585         * doc/glibc-functions/login_tty.texi: Mention the new module.
19586
19587 2010-03-21  Bruno Haible  <bruno@clisp.org>
19588
19589         login_tty: Documentation.
19590         * doc/glibc-functions/login_tty.texi: New file.
19591         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
19592
19593 2010-03-21  Bruno Haible  <bruno@clisp.org>
19594
19595         pty: Consistent macro naming.
19596         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
19597         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
19598         * modules/pty (configure.ac): Update.
19599
19600 2010-03-21  Bruno Haible  <bruno@clisp.org>
19601
19602         Tests for openpty: Make stricter.
19603         * tests/test-openpty.c (main): Add test of canonical processing and
19604         erase.
19605         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
19606
19607         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
19608         * lib/openpty.c (openpty): New replacement function.
19609         * lib/pty.in.h: Include <termios.h>.
19610         (openpty): Update declaration. Add comments.
19611         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
19612         is not declared, arrange to provide the replacement. Check for _getpty
19613         and posix_openpt.
19614         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
19615         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
19616         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
19617         * modules/pty-tests (test_pty_c___LDADD): New variable.
19618         * doc/glibc-functions/openpty.texi: More supported platforms.
19619
19620 2010-03-21  Bruno Haible  <bruno@clisp.org>
19621
19622         setenv: Tweaks.
19623         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
19624         the test program.
19625         * doc/posix-functions/setenv.texi: Update platforms list.
19626
19627 2010-03-21  Bruno Haible  <bruno@clisp.org>
19628
19629         New module 'unlockpt'.
19630         * lib/unlockpt.c: New file, from glibc with modifications.
19631         * m4/unlockpt.m4: New file.
19632         * modules/unlockpt: New file.
19633         * lib/stdlib.in.h (unlockpt): New declaration.
19634         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
19635         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
19636         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
19637         HAVE_UNLOCKPT.
19638         * doc/posix-functions/unlockpt.texi: Mention the new module.
19639         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
19640         * config/srclist.txt: Add unlockpt.c (commented).
19641
19642 2010-03-21  Jim Meyering  <meyering@redhat.com>
19643
19644         maint.mk: prohibit inclusion of "intprops.h" without use
19645         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
19646
19647 2010-03-21  Bruno Haible  <bruno@clisp.org>
19648
19649         New module 'grantpt'.
19650         * lib/grantpt.c: New file, from glibc with modifications.
19651         * m4/grantpt.m4: New file.
19652         * modules/grantpt: New file.
19653         * lib/stdlib.in.h (grantpt): New declaration.
19654         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
19655         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
19656         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
19657         HAVE_GRANTPT.
19658         * doc/posix-functions/grantpt.texi: Mention the new module.
19659         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
19660         * config/srclist.txt: Add grantpt.c (commented).
19661
19662 2010-03-21  Bruno Haible  <bruno@clisp.org>
19663
19664         New module 'pt_chown'.
19665         * lib/pt_chown.c: New file, from glibc with modifications.
19666         * lib/pty-private.h: New file, from glibc with modifications.
19667         * modules/pt_chown: New file.
19668         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
19669
19670 2010-03-21  Bruno Haible  <bruno@clisp.org>
19671
19672         Tests for module 'ptsname'.
19673         * modules/ptsname-tests: New file.
19674         * tests/test-ptsname.c: New file.
19675
19676         New module 'ptsname'.
19677         * lib/ptsname.c: New file, from glibc with modifications.
19678         * m4/ptsname.m4: New file.
19679         * modules/ptsname: New file.
19680         * lib/stdlib.in.h (ptsname): New declaration.
19681         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
19682         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
19683         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
19684         HAVE_PTSNAME.
19685         * doc/posix-functions/ptsname.texi: Mention the new module.
19686         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
19687         * config/srclist.txt: Add ptsname.c (commented).
19688
19689 2010-03-21  Bruno Haible  <bruno@clisp.org>
19690
19691         Tests for module 'ttyname_r'.
19692         * modules/ttyname_r-tests: New file.
19693         * tests/test-ttyname_r.c: New file.
19694
19695         New module 'ttyname_r'.
19696         * lib/ttyname_r.c: New file.
19697         * m4/ttyname_r.m4: New file.
19698         * modules/ttyname_r: New file.
19699         * lib/unistd.in.h (ttyname_r): New declaration.
19700         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
19701         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
19702         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
19703         HAVE_TTYNAME_R.
19704         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
19705         * doc/posix-functions/ttyname_r.texi: Mention the new module.
19706
19707 2010-03-20  Bruno Haible  <bruno@clisp.org>
19708
19709         signal: Undefine macro definitions in C++ mode.
19710         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
19711         sigfillset): Undefine macro definitions from the system header in C++
19712         mode.
19713         Reported by John W. Eaton <jwe@gnu.org>.
19714
19715 2010-03-20  Bruno Haible  <bruno@clisp.org>
19716
19717         Ensure no #include statements inside extern "C" { ... }.
19718         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
19719         contain #include statements.
19720         * lib/time.in.h: Likewise.
19721
19722 2010-03-20  Bruno Haible  <bruno@clisp.org>
19723
19724         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
19725         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
19726         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
19727         Reported by John W. Eaton <jwe@gnu.org>.
19728
19729 2010-03-20  Bruno Haible  <bruno@clisp.org>
19730
19731         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
19732         Reported by Jim Meyering.
19733
19734 2010-03-20  Bruno Haible  <bruno@clisp.org>
19735
19736         pipe: Set errno upon failure.
19737         * lib/pipe.h: Specify that when -1 is returned, errno is set.
19738         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
19739         errno value in error message.
19740
19741 2010-03-20  Bruno Haible  <bruno@clisp.org>
19742             Jim Meyering  <meyering@redhat.com>
19743
19744         lchown: Avoid "unused variable" warning.
19745         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
19746
19747 2010-03-20  Bruno Haible  <bruno@clisp.org>
19748
19749         Work around unlink() bug on MacOS X 10.5.6.
19750         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
19751         attempting to unlink a parent directory.
19752         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
19753         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
19754         activate for the replacement function.
19755         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
19756
19757 2010-03-20  Bruno Haible  <bruno@clisp.org>
19758
19759         Fix link errors on Solaris 8.
19760         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
19761         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
19762
19763 2010-03-19  Jim Meyering  <meyering@redhat.com>
19764
19765         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
19766         The _LIBC implementation of build_range_exp correctly honors the
19767         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
19768         However, the non-_LIBC implementation would ignore that syntax-bit
19769         flag and return REG_ERANGE unconditionally.
19770         This change makes it honor that flag.
19771         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
19772         Make two pointer parameters "const".
19773         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
19774         (parse_bracket_exp): Update caller.
19775
19776         regex.m4: correct the reversed range endpoint ([b-a]) test
19777         * m4/regex.m4: When requiring that [b-a] evoke failure,
19778         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
19779         test pass once again for x86-based systems.
19780
19781 2010-03-19  Bruno Haible  <bruno@clisp.org>
19782
19783         scandir: Fix link error on Solaris 8.
19784         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
19785         macros.
19786
19787 2010-03-19  Bruno Haible  <bruno@clisp.org>
19788
19789         getusershell: Fix documentation.
19790         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
19791         module.
19792         * doc/glibc-functions/setusershell.texi: Likewise.
19793
19794         getusershell: Provide declaration, missing on Solaris 9.
19795         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
19796         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
19797         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
19798         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
19799         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
19800         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
19801         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
19802         HAVE_GETUSERSHELL.
19803         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
19804
19805 2010-03-19  Bruno Haible  <bruno@clisp.org>
19806
19807         wctype: Provide iswblank function.
19808         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
19809         exists and is fine.
19810         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
19811         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
19812         * tests/test-wctype.c (main): Re-enable the iswblank tests.
19813         * doc/posix-functions/iswblank.texi: Update.
19814
19815 2010-03-19  Bruno Haible  <bruno@clisp.org>
19816
19817         Tests of module 'pty' in C++ mode.
19818         * modules/pty-tests: New file.
19819         * tests/test-pty-c++.cc: New file.
19820         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
19821
19822 2010-03-19  Eric Blake  <eblake@redhat.com>
19823
19824         logb: fix documentation
19825         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
19826         1.5 declaration bug.
19827
19828         forkpty, openpty: prefer glibc's const-safe prototype
19829         * lib/forkpty.c (rpl_forkpty): New file.
19830         * lib/openpty.c (rpl_openpty): Likewise.
19831         * modules/forkpty (Files): Distribute it.
19832         * modules/openpty (Files): Likewise.
19833         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
19834         check...
19835         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
19836         replacement for for non-const BSD signature.
19837         * modules/pty (Makefile.am): Substitute witnesses.
19838         * lib/pty.in.h (forkpty, openpty): Declare replacements.
19839         * tests/test-forkpty.c: Update signature check.
19840         * tests/test-openpty.c: Likewise.
19841         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
19842         * doc/glibc-functions/openpty.texi (openpty): Likewise.
19843
19844         forkpty, openpty: split functions into new modules
19845         * modules/pty (Makefile.am): Substitute new witnesses.
19846         (Libraries): Move library detection...
19847         * modules/forkpty: ...into new module.
19848         * modules/openpty: Another new module.
19849         * modules/pty-tests: Rename and split...
19850         * modules/forkpty-tests: ...to this...
19851         * modules/openpty-tests: ...and this.
19852         * tests/test-pty.c: Rename and split...
19853         * tests/test-forkpty.c: ...to this...
19854         * tests/test-openpty.c: ...and this.
19855         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
19856         (gl_PTY): Split library searching...
19857         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
19858         (gl_FORKPTY, gl_OPENPTY): New macros.
19859         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
19860         * NEWS: Mention the split.
19861         * MODULES.html.sh (Misc): Document the modules.
19862         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
19863         * doc/glibc-functions/openpty.texi (openpty): Likewise.
19864
19865         pty: improve replacement header
19866         * lib/pty.in.h: New file.
19867         * modules/pty (Files): Ship it.
19868         (Makefile.am): Always build replacement.
19869         * m4/pty.m4: Rename...
19870         * m4/pty_h.m4: ...to this.
19871         (gl_PTY): Modernize setting of witness macros; update check of
19872         forkpty to take proper advantage of cache.
19873         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
19874
19875         getopt: avoid compiler warning
19876         * lib/getopt.c (attribute_hidden): Remove unused macro.
19877
19878 2010-03-18  Bruno Haible  <bruno@clisp.org>
19879
19880         Fix link errors on Solaris 8.
19881         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
19882         * modules/search-tests (test_search_c___LDADD): Likewise.
19883         * modules/signal-tests (test_signal_c___LDADD): Likewise.
19884         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
19885         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
19886         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
19887         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
19888         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
19889         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
19890
19891 2010-03-18  Bruno Haible  <bruno@clisp.org>
19892
19893         Fix bug introduced on 2010-03-14.
19894         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
19895         (gl_SPAWN_H): Require it.
19896         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
19897         Reported by Simon Josefsson.
19898
19899 2010-03-18  Bruno Haible  <bruno@clisp.org>
19900
19901         Fix typo introduced on 2009-12-31.
19902         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
19903         posix_spawn_file_actions_adddup2.
19904
19905 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
19906         and Eric Blake  <eblake@redhat.com>
19907
19908         test-vc-list-files-git: make more robust
19909         * tests/test-vc-list-files-git.sh: Unset problematic environment
19910         variables.  Chain commands together.
19911
19912 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
19913
19914         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
19915         `AC_CHECK_DECL' invocation.
19916
19917 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
19918
19919         * lib/inttostr.c (inttostr): Make sure the invocation of verify
19920         appears before executable statements. Suggested by Petr Sumbera
19921         <Petr.Sumbera@Sun.COM>.
19922
19923 2010-03-14  Bruno Haible  <bruno@clisp.org>
19924
19925         * tests/test-flock.c (test_exclusive): Comment out a test that causes
19926         portability problems. Instead use a simpler test.
19927         (main): Check that invalid arguments are rejected only on Linux.
19928
19929 2010-03-14  Bruno Haible  <bruno@clisp.org>
19930
19931         Fix bug introduced on 2009-12-31.
19932         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
19933         gl_PREREQ_SYS_H_WINSOCK2 always.
19934         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
19935         SYS_SOCKET_H variable.
19936         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
19937         Update comments.
19938         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
19939         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
19940         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
19941         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
19942         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
19943
19944 2010-03-14  Bruno Haible  <bruno@clisp.org>
19945
19946         Fix values returned by sinl, cosl.
19947         * lib/trigl.h: Add specification comments.
19948         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
19949         that combines the values from the precomputed table with the values of
19950         the Chebyshev polynomials.
19951
19952 2010-03-14  Bruno Haible  <bruno@clisp.org>
19953
19954         Fix compilation error when modules 'posix_spawn[p]' are not used.
19955         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
19956         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
19957
19958 2010-03-14  Bruno Haible  <bruno@clisp.org>
19959
19960         Fix compilation error on mingw when module 'time_r' is not used.
19961         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
19962         is 1.
19963         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
19964         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
19965         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
19966         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
19967
19968 2010-03-14  Bruno Haible  <bruno@clisp.org>
19969
19970         Fix compilation error with Sun C.
19971         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
19972         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
19973         instead of GCC specific ULONG_LONG_MAX.
19974         * lib/xstrtoll.c: Likewise.
19975         * lib/xstrtoull.c: Likewise.
19976
19977 2010-03-13  Bruno Haible  <bruno@clisp.org>
19978
19979         Allow the user to disable C++ code and tests.
19980         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
19981         (gl_PROG_ANSI_CXX): Require it.
19982
19983 2010-03-13  Bruno Haible  <bruno@clisp.org>
19984
19985         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
19986         cases.
19987
19988 2010-03-13  Bruno Haible  <bruno@clisp.org>
19989
19990         Test that gnulib does not break the standard C++ headers.
19991         * tests/test-locale-c++2.cc: New file.
19992         * modules/locale-tests (Files): Add it.
19993         (Makefile.am): Compile it for test-locale-c++.
19994         * tests/test-math-c++2.cc: New file.
19995         * modules/math-tests (Files): Add it.
19996         (Makefile.am): Compile it for test-math-c++.
19997         * tests/test-signal-c++2.cc: New file.
19998         * modules/signal-tests (Files): Add it.
19999         (Makefile.am): Compile it for test-signal-c++.
20000         * tests/test-stdio-c++2.cc: New file.
20001         * modules/stdio-tests (Files): Add it.
20002         (Makefile.am): Compile it for test-stdio-c++.
20003         * tests/test-stdlib-c++2.cc: New file.
20004         * modules/stdlib-tests (Files): Add it.
20005         (Makefile.am): Compile it for test-stdlib-c++.
20006         * tests/test-string-c++2.cc: New file.
20007         * modules/string-tests (Files): Add it.
20008         (Makefile.am): Compile it for test-string-c++.
20009         * tests/test-time-c++2.cc: New file.
20010         * modules/time-tests (Files): Add it.
20011         (Makefile.am): Compile it for test-time-c++.
20012         Reported by John W. Eaton <jwe@gnu.org>.
20013
20014 2010-03-13  Bruno Haible  <bruno@clisp.org>
20015
20016         * gnulib-tool (func_usage): Clarify which options are available for
20017         --create-testdir and --create-megatestdir.
20018
20019 2010-03-13  Bruno Haible  <bruno@clisp.org>
20020
20021         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
20022         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
20023         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
20024         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
20025         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
20026         when appropriate.
20027         Reported by Jim Meyering.
20028
20029 2010-03-12  Simon Josefsson  <simon@josefsson.org>
20030
20031         * gnulib-tool (func_import): Explain origin of code.
20032
20033 2010-03-12  Bruno Haible  <bruno@clisp.org>
20034
20035         Fix problem with automake's definition of CXXLINK.
20036         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
20037         Reported by Simon Josefsson and Ludovic Courtès.
20038
20039 2010-03-12  Bruno Haible  <bruno@clisp.org>
20040
20041         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
20042         stable releases.
20043
20044 2010-03-11  Bruno Haible  <bruno@clisp.org>
20045
20046         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
20047         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
20048         whether the system provides one variant or multiple variants of the
20049         function.
20050         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
20051         C++ compilers.
20052         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
20053         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
20054         Reported by Jim Meyering.
20055
20056 2010-03-09  Simon Josefsson  <simon@josefsson.org>
20057
20058         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
20059
20060 2010-03-08  Bruno Haible  <bruno@clisp.org>
20061
20062         gnulib-tool: Add support for --libtool in --create-testdir.
20063         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
20064         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
20065
20066 2010-03-08  Eric Blake  <eblake@redhat.com>
20067
20068         gnulib-tool.texi: mention possibility of git submodule
20069         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
20070         submodules.
20071         * doc/.gitignore: Ignore another generated file.
20072
20073 2010-03-08  Karl Berry  <karl@gnu.org>
20074
20075         * doc/gnulib-tool.texi (VCS Issues): Mention third option
20076         of committing gnulib files while skipping others.
20077
20078 2010-03-07  Bruno Haible  <bruno@clisp.org>
20079
20080         Tests of module 'wctype' in C++ mode.
20081         * tests/test-wctype-c++.cc: New file.
20082         * modules/wctype-tests (Files): Add it and tests/signature.h.
20083         (Depends-on): Add ansi-c++-opt.
20084         (Makefile.am): Arrange to compile and run test-wctype-c++.
20085
20086         Tests of module 'wchar' in C++ mode.
20087         * tests/test-wchar-c++.cc: New file.
20088         * modules/wchar-tests (Files): Add it and tests/signature.h.
20089         (Depends-on): Add ansi-c++-opt.
20090         (Makefile.am): Arrange to compile and run test-wchar-c++.
20091         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
20092         gl_MODULE_INDICATOR.
20093
20094         Tests of module 'unistd' in C++ mode.
20095         * tests/test-unistd-c++.cc: New file.
20096         * modules/unistd-tests (Files): Add it and tests/signature.h.
20097         (Depends-on): Add ansi-c++-opt.
20098         (Makefile.am): Arrange to compile and run test-unistd-c++.
20099         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
20100         gl_MODULE_INDICATOR.
20101
20102         Tests of module 'time' in C++ mode.
20103         * tests/test-time-c++.cc: New file.
20104         * modules/time-tests (Files): Add it and tests/signature.h.
20105         (Depends-on): Add ansi-c++-opt.
20106         (Makefile.am): Arrange to compile and run test-time-c++.
20107         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
20108
20109         Tests of module 'sys_time' in C++ mode.
20110         * tests/test-sys_time-c++.cc: New file.
20111         * modules/sys_time-tests (Files): Add it and tests/signature.h.
20112         (Depends-on): Add ansi-c++-opt.
20113         (Makefile.am): Arrange to compile and run test-sys_time-c++.
20114         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
20115         gl_MODULE_INDICATOR.
20116
20117         Tests of module 'sys_stat' in C++ mode.
20118         * tests/test-sys_stat-c++.cc: New file.
20119         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
20120         (Depends-on): Add ansi-c++-opt.
20121         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
20122         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
20123         gl_MODULE_INDICATOR.
20124
20125         Tests of module 'sys_socket' in C++ mode.
20126         * tests/test-sys_socket-c++.cc: New file.
20127         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
20128         (Depends-on): Add ansi-c++-opt.
20129         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
20130         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
20131         gl_MODULE_INDICATOR.
20132
20133         Tests of module 'sys_select' in C++ mode.
20134         * tests/test-sys_select-c++.cc: New file.
20135         * modules/sys_select-tests (Files): Add it and tests/signature.h.
20136         (Depends-on): Add ansi-c++-opt.
20137         (Makefile.am): Arrange to compile and run test-sys_select-c++.
20138         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
20139         gl_MODULE_INDICATOR.
20140
20141         Tests of module 'sys_ioctl' in C++ mode.
20142         * tests/test-sys_ioctl-c++.cc: New file.
20143         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
20144         (Depends-on): Add ansi-c++-opt.
20145         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
20146         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
20147         gl_MODULE_INDICATOR.
20148
20149         Tests of module 'string' in C++ mode.
20150         * tests/test-string-c++.cc: New file.
20151         * modules/string-tests (Files): Add it and tests/signature.h.
20152         (Depends-on): Add ansi-c++-opt.
20153         (Makefile.am): Arrange to compile and run test-string-c++.
20154         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
20155         gl_MODULE_INDICATOR.
20156
20157         Tests of module 'stdlib' in C++ mode.
20158         * tests/test-stdlib-c++.cc: New file.
20159         * modules/stdlib-tests (Files): Add it and tests/signature.h.
20160         (Depends-on): Add ansi-c++-opt.
20161         (Makefile.am): Arrange to compile and run test-stdlib-c++.
20162         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
20163         gl_MODULE_INDICATOR.
20164
20165         Tests of module 'stdio' in C++ mode.
20166         * tests/test-stdio-c++.cc: New file.
20167         * modules/stdio-tests (Files): Add it and tests/signature.h.
20168         (Depends-on): Add ansi-c++-opt.
20169         (Makefile.am): Arrange to compile and run test-stdio-c++.
20170         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
20171         gl_MODULE_INDICATOR.
20172
20173         Tests of module 'spawn' in C++ mode.
20174         * tests/test-spawn-c++.cc: New file.
20175         * modules/spawn-tests (Files): Add it and tests/signature.h.
20176         (Depends-on): Add ansi-c++-opt.
20177         (Makefile.am): Arrange to compile and run test-spawn-c++.
20178         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
20179         gl_MODULE_INDICATOR.
20180
20181         Tests of module 'signal' in C++ mode.
20182         * tests/test-signal-c++.cc: New file.
20183         * modules/signal-tests (Files): Add it and tests/signature.h.
20184         (Depends-on): Add ansi-c++-opt.
20185         (Makefile.am): Arrange to compile and run test-signal-c++.
20186         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
20187         gl_MODULE_INDICATOR.
20188
20189         Tests of module 'search' in C++ mode.
20190         * tests/test-search-c++.cc: New file.
20191         * modules/search-tests (Files): Add it and tests/signature.h.
20192         (Depends-on): Add ansi-c++-opt.
20193         (Makefile.am): Arrange to compile and run test-search-c++.
20194         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
20195         gl_MODULE_INDICATOR.
20196
20197         Tests of module 'math' in C++ mode.
20198         * tests/test-math-c++.cc: New file.
20199         * modules/math-tests (Files): Add it and tests/signature.h.
20200         (Depends-on): Add ansi-c++-opt.
20201         (Makefile.am): Arrange to compile and run test-math-c++.
20202         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
20203
20204         Tests of module 'locale' in C++ mode.
20205         * tests/test-locale-c++.cc: New file.
20206         * modules/locale-tests (Files): Add it and tests/signature.h.
20207         (Depends-on): Add ansi-c++-opt.
20208         (Makefile.am): Arrange to compile and run test-locale-c++.
20209         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
20210         gl_MODULE_INDICATOR.
20211
20212         Tests of module 'langinfo' in C++ mode.
20213         * tests/test-langinfo-c++.cc: New file.
20214         * modules/langinfo-tests (Files): Add it and tests/signature.h.
20215         (Depends-on): Add ansi-c++-opt.
20216         (Makefile.am): Arrange to compile and run test-langinfo-c++.
20217         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
20218         gl_MODULE_INDICATOR.
20219
20220         Tests of module 'iconv-h' in C++ mode.
20221         * tests/test-iconv-h-c++.cc: New file.
20222         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
20223         (Depends-on): Add ansi-c++-opt.
20224         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
20225
20226         Tests of module 'glob' in C++ mode.
20227         * tests/test-glob-c++.cc: New file.
20228         * modules/glob-tests (Files): Add it.
20229         (Depends-on): Add ansi-c++-opt.
20230         (Makefile.am): Arrange to compile and run test-glob-c++.
20231
20232         Tests of module 'fcntl-h' in C++ mode.
20233         * tests/test-fcntl-h-c++.cc: New file.
20234         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
20235         (Depends-on): Add ansi-c++-opt.
20236         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
20237         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
20238         gl_MODULE_INDICATOR.
20239
20240         Tests of module 'dirent' in C++ mode.
20241         * tests/test-dirent-c++.cc: New file.
20242         * modules/dirent-tests (Files): Add it and tests/signature.h.
20243         (Depends-on): Add ansi-c++-opt.
20244         (Makefile.am): Arrange to compile and run test-dirent-c++.
20245         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
20246         gl_MODULE_INDICATOR.
20247
20248         New module 'ansi-c++-opt'.
20249         * modules/ansi-c++-opt: New file.
20250         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
20251
20252         Document C++ namespace mode.
20253         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
20254
20255         wctype: Avoid #define replacements in C++ mode.
20256         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
20257         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
20258         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
20259         In C++, define a namespaced alias symbol.
20260         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
20261         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
20262         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
20263         rule.
20264
20265         wchar: Avoid #define replacements in C++ mode.
20266         * lib/wchar.in.h: Include c++defs.h.
20267         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
20268         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
20269         symbol.
20270         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
20271         * modules/wchar (Depends-on): Add c++defs.
20272         (Makefile.am): Update wchar.h rule.
20273
20274         unistd: Avoid #define replacements in C++ mode.
20275         * lib/unistd.in.h: Include c++defs.h.
20276         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
20277         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
20278         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
20279         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
20280         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
20281         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
20282         symbol.
20283         (environ): Update.
20284         * modules/unistd (Depends-on): Add c++defs.
20285         (Makefile.am): Update unistd.h rule.
20286
20287         time: Avoid #define replacements in C++ mode.
20288         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
20289         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
20290         define a namespaced alias symbol.
20291         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
20292         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
20293         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
20294         * modules/time (Depends-on): Add c++defs, warn-on-use.
20295         (Makefile.am): Update time.h rule.
20296         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
20297         * modules/nanosleep (configure.ac): Likewise.
20298         * modules/strptime (configure.ac): Likewise.
20299         * modules/timegm (configure.ac): Likewise.
20300
20301         sys_time: Avoid #define replacements in C++ mode.
20302         * lib/sys_time.in.h: Include c++defs.h.
20303         (gettimeofday): In C++, define a namespaced alias symbol.
20304         * modules/sys_time (Depends-on): Add c++defs.
20305         (Makefile.am): Update sys/time.h rule.
20306
20307         sys_stat: Avoid #define replacements in C++ mode.
20308         * lib/sys_stat.in.h: Include c++defs.h.
20309         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
20310         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
20311         namespaced alias symbol.
20312         In C++, define a namespaced alias symbol.
20313         * modules/sys_stat (Depends-on): Add c++defs.
20314         (Makefile.am): Update sys/stat.h rule.
20315
20316         sys_socket: Avoid #define replacements in C++ mode.
20317         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
20318         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
20319         definitions also when the system has a <sys/socket.h>.
20320         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
20321         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
20322         In C++, define a namespaced alias symbol.
20323         * modules/sys_socket (Depends-on): Add c++defs.
20324         (Makefile.am): Update sys/socket.h rule.
20325
20326         sys_select: Avoid #define replacements in C++ mode.
20327         * lib/sys_select.in.h: Include c++defs.h. Enable the function
20328         definitions also when the system has a <sys/select.h>.
20329         (select): In C++, define a namespaced alias symbol.
20330         * modules/sys_select (Depends-on): Add c++defs.
20331         (Makefile.am): Update sys/select.h rule.
20332
20333         sys_ioctl: Avoid #define replacements in C++ mode.
20334         * lib/sys_ioctl.in.h: Include c++defs.h.
20335         (ioctl): In C++, define a namespaced alias symbol.
20336         * modules/sys_ioctl (Depends-on): Add c++defs.
20337         (Makefile.am): Update sys/ioctl.h rule.
20338
20339         string: Avoid #define replacements in C++ mode.
20340         * lib/string.in.h: Include c++defs.h.
20341         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
20342         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
20343         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
20344         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
20345         strsignal, strverscmp): In C++, define a namespaced alias symbol.
20346         * modules/string (Depends-on): Add c++defs.
20347         (Makefile.am): Update string.h rule.
20348
20349         stdlib: Avoid #define replacements in C++ mode.
20350         * lib/stdlib.in.h: Include c++defs.h.
20351         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
20352         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
20353         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
20354         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
20355         symbol.
20356         * modules/stdlib (Depends-on): Add c++defs.
20357         (Makefile.am): Update stdlib.h rule.
20358
20359         stdio: Avoid #define replacements in C++ mode.
20360         * lib/stdio.in.h: Include c++defs.h.
20361         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
20362         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
20363         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
20364         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
20365         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
20366         namespaced alias symbol.
20367         * modules/stdio (Depends-on): Add c++defs.
20368         (Makefile.am): Update stdio.h rule.
20369
20370         spawn: Avoid #define replacements in C++ mode.
20371         * lib/spawn.in.h: Include c++defs.h.
20372         (posix_spawn, posix_spawnp, posix_spawnattr_init,
20373         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
20374         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
20375         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
20376         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
20377         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
20378         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
20379         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
20380         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
20381         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
20382         In C++, define a namespaced alias symbol.
20383         * modules/spawn (Depends-on): Add c++defs.
20384         (Makefile.am): Update spawn.h rule.
20385
20386         signal: Avoid #define replacements in C++ mode.
20387         * lib/signal.in.h: Include c++defs.h.
20388         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
20389         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
20390         namespaced alias symbol.
20391         * modules/signal (Depends-on): Add c++defs.
20392         (Makefile.am): Update signal.h rule.
20393
20394         search: Avoid #define replacements in C++ mode.
20395         * lib/search.in.h: Include c++defs.h.
20396         (_gl_search_compar_fn, _gl_search_action_fn): New types.
20397         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
20398         symbol.
20399         * modules/search (Depends-on): Add c++defs.
20400         (Makefile.am): Update search.h rule.
20401
20402         math: Avoid #define replacements in C++ mode.
20403         * lib/math.in.h: Include c++defs.h.
20404         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
20405         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
20406         trunc, truncl): In C++, define a namespaced alias symbol.
20407         * modules/math (Depends-on): Add c++defs.
20408         (Makefile.am): Update math.h rule.
20409
20410         locale: Avoid #define replacements in C++ mode.
20411         * lib/locale.in.h: Include c++defs.h.
20412         (duplocale): In C++, define a namespaced alias symbol.
20413         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
20414         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
20415         * modules/locale (Depends-on): Add c++defs.
20416         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
20417
20418         langinfo: Avoid #define replacements in C++ mode.
20419         * lib/langinfo.in.h: Include c++defs.h.
20420         (nl_langinfo): In C++, define a namespaced alias symbol.
20421         * modules/langinfo (Depends-on): Add c++defs.
20422         (Makefile.am): Update langinfo.h rule.
20423
20424         iconv-h: Avoid #define replacements in C++ mode.
20425         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
20426         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
20427         symbol.
20428         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
20429         whenever iconv is present.
20430         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
20431         (Makefile.am): Update iconv.h rule.
20432
20433         glob: Avoid #define replacements in C++ mode.
20434         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
20435         (_gl_glob_errfunc_fn): New type.
20436         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
20437         symbol.
20438         * modules/glob (Depends-on): Add c++defs, warn-on-use.
20439         (Makefile.am): Update glob.h rule.
20440
20441         fcntl-h: Avoid #define replacements in C++ mode.
20442         * lib/fcntl.in.h: Include c++defs.h.
20443         (fcntl, open, openat): In C++, define a namespaced alias symbol.
20444         * modules/fcntl-h (Depends-on): Add c++defs.
20445         (Makefile.am): Update fcntl.h rule.
20446
20447         dirent: Avoid #define replacements in C++ mode.
20448         * lib/dirent.in.h: Include c++defs.h.
20449         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
20450         namespaced alias symbol.
20451         (dirfd): Update declaration.
20452         * modules/dirent (Depends-on): Add c++defs.
20453         (Makefile.am): Update dirent.h rule.
20454
20455         ctype: Make it usable in C++ code.
20456         * lib/ctype.in.h: Include c++defs.h.
20457         (isblank): Declare as extern "C".
20458         * modules/ctype (Depends-on): Add c++defs.
20459         (Makefile.am): Update ctype.h rule.
20460
20461         New module 'c++defs'.
20462         * modules/c++defs: New file.
20463         * build-aux/c++defs.h: New file.
20464         Reported by John W. Eaton <jwe@gnu.org>.
20465
20466 2010-03-07  Bruno Haible  <bruno@clisp.org>
20467
20468         logb: Provide missing declaration for Cygwin.
20469         * lib/math.in.h (logb): New declaration.
20470         * m4/logb.m4: New file.
20471         * modules/logb (Files): Add m4/logb.m4.
20472         (Depends-on): Add math.
20473         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
20474         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
20475         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
20476         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
20477         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
20478
20479 2010-03-07  Bruno Haible  <bruno@clisp.org>
20480
20481         Fix test-cond link error.
20482         * tests/test-cond.c: Include <stdio.h>.
20483
20484 2010-03-07  Bruno Haible  <bruno@clisp.org>
20485
20486         Fix test-dirent-safer link error.
20487         * modules/dirent-safer-tests (Makefile.am): Define
20488         test_dirent_safer_LDADD.
20489
20490 2010-03-07  Bruno Haible  <bruno@clisp.org>
20491
20492         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
20493         among default module list.
20494
20495 2010-03-07  Bruno Haible  <bruno@clisp.org>
20496
20497         Fix link error on platforms with GNU libiconv.
20498         * modules/unistr/u8-strcoll-tests (Makefile): Define
20499         test_u8_strcoll_LDADD.
20500         * modules/unistr/u16-strcoll-tests (Makefile): Define
20501         test_u16_strcoll_LDADD.
20502         * modules/unistr/u32-strcoll-tests (Makefile): Define
20503         test_u32_strcoll_LDADD.
20504
20505 2010-03-07  Bruno Haible  <bruno@clisp.org>
20506
20507         Use POSIX declarations for socket functions.
20508         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
20509         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
20510         rpl_sendto): Change declaration to match POSIX.
20511         * lib/connect.c (rpl_connect): Likewise.
20512         * lib/accept.c (rpl_accept): Likewise.
20513         * lib/bind.c (rpl_bind): Likewise.
20514         * lib/getpeername.c (rpl_getpeername): Likewise.
20515         * lib/getsockname.c (rpl_getsockname): Likewise.
20516         * lib/recv.c (rpl_recv): Likewise.
20517         * lib/send.c (rpl_send): Likewise.
20518         * lib/recvfrom.c (rpl_recvfrom): Likewise.
20519         * lib/sendto.c (rpl_sendto): Likewise.
20520
20521 2010-03-06  Bruno Haible  <bruno@clisp.org>
20522
20523         Clarify access, euidaccess, faccessat.
20524         * doc/posix-functions/faccessat.texi: Mention security problem under
20525         "Other problems", not "Portability problems".
20526         * doc/posix-functions/access.texi: Likewise. Mention a related security
20527         problem.
20528         * doc/glibc-functions/euidaccess.texi: Mention security problems.
20529         * lib/euidaccess.c: Add comments about platforms.
20530         * lib/unistd.in.h (access, euidaccess): Add warnings.
20531
20532 2010-03-07  Bruno Haible  <bruno@clisp.org>
20533
20534         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
20535         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
20536         (POSIX_SPAWN_SETSCHEDULER): Likewise.
20537         (POSIX_SPAWN_USEVFORK): Define in a way that works when
20538         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
20539         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
20540         declare when POSIX_SPAWN_SETSCHEDULER is zero.
20541         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
20542         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
20543         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
20544         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
20545         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
20546         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
20547         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
20548         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
20549         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
20550         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
20551         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
20552         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
20553         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
20554         Likewise.
20555         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
20556         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
20557         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
20558         Likewise.
20559         * tests/test-spawn.c (main): Make it work when
20560         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
20561
20562 2010-03-07  Bruno Haible  <bruno@clisp.org>
20563
20564         Fix incorrect Makefile.am generation in German locale.
20565         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
20566         Execute sed command with character range in C locale.
20567
20568 2010-03-06  Bruno Haible  <bruno@clisp.org>
20569
20570         Tests for module 'iconv-h'.
20571         * modules/iconv-h-tests: New file.
20572         * tests/test-iconv-h.c: New file.
20573
20574         New module 'iconv-h'.
20575         * modules/iconv-h: New file.
20576         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
20577         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
20578         (configure.ac): Remove gl_ICONV_H.
20579         (Makefile.am): Remove rule for iconv.h.
20580
20581 2010-03-06  Bruno Haible  <bruno@clisp.org>
20582
20583         More consistent naming of *.m4 files.
20584         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
20585         * modules/wctype (Files): Update.
20586
20587         More consistent naming of *.m4 files.
20588         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
20589         * modules/wchar (Files): Update.
20590
20591 2010-03-06  Jim Meyering  <meyering@redhat.com>
20592
20593         euidaccess: relax license to LGPLv2+
20594         * modules/euidaccess (License): Relax to LGPLv2+.
20595
20596 2010-03-06  Bruno Haible  <bruno@clisp.org>
20597
20598         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
20599         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
20600         (Makefile.am): Augment lib_SOURCES instead.
20601
20602 2010-03-04  Jim Meyering  <meyering@redhat.com>
20603
20604         utime: remove obsolete module
20605         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
20606         unnecessary for years, and has been marked as obsolete for 10 months.
20607         * modules/utime: Remove file.
20608         * lib/utime.c: Remove file.
20609         * m4/utime.m4: Remove file.
20610         * m4/utimes-null.m4: Remove file.
20611         * doc/posix-functions/utime.texi (utime): Remove reference to
20612         the module.  Move the sole "fixed by gnulib" item into the
20613         "problems not fixed by Gnulib" list.
20614         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
20615
20616 2010-03-05  Simon Josefsson  <simon@josefsson.org>
20617
20618         * modules/exit (License): Relax license to LGPLv2+.
20619         (Status): Mark as obsolete.
20620         * NEWS: Mention deprecated 'exit' module.
20621         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
20622         of now obsolete 'exit'.
20623
20624 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20625
20626         fts-lgpl: remove unused module
20627         * modules/fts-lgpl: Remove.
20628         * MODULES.html.sh (func_all_modules): Adjust.
20629         * check-module (find_included_lib_files): Adjust.
20630         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
20631
20632 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
20633
20634         copy-acl: enhance Solaris ACL error handling
20635         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
20636         * lib/set-mode-acl.c (qset_acl): Likewise.
20637
20638 2010-03-02  Bruno Haible  <bruno@clisp.org>
20639
20640         spawn: Don't override the system defined values on FreeBSD 8.
20641         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
20642         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
20643         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
20644         if HAVE_POSIX_SPAWN is 1.
20645         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
20646
20647 2010-03-01  Bruno Haible  <bruno@clisp.org>
20648
20649         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
20650         regarding Automake.
20651
20652 2010-02-25  Bruno Haible  <bruno@clisp.org>
20653
20654         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
20655         * gnulib-tool: Define 'echo' as a function only before the ksh alias
20656         setting, not afterwards.
20657         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
20658
20659 2010-02-24  Eric Blake  <eblake@redhat.com>
20660
20661         bootstrap, git-version-gen: use timestamp
20662         * build-aux/git-version-gen (scriptversion): Force UTC.
20663         * build-aux/bootstrap (scriptversion): New variable.
20664
20665         bootstrap: allow older git
20666         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
20667         older than 1.6.4.  Requested by the libvirt project.
20668
20669 2010-02-23  Eric Blake  <eblake@redhat.com>
20670
20671         warn-on-use: work with old autoconf
20672         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
20673         AS_VAR semantics of autoconf 2.60.
20674         Reported by Bruno Haible.
20675
20676         bootstrap: improve some comments
20677         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
20678         clarification comments.
20679
20680         gettimeofday: provide correct function
20681         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
20682         when replacement is declared, otherwise provide gettimeofday.
20683         Reported by Michael Goffioul.
20684
20685 2010-02-23  Jim Meyering  <meyering@redhat.com>
20686
20687         lib-ignore: relax license to "unlimited", not LGPLv2+
20688         * modules/lib-ignore (License): Relax to "unlimited".
20689
20690 2010-02-23  Jim Meyering  <meyering@redhat.com>
20691
20692         lib-ignore: relax license to LGPLv2+
20693         * modules/lib-ignore (License): Relax to LGPLv2+.
20694
20695 2010-02-22  Eric Blake  <eblake@redhat.com>
20696
20697         lseek: avoid bash 3.2 broken pipe bug
20698         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
20699         warning from bash 3.2.
20700         Reported by Ben Pfaff, with analysis from Bruno Haible.
20701
20702         bootstrap: support non-FSF copyright holder
20703         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
20704         bootstrap.conf override of COPYRIGHT_HOLDER.
20705         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
20706
20707         bootstrap: interoperate with gettext 0.14.1
20708         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
20709
20710         bootstrap: allow for alternate submodule location
20711         * build-aux/bootstrap (gnulib_path): New variable; use instead of
20712         hardcoding submodule location.
20713         (gnulib_mk): Allow direct use of Makefile.am.
20714
20715         bootstrap: use GNULIB_SRCDIR to reduce disk usage
20716         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
20717         rather than reconfiguring where the submodule points.
20718
20719         gettimeofday: restore support for platforms that lack function
20720         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
20721         replacement if function is missing.
20722         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
20723         * modules/sys_time (Makefile.am): Substitute it.
20724         * lib/sys_time.in.h (gettimeofday): Check it.
20725         Reported by Michael Goffioul.
20726
20727 2010-02-21  Bruno Haible  <bruno@clisp.org>
20728
20729         * lib/stdio.in.h (obstack_printf): Fix typo.
20730
20731 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
20732
20733         vc-list-files: use bzr ls's -R option
20734         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
20735         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
20736
20737 2010-02-21  Jim Meyering  <meyering@redhat.com>
20738
20739         init.sh: fix EXEEXT shims to work also for names like test-prog
20740         * tests/init.sh: Re-exec a better shell, when needed.
20741         If the current shell lacks support for posix $(...), an init.sh-using
20742         test will now try to find a shell that supports that.  If EXEEXT is
20743         nonempty, we also require support for hyphen-in-alias-name and shell
20744         substitutions like ${var#glob}.  Failure to find such a shell results
20745         in a skipped test.
20746
20747 2010-02-21  Bruno Haible  <bruno@clisp.org>
20748
20749         Really work around around "broken pipe" error message from bash 3.2.
20750         * gnulib-tool (func_reset_sigpipe): Remove function.
20751         (echo): In bash 3.2, define to a function that uses printf.
20752         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
20753
20754 2010-02-20  Bruno Haible  <bruno@clisp.org>
20755
20756         Restore support for automake 1.9.6 with autoconf 2.61.
20757         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
20758         Reported by James Youngman <jay@gnu.org>.
20759
20760 2010-02-20  Bruno Haible  <bruno@clisp.org>
20761
20762         Improve *printf warning condition.
20763         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
20764         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
20765         and the function is overridden due to SIGPIPE emulation.
20766
20767 2010-02-20  Bruno Haible  <bruno@clisp.org>
20768
20769         * lib/stdio.in.h: Tweak comments.
20770
20771 2010-02-19  Bruno Haible  <bruno@clisp.org>
20772
20773         Make it easier to find modules. New gnulib-tool option '--find'.
20774         * gnulib-tool: New option --find.
20775         (func_usage): Document it.
20776         (func_sanitize_modulelist): New function, extracted from
20777         func_all_modules.
20778         (func_all_modules): Invoke it.
20779         * doc/gnulib-tool.texi (Which modules?): New node.
20780
20781 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
20782
20783         * lib/sys_select.in.h: Provide select replacement even if
20784         sys/select.h exists on a system, for Interix.
20785
20786 2010-02-18  Jim Meyering  <meyering@redhat.com>
20787
20788         init.sh: don't use $(...) just yet
20789         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
20790         to accommodate e.g., Solaris' /bin/sh.
20791
20792 2010-02-17  Bruno Haible  <bruno@clisp.org>
20793
20794         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
20795         Reported by Ludovic Courtès <ludo@gnu.org>.
20796
20797 2010-02-16  Simon Josefsson  <simon@josefsson.org>
20798
20799         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
20800         linking with -lintl.
20801
20802 2010-02-17  Simon Josefsson  <simon@josefsson.org>
20803
20804         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
20805         if not provided by the system's netdb.h.  Reported by
20806         ludo@gnu.org (Ludovic Courtès).
20807
20808 2010-02-15  Jim Meyering  <meyering@redhat.com>
20809
20810         init.sh: improve portability and efficiency
20811         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
20812         "dummy" in a for loop.
20813         Use '!', not '^' to select the complement of a character set used
20814         in a "case" statement.
20815         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
20816         Suggestions from Eric Blake.
20817
20818         init.sh: automatically accommodate programs with the .exe suffix
20819         Automatically arrange for an invocation of "prog" to execute the
20820         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
20821         may use the simpler "prog", yet still work when built on a system
20822         that requires specifying the added suffix.
20823         Do this by constructing a function named "prog" that invokes
20824         "prog.exe" for each .exe file in selected directories.
20825         * tests/init.sh (find_exe_basenames_): New function.
20826         (create_exe_shim_functions_): New function.
20827         (path_prepend_): Use it.
20828
20829         maint.mk: mark syntax-check sc_*.m rules as .PHONY
20830         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
20831         "make -t syntax-check" doesn't create a ton of sc_*.m files.
20832
20833 2010-02-14  Jim Meyering  <meyering@redhat.com>
20834
20835         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
20836         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
20837         (sc_prohibit_hash_pjw_without_use): New rule.
20838
20839         maint.mk: allow the default upload destination dir to be overridden
20840         * top/maint.mk (upload_dest_dir_): Define with a default that
20841         preserves the status quo.
20842         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
20843         Reported by Peter Simons.
20844
20845         maint.mk: prohibit inclusion of "hash.h" without_use
20846         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
20847
20848 2010-02-10  Jim Meyering  <meyering@redhat.com>
20849
20850         maint.mk: prohibit inclusion of "ignore-value.h" without_use
20851         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
20852
20853 2010-02-09  Eric Blake  <ebb9@byu.net>
20854         and Bruno Haible  <bruno@clisp.org>
20855
20856         obstack-printf-posix: ensure declaration
20857         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
20858         extracted from gl_FUNC_OBSTACK_PRINTF.
20859         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
20860         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
20861         Likewise.
20862         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
20863         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
20864         0.
20865
20866 2010-02-08  Bruno Haible  <bruno@clisp.org>
20867
20868         gnulib-tool: Fix typo in 2010-02-07 commit.
20869         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
20870         Reported by Eric Blake.
20871
20872 2010-02-07  Bruno Haible  <bruno@clisp.org>
20873
20874         gnulib-tool: Fix up caching patches.
20875         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
20876         option --no-cache. Use associative arrays when supported by the shell.
20877         (sed_comments): New variable.
20878         (modcache): Renamed from do_cache.
20879         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
20880         abbreviate unnecessarily.
20881         (have_associative): New variable.
20882         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
20883         way also for ksh and zsh.
20884         (func_init_sed_convert_to_cache_statements): New function, extracted
20885         from func_cache_lookup_module. Add support for associative arrays.
20886         Don't set the c_MODULE_cached variable here. Ignore all lines before
20887         the first field header. Remove only the final newline, not all trailing
20888         newlines. Support empty fields correctly. Limit the use of 'eval' to
20889         assignments.
20890         (func_get_description, func_get_status, func_get_notice,
20891         func_get_applicability, func_get_filelist, func_get_dependencies,
20892         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
20893         func_get_automake_snippet, func_get_include_directive,
20894         func_get_link_directive, func_get_license, func_get_maintainer):
20895         Update documentation. List the unoptimized code first. Add support for
20896         associative arrays. Limit the use of 'eval' to assignments.
20897         (func_get_applicability): Undo stylistic pessimisations.
20898         (func_get_automake_snippet, func_get_include_directive): Reduce code
20899         duplication.
20900         (func_modules_transitive_closure, func_modules_add_dummy,
20901         func_modules_notice, func_modules_to_filelist, func_add_file,
20902         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
20903         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
20904         func_create_testdir, func_create_megatestdir): Update documentation.
20905
20906 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20907
20908         * gnulib-tool (func_cache_lookup_module): Store the module name
20909         belonging to the cache variable; error out if two different
20910         module names map to the same cache variable name.
20911
20912 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20913
20914         gnulib-tool: Make caching optional.
20915         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
20916         Update matching short versions of --no-changelog.
20917         (func_usage): Update.
20918         (sed_extract_cache_prog): Renamed from ...
20919         (sed_extract_prog): ... this; revert to old extraction script.
20920         (func_get_description, func_get_status)
20921         (func_get_notice, func_get_applicability, func_get_filelist)
20922         (func_get_dependencies, func_get_autoconf_early_snippet)
20923         (func_get_autoconf_snippet, func_get_automake_snippet)
20924         (func_get_include_directive, func_get_link_directive)
20925         (func_get_license, func_get_maintainer): If $do_cache is false,
20926         use old, non-caching extraction scripts.
20927         Suggestion by Bruno Haible.
20928
20929 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20930
20931         gnulib-tool: cache module metainformation.
20932         * gnulib-tool (sed_extract_prog): Match newline before each
20933         header, and rewrite header to a shell variable suffix.
20934         (func_cache_var, func_cache_lookup_module): New functions,
20935         to turn a module name into a cache variable prefix, and to
20936         look up and cache module metainformation.
20937         (func_get_description, func_get_status)
20938         (func_get_notice, func_get_applicability, func_get_filelist)
20939         (func_get_dependencies, func_get_autoconf_early_snippet)
20940         (func_get_autoconf_snippet, func_get_automake_snippet)
20941         (func_get_include_directive, func_get_link_directive)
20942         (func_get_license, func_get_maintainer): Use
20943         func_cache_lookup_module.
20944
20945 2010-02-07  Bruno Haible  <bruno@clisp.org>
20946
20947         fnctl: Fix missing dependency.
20948         * modules/fcntl (Depends-on): Add getdtablesize.
20949         Reported by John W. Eaton <jwe@gnu.org>.
20950
20951 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
20952
20953         Argp: fix recognition of short alias options.
20954
20955         * lib/argp-parse.c (convert_options): Fix improper use of
20956         `|' between character values.
20957         * tests/test-argp.c (group1_option): New alias option
20958         --read (-r).
20959         (group1_parser): Special handling for 'r'.
20960         (test15): New test case.
20961         (test_fun): Add test15.
20962         * tests/test-argp-2.sh: Update expected --help and --usage
20963         outputs.
20964
20965 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
20966
20967         * tests/test-argp.c: Fix indentation.
20968
20969 2010-02-04  Eric Blake  <ebb9@byu.net>
20970
20971         gettimeofday: expose type of second argument
20972         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
20973         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
20974         * tests/test-gettimeofday.c: Use it to silence warning.
20975         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
20976         the issue.
20977
20978 2010-02-03  Jim Meyering  <meyering@redhat.com>
20979
20980         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
20981         * lib/regcomp.c (TYPE_SIGNED): Define.
20982         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
20983
20984         regcomp.c: avoid a new -Wshadow warning
20985         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
20986
20987 2010-02-01  Jim Meyering  <meyering@redhat.com>
20988
20989         removing useless parentheses in cpp #define directives
20990         For motivation, see commit c0221df4, "define STREQ(a,b)
20991         consistently, removing useless parentheses"
20992         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
20993         * lib/mountlist.c (MNT_IGNORE): Likewise.
20994         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
20995
20996 2010-02-01  Eric Blake  <ebb9@byu.net>
20997
20998         sys_time: use link-warning
20999         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
21000         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
21001         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
21002         * modules/sys_time (Depends-on): Add warn-on-use.
21003         (Makefile.am): Always build replacement.
21004         (configure.ac): Update substitutions.
21005         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
21006         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
21007         bother with SYS_TIME_H.
21008         * modules/gettimeofday (configure.ac): Declare indicator.
21009         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
21010         in use.
21011
21012         closein-tests: silence compiler warning
21013         * tests/test-closein.c (main): Ignore fread result.
21014         * modules/closein-tests (Depends-on): Add ignore-value.
21015
21016         tests: silence warning about system return
21017         * tests/test-areadlink-with-size.c (main): Ignore system result.
21018         * tests/test-areadlink.c (main): Likewise.
21019         * tests/test-areadlinkat-with-size.c (main): Likewise.
21020         * tests/test-areadlinkat.c (main): Likewise.
21021         * tests/test-canonicalize-lgpl.c (main): Likewise.
21022         * tests/test-canonicalize.c (main): Likewise.
21023         * tests/test-chown.c (main): Likewise.
21024         * tests/test-fchownat.c (main): Likewise.
21025         * tests/test-fdutimensat.c (main): Likewise.
21026         * tests/test-fstatat.c (main): Likewise.
21027         * tests/test-futimens.c (main): Likewise.
21028         * tests/test-lchown.c (main): Likewise.
21029         * tests/test-link.c (main): Likewise.
21030         * tests/test-linkat.c (main): Likewise.
21031         * tests/test-lstat.c (main): Likewise.
21032         * tests/test-mkdir.c (main): Likewise.
21033         * tests/test-mkdirat.c (main): Likewise.
21034         * tests/test-mkfifo.c (main): Likewise.
21035         * tests/test-mkfifoat.c (main): Likewise.
21036         * tests/test-mknod.c (main): Likewise.
21037         * tests/test-readlink.c (main): Likewise.
21038         * tests/test-remove.c (main): Likewise.
21039         * tests/test-rename.c (main): Likewise.
21040         * tests/test-renameat.c (main): Likewise.
21041         * tests/test-rmdir.c (main): Likewise.
21042         * tests/test-symlink.c (main): Likewise.
21043         * tests/test-symlinkat.c (main): Likewise.
21044         * tests/test-unlink.c (main): Likewise.
21045         * tests/test-unlinkat.c (main): Likewise.
21046         * tests/test-utimens.c (main): Likewise.
21047         * tests/test-utimensat.c (main): Likewise.
21048         * modules/areadlink-tests (Depends-on): Add ignore-value.
21049         * modules/areadlink-with-size-tests (Depends-on): Likewise.
21050         * modules/areadlinkat-tests (Depends-on): Likewise.
21051         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
21052         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
21053         * modules/canonicalize-tests (Depends-on): Likewise.
21054         * modules/chown-tests (Depends-on): Likewise.
21055         * modules/fdutimensat-tests (Depends-on): Likewise.
21056         * modules/futimens-tests (Depends-on): Likewise.
21057         * modules/lchown-tests (Depends-on): Likewise.
21058         * modules/link-tests (Depends-on): Likewise.
21059         * modules/linkat-tests (Depends-on): Likewise.
21060         * modules/lstat-tests (Depends-on): Likewise.
21061         * modules/mkdir-tests (Depends-on): Likewise.
21062         * modules/mkfifo-tests (Depends-on): Likewise.
21063         * modules/mkfifoat-tests (Depends-on): Likewise.
21064         * modules/mknod-tests (Depends-on): Likewise.
21065         * modules/openat-tests (Depends-on): Likewise.
21066         * modules/readlink-tests (Depends-on): Likewise.
21067         * modules/remove-tests (Depends-on): Likewise.
21068         * modules/rename-tests (Depends-on): Likewise.
21069         * modules/renameat-tests (Depends-on): Likewise.
21070         * modules/rmdir-tests (Depends-on): Likewise.
21071         * modules/symlink-tests (Depends-on): Likewise.
21072         * modules/symlinkat-tests (Depends-on): Likewise.
21073         * modules/unlink-tests (Depends-on): Likewise.
21074         * modules/utimens-tests (Depends-on): Likewise.
21075         * modules/utimensat-tests (Depends-on): Likewise.
21076
21077 2010-01-31  Bruno Haible  <bruno@clisp.org>
21078
21079         Perform the same test for many <math.h> functions.
21080         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
21081         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
21082         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
21083         of gl_MATHFUNC.
21084         * modules/acos (configure.ac): Likewise.
21085         * modules/asin (configure.ac): Likewise.
21086         * modules/atan (configure.ac): Likewise.
21087         * modules/atan2 (configure.ac): Likewise.
21088         * modules/cbrt (configure.ac): Likewise.
21089         * modules/copysign (configure.ac): Likewise.
21090         * modules/cos (configure.ac): Likewise.
21091         * modules/cosh (configure.ac): Likewise.
21092         * modules/erf (configure.ac): Likewise.
21093         * modules/erfc (configure.ac): Likewise.
21094         * modules/exp (configure.ac): Likewise.
21095         * modules/fmod (configure.ac): Likewise.
21096         * modules/hypot (configure.ac): Likewise.
21097         * modules/j0 (configure.ac): Likewise.
21098         * modules/j1 (configure.ac): Likewise.
21099         * modules/jn (configure.ac): Likewise.
21100         * modules/lgamma (configure.ac): Likewise.
21101         * modules/log (configure.ac): Likewise.
21102         * modules/log10 (configure.ac): Likewise.
21103         * modules/log1p (configure.ac): Likewise.
21104         * modules/pow (configure.ac): Likewise.
21105         * modules/remainder (configure.ac): Likewise.
21106         * modules/sin (configure.ac): Likewise.
21107         * modules/sinh (configure.ac): Likewise.
21108         * modules/tan (configure.ac): Likewise.
21109         * modules/tanh (configure.ac): Likewise.
21110         * modules/y0 (configure.ac): Likewise.
21111         * modules/y1 (configure.ac): Likewise.
21112         * modules/yn (configure.ac): Likewise.
21113         Suggested by Paolo Bonzini.
21114
21115 2010-01-31  Bruno Haible  <bruno@clisp.org>
21116
21117         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
21118
21119 2010-01-31  Bruno Haible  <bruno@clisp.org>
21120
21121         Work around getdelim() bug on FreeBSD 8.0.
21122         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
21123         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
21124         not work.
21125         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
21126         is 1.
21127         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
21128         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
21129         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
21130         a non-zero size.
21131         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
21132
21133 2010-01-31  Bruno Haible  <bruno@clisp.org>
21134
21135         Work around getline() bug on FreeBSD 8.0.
21136         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
21137         and a non-zero size.
21138         * tests/test-getline.c (main): Likewise.
21139         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
21140         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
21141
21142 2010-01-28  Eric Blake  <ebb9@byu.net>
21143
21144         regex: fix build failure
21145         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
21146         platforms.
21147
21148 2010-01-28  Jim Meyering  <meyering@redhat.com>
21149
21150         regex: do not ignore memory allocation failure
21151         * lib/regex_internal.c (create_cd_newstate): Detect
21152         re_node_set_init_copy failure.   Extracted from glibc commit
21153         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
21154
21155         regex: sync more white-space changes from libc
21156         * lib/regex_internal.c: White-space only changes.
21157         * lib/regexec.c: Likewise.
21158
21159         regex: add many uses of __attribute_warn_unused_result__
21160         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
21161         * lib/regexec.c: Likewise.
21162         Extracted from a messy glibc commit.
21163
21164         regcomp.c: spelling and merge-artifact from glibc
21165         * lib/regcomp.c: Merge remainder of glibc's
21166         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
21167
21168         regcomp.c: sync white-space changes from glibc
21169         * lib/regcomp.c: Merge to accommodate white space
21170         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
21171
21172         regcomp.c: do not ignore internal return values
21173         * lib/regcomp.c: Do not ignore internal return values.
21174         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
21175         but without its white-space changes and spelling fixes.
21176
21177         regex_internal.h: define __attribute_warn_unused_result__
21178         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
21179
21180         maint: add a syntax-check rule to check for vulnerable Makefile.in
21181         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
21182
21183 2010-01-27  Jim Meyering  <meyering@redhat.com>
21184
21185         ncftpput-ftp: clean up spaces
21186         * build-aux/ncftpput-ftp: Make Copyright line consistent.
21187         Remove trailing blanks.
21188
21189 2010-01-27  Simon Josefsson  <simon@josefsson.org>
21190
21191         * build-aux/git-version-gen: Fix copyright statement.
21192         * build-aux/gnupload: Likewise.
21193         * tests/test-arcfour.c: Likewise.
21194         * tests/test-arctwo.c: Likewise.
21195         * tests/test-count-one-bits.c: Likewise.
21196         * tests/test-crc.c: Likewise.
21197         * tests/test-des.c: Likewise.
21198         * tests/test-gc-arcfour.c: Likewise.
21199         * tests/test-gc-arctwo.c: Likewise.
21200         * tests/test-gc-des.c: Likewise.
21201         * tests/test-gc-hmac-md5.c: Likewise.
21202         * tests/test-gc-hmac-sha1.c: Likewise.
21203         * tests/test-gc-md2.c: Likewise.
21204         * tests/test-gc-md4.c: Likewise.
21205         * tests/test-gc-md5.c: Likewise.
21206         * tests/test-gc-pbkdf2-sha1.c: Likewise.
21207         * tests/test-gc-rijndael.c: Likewise.
21208         * tests/test-gc-sha1.c: Likewise.
21209         * tests/test-gc.c: Likewise.
21210         * tests/test-gethostname.c: Likewise.
21211         * tests/test-gettimeofday.c: Likewise.
21212         * tests/test-hash.c: Likewise.
21213         * tests/test-hmac-md5.c: Likewise.
21214         * tests/test-hmac-sha1.c: Likewise.
21215         * tests/test-md2.c: Likewise.
21216         * tests/test-md4.c: Likewise.
21217         * tests/test-md5.c: Likewise.
21218         * tests/test-memchr.c: Likewise.
21219         * tests/test-memchr2.c: Likewise.
21220         * tests/test-memcmp.c: Likewise.
21221         * tests/test-memmem.c: Likewise.
21222         * tests/test-memrchr.c: Likewise.
21223         * tests/test-rawmemchr.c: Likewise.
21224         * tests/test-read-file.c: Likewise.
21225         * tests/test-rijndael.c: Likewise.
21226         * tests/test-sockets.c: Likewise.
21227         * tests/test-strchrnul.c: Likewise.
21228         * tests/test-strstr.c: Likewise.
21229         * tests/test-strtod.c: Likewise.
21230         * build-aux/ncftpput-ftp: Likewise.
21231
21232 2010-01-26  Eric Blake  <ebb9@byu.net>
21233
21234         ignore-value: update recommended header name
21235         * modules/ignore-value (Include): Only use <> for headers that
21236         exist in glibc.
21237
21238 2010-01-26  Jim Meyering  <meyering@redhat.com>
21239
21240         test-userspec.c: avoid compiler warnings
21241         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
21242         and "initialization discards qualifiers..." warnings.
21243         Put the first "uid" in its own scope, and make char* members "const".
21244
21245 2010-01-25  Bruno Haible  <bruno@clisp.org>
21246
21247         gnulib-tool: Make warning diagnostics consistent.
21248         * gnulib-tool (func_warning): New function.
21249         Use it everywhere where gnulib-tool produces output to stderr and it is
21250         not a fatal error.
21251
21252 2010-01-25  Bruno Haible  <bruno@clisp.org>
21253
21254         Fix test dependencies.
21255         * modules/xstrtol-tests (Depends-on): Add inttypes.
21256         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
21257
21258 2010-01-25 Pádraig Brady <P@draigBrady.com>
21259
21260         syntax-check: detect incorrect boolean macro values in config.h
21261         * modules/maintainer-makefile (configure.ac): Parameterize the location
21262         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
21263         The logic is from Eric Blake and the location indicated by Jim Meyering.
21264         Note the more natural CONFIG_HEADER name is prohibited by automake
21265         for backwards compatibility reasons.
21266         * top/maint.mk (sc_Wundef_boolean): New rule.
21267
21268 2010-01-25  Jim Meyering  <meyering@redhat.com>
21269
21270         bootstrap: detect MacOS 10.6's shasum, too
21271         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
21272         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
21273
21274 2010-01-23  Jim Meyering  <meyering@redhat.com>
21275
21276         xstrtoll: new module
21277         * modules/xstrtoll: New file.
21278         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
21279         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
21280         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
21281         ./configure fails if you use this module and lack "long long".
21282         * modules/xstrtoll-tests: New module.
21283         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
21284         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
21285         new init.sh-based test framework.
21286
21287 2010-01-24  Bruno Haible  <bruno@clisp.org>
21288
21289         Tests for module 'yn'.
21290         * modules/yn-tests: New file.
21291         * tests/test-yn.c: New file.
21292
21293         Tests for module 'y1'.
21294         * modules/y1-tests: New file.
21295         * tests/test-y1.c: New file.
21296
21297         Tests for module 'y0'.
21298         * modules/y0-tests: New file.
21299         * tests/test-y0.c: New file.
21300
21301         Tests for module 'tanh'.
21302         * modules/tanh-tests: New file.
21303         * tests/test-tanh.c: New file.
21304
21305         Tests for module 'tan'.
21306         * modules/tan-tests: New file.
21307         * tests/test-tan.c: New file.
21308
21309         Tests for module 'sqrt'.
21310         * modules/sqrt-tests: New file.
21311         * tests/test-sqrt.c: New file.
21312
21313         Tests for module 'sinh'.
21314         * modules/sinh-tests: New file.
21315         * tests/test-sinh.c: New file.
21316
21317         Tests for module 'sin'.
21318         * modules/sin-tests: New file.
21319         * tests/test-sin.c: New file.
21320
21321         Tests for module 'rint'.
21322         * modules/rint-tests: New file.
21323         * tests/test-rint.c: New file.
21324
21325         Tests for module 'remainder'.
21326         * modules/remainder-tests: New file.
21327         * tests/test-remainder.c: New file.
21328
21329         Tests for module 'pow'.
21330         * modules/pow-tests: New file.
21331         * tests/test-pow.c: New file.
21332
21333         Tests for module 'nextafter'.
21334         * modules/nextafter-tests: New file.
21335         * tests/test-nextafter.c: New file.
21336
21337         Tests for module 'modf'.
21338         * modules/modf-tests: New file.
21339         * tests/test-modf.c: New file.
21340
21341         Tests for module 'logb'.
21342         * modules/logb-tests: New file.
21343         * tests/test-logb.c: New file.
21344
21345         Tests for module 'log1p'.
21346         * modules/log1p-tests: New file.
21347         * tests/test-log1p.c: New file.
21348
21349         Tests for module 'log10'.
21350         * modules/log10-tests: New file.
21351         * tests/test-log10.c: New file.
21352
21353         Tests for module 'log'.
21354         * modules/log-tests: New file.
21355         * tests/test-log.c: New file.
21356
21357         Tests for module 'lgamma'.
21358         * modules/lgamma-tests: New file.
21359         * tests/test-lgamma.c: New file.
21360
21361         Tests for module 'ldexp'.
21362         * modules/ldexp-tests: New file.
21363         * tests/test-ldexp.c: New file.
21364
21365         Tests for module 'jn'.
21366         * modules/jn-tests: New file.
21367         * tests/test-jn.c: New file.
21368
21369         Tests for module 'j1'.
21370         * modules/j1-tests: New file.
21371         * tests/test-j1.c: New file.
21372
21373         Tests for module 'j0'.
21374         * modules/j0-tests: New file.
21375         * tests/test-j0.c: New file.
21376
21377         Tests for module 'hypot'.
21378         * modules/hypot-tests: New file.
21379         * tests/test-hypot.c: New file.
21380
21381         Tests for module 'fmod'.
21382         * modules/fmod-tests: New file.
21383         * tests/test-fmod.c: New file.
21384
21385         Tests for module 'fabs'.
21386         * modules/fabs-tests: New file.
21387         * tests/test-fabs.c: New file.
21388
21389         Tests for module 'exp'.
21390         * modules/exp-tests: New file.
21391         * tests/test-exp.c: New file.
21392
21393         Tests for module 'erfc'.
21394         * modules/erfc-tests: New file.
21395         * tests/test-erfc.c: New file.
21396
21397         Tests for module 'erf'.
21398         * modules/erf-tests: New file.
21399         * tests/test-erf.c: New file.
21400
21401         Tests for module 'cosh'.
21402         * modules/cosh-tests: New file.
21403         * tests/test-cosh.c: New file.
21404
21405         Tests for module 'cos'.
21406         * modules/cos-tests: New file.
21407         * tests/test-cos.c: New file.
21408
21409         Tests for module 'copysign'.
21410         * modules/copysign-tests: New file.
21411         * tests/test-copysign.c: New file.
21412
21413         Tests for module 'cbrt'.
21414         * modules/cbrt-tests: New file.
21415         * tests/test-cbrt.c: New file.
21416
21417         Tests for module 'atan2'.
21418         * modules/atan2-tests: New file.
21419         * tests/test-atan2.c: New file.
21420
21421         Tests for module 'atan'.
21422         * modules/atan-tests: New file.
21423         * tests/test-atan.c: New file.
21424
21425         Tests for module 'asin'.
21426         * modules/asin-tests: New file.
21427         * tests/test-asin.c: New file.
21428
21429         Tests for module 'acos'.
21430         * modules/acos-tests: New file.
21431         * tests/test-acos.c: New file.
21432
21433 2010-01-24  Bruno Haible  <bruno@clisp.org>
21434
21435         Fix tests for common <math.h> functions.
21436         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
21437         code snippet that references the function pointer, rather than merely
21438         calling the function. Substitute the FUNC_LIBM variable.
21439         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
21440         * modules/acos (configure.ac): Likewise.
21441         * modules/asin (configure.ac): Likewise.
21442         * modules/atan (configure.ac): Likewise.
21443         * modules/atan2 (configure.ac): Likewise.
21444         * modules/cbrt (configure.ac): Likewise.
21445         * modules/copysign (configure.ac): Likewise.
21446         * modules/cos (configure.ac): Likewise.
21447         * modules/cosh (configure.ac): Likewise.
21448         * modules/erf (configure.ac): Likewise.
21449         * modules/erfc (configure.ac): Likewise.
21450         * modules/exp (configure.ac): Likewise.
21451         * modules/fabs (configure.ac): Likewise.
21452         * modules/fmod (configure.ac): Likewise.
21453         * modules/hypot (configure.ac): Likewise.
21454         * modules/j0 (configure.ac): Likewise.
21455         * modules/j1 (configure.ac): Likewise.
21456         * modules/jn (configure.ac): Likewise.
21457         * modules/ldexp (configure.ac): Likewise.
21458         * modules/lgamma (configure.ac): Likewise.
21459         * modules/log (configure.ac): Likewise.
21460         * modules/log10 (configure.ac): Likewise.
21461         * modules/log1p (configure.ac): Likewise.
21462         * modules/logb (configure.ac): Likewise.
21463         * modules/modf (configure.ac): Likewise.
21464         * modules/nextafter (configure.ac): Likewise.
21465         * modules/pow (configure.ac): Likewise.
21466         * modules/remainder (configure.ac): Likewise.
21467         * modules/rint (configure.ac): Likewise.
21468         * modules/sin (configure.ac): Likewise.
21469         * modules/sinh (configure.ac): Likewise.
21470         * modules/tan (configure.ac): Likewise.
21471         * modules/tanh (configure.ac): Likewise.
21472         * modules/y0 (configure.ac): Likewise.
21473         * modules/y1 (configure.ac): Likewise.
21474         * modules/yn (configure.ac): Likewise.
21475
21476 2010-01-24  Bruno Haible  <bruno@clisp.org>
21477
21478         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
21479         * tests/test-acosl.c (x): New variable.
21480         (main): Store argument in x and fetch it from x.
21481         * tests/test-asinl.c (x): New variable.
21482         (main): Store argument in x and fetch it from x.
21483         * tests/test-atanl.c (x): New variable.
21484         (main): Store argument in x and fetch it from x.
21485         * tests/test-cosl.c (x): New variable.
21486         (main): Store argument in x and fetch it from x.
21487         * tests/test-expl.c (x): New variable.
21488         (main): Store argument in x and fetch it from x.
21489         * tests/test-logl.c (x): New variable.
21490         (main): Store argument in x and fetch it from x.
21491         * tests/test-sinl.c (x): New variable.
21492         (main): Store argument in x and fetch it from x.
21493         * tests/test-sqrtl.c (x): New variable.
21494         (main): Store argument in x and fetch it from x.
21495         * tests/test-tanl.c (x): New variable.
21496         (main): Store argument in x and fetch it from x.
21497
21498 2010-01-24  Bruno Haible  <bruno@clisp.org>
21499
21500         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
21501         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
21502         assignments to the initial TESTS_ENVIRONMENT.
21503         * doc/gnulib.texi (Unit test modules): Document it.
21504         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
21505         TESTS_ENVIRONMENT.
21506         * modules/btowc-tests (Makefile.am): Likewise.
21507         * modules/c-stack-tests (Makefile.am): Likewise.
21508         * modules/c-strcase-tests (Makefile.am): Likewise.
21509         * modules/copy-file-tests (Makefile.am): Likewise.
21510         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
21511         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
21512         * modules/mbrtowc-tests (Makefile.am): Likewise.
21513         * modules/mbscasecmp-tests (Makefile.am): Likewise.
21514         * modules/mbscasestr-tests (Makefile.am): Likewise.
21515         * modules/mbschr-tests (Makefile.am): Likewise.
21516         * modules/mbscspn-tests (Makefile.am): Likewise.
21517         * modules/mbsinit-tests (Makefile.am): Likewise.
21518         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
21519         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
21520         * modules/mbspbrk-tests (Makefile.am): Likewise.
21521         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
21522         * modules/mbsrchr-tests (Makefile.am): Likewise.
21523         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
21524         * modules/mbsspn-tests (Makefile.am): Likewise.
21525         * modules/mbsstr-tests (Makefile.am): Likewise.
21526         * modules/nl_langinfo-tests (Makefile.am): Likewise.
21527         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
21528         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
21529         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
21530         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
21531         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
21532         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
21533         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
21534         * modules/wcrtomb-tests (Makefile.am): Likewise.
21535         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
21536         * modules/wcsrtombs-tests (Makefile.am): Likewise.
21537         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
21538         assignments from TESTS_ENVIRONMENT.
21539         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
21540         augmentation.
21541         * modules/argp-version-etc-tests (Makefile.am): Likewise.
21542         * modules/atexit-tests (Makefile.am): Likewise.
21543         * modules/binary-io-tests (Makefile.am): Likewise.
21544         * modules/closein-tests (Makefile.am): Likewise.
21545         * modules/dprintf-posix-tests (Makefile.am): Likewise.
21546         * modules/exclude-tests (Makefile.am): Likewise.
21547         * modules/fflush-tests (Makefile.am): Likewise.
21548         * modules/fpending-tests (Makefile.am): Likewise.
21549         * modules/fprintf-posix-tests (Makefile.am): Likewise.
21550         * modules/freadahead-tests (Makefile.am): Likewise.
21551         * modules/freadptr-tests (Makefile.am): Likewise.
21552         * modules/freadseek-tests (Makefile.am): Likewise.
21553         * modules/fseek-tests (Makefile.am): Likewise.
21554         * modules/fseeko-tests (Makefile.am): Likewise.
21555         * modules/ftell-tests (Makefile.am): Likewise.
21556         * modules/ftello-tests (Makefile.am): Likewise.
21557         * modules/idpriv-drop-tests (Makefile.am): Likewise.
21558         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
21559         * modules/lseek-tests (Makefile.am): Likewise.
21560         * modules/parse-duration-tests (Makefile.am): Likewise.
21561         * modules/perror-tests (Makefile.am): Likewise.
21562         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
21563         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
21564         * modules/pipe-tests (Makefile.am): Likewise.
21565         * modules/pread-tests (Makefile.am): Likewise.
21566         * modules/printf-posix-tests (Makefile.am): Likewise.
21567         * modules/select-tests (Makefile.am): Likewise.
21568         * modules/sigpipe-tests (Makefile.am): Likewise.
21569         * modules/tsearch-tests (Makefile.am): Likewise.
21570         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
21571         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
21572         * modules/uniname/uniname-tests (Makefile.am): Likewise.
21573         * modules/uniwidth/width-tests (Makefile.am): Likewise.
21574         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
21575         * modules/version-etc-tests (Makefile.am): Likewise.
21576         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
21577         * modules/vprintf-posix-tests (Makefile.am): Likewise.
21578         * modules/xalloc-die-tests (Makefile.am): Likewise.
21579         * modules/xprintf-posix-tests (Makefile.am): Likewise.
21580         * modules/xstrtoimax-tests (Makefile.am): Likewise.
21581         * modules/xstrtol-tests (Makefile.am): Likewise.
21582         * modules/xstrtoumax-tests (Makefile.am): Likewise.
21583         * modules/yesno-tests (Makefile.am): Likewise.
21584         Suggested by Jim Meyering.
21585
21586 2010-01-24  Bruno Haible  <bruno@clisp.org>
21587
21588         More documentation.
21589         * doc/gnulib.texi (Writing modules): New chapter.
21590         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
21591         the new chapter.
21592
21593 2010-01-24  Jim Meyering  <meyering@redhat.com>
21594
21595         maint.mk: do not prepend "./" after filtering
21596         * top/maint.mk (_prepend_srcdir_prefix): New variable
21597         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
21598         "./" when $(srcdir) is ".".
21599
21600         define STREQ(a,b) consistently, removing useless parentheses
21601         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
21602         since the only risk is that "a" or "b" contains an unparenthesized
21603         comma, but if either did that, STREQ would have 3 or more arguments.
21604         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
21605         * lib/fts.c (STREQ): Remove unnecessary parentheses.
21606         * lib/hash-triple.c (STREQ): Likewise.
21607         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
21608         * lib/getugroups.c (STREQ): Likewise.
21609
21610 2010-01-23  Jim Meyering  <meyering@redhat.com>
21611
21612         maint.mk: fix syntax-check in a non-srcdir build directory
21613         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
21614         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
21615
21616 2010-01-22  Jim Meyering  <meyering@redhat.com>
21617
21618         userspec: add unit tests
21619         * tests/test-userspec.c: New file.
21620         * modules/userspec-tests: Likewise.
21621
21622 2010-01-21  Jim Meyering  <meyering@redhat.com>
21623
21624         maint.mk: handle source file names containing "." robustly
21625         * top/maint.mk (_dot_escaped_srcdir): Define.
21626         (VC_LIST): Use it in LHS of sed substitution.
21627
21628 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
21629
21630         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
21631         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
21632         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
21633         from a non-srcdir build.
21634
21635 2010-01-20  Eric Blake  <ebb9@byu.net>
21636
21637         warn-on-use: use instead of link-warning
21638         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
21639         * modules/unistd (Depends-on, Makefile.am): Likewise.
21640         * modules/arpa_inet (Depends-on): Replace link-warning with
21641         warn-on-use.
21642         (Makefile.am): Update rules accordingly.
21643         * modules/ctype (Depends-on, Makefile.am): Likewise.
21644         * modules/dirent (Depends-on, Makefile.am): Likewise.
21645         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
21646         * modules/inttypes (Depends-on, Makefile.am): Likewise.
21647         * modules/langinfo (Depends-on, Makefile.am): Likewise.
21648         * modules/locale (Depends-on, Makefile.am): Likewise.
21649         * modules/math (Depends-on, Makefile.am): Likewise.
21650         * modules/search (Depends-on, Makefile.am): Likewise.
21651         * modules/signal (Depends-on, Makefile.am): Likewise.
21652         * modules/spawn (Depends-on, Makefile.am): Likewise.
21653         * modules/stdlib (Depends-on, Makefile.am): Likewise.
21654         * modules/string (Depends-on, Makefile.am): Likewise.
21655         * modules/strings (Depends-on, Makefile.am): Likewise.
21656         * modules/sys_file (Depends-on, Makefile.am): Likewise.
21657         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
21658         * modules/sys_select (Depends-on, Makefile.am): Likewise.
21659         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
21660         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
21661         * modules/sys_times (Depends-on, Makefile.am): Likewise.
21662         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
21663         * modules/wchar (Depends-on, Makefile.am): Likewise.
21664         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
21665         should be poisoned.
21666         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
21667         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
21668         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
21669         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
21670         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
21671         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
21672         * m4/math_h.m4 (gl_MATH_H): Likewise.
21673         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
21674         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
21675         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
21676         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
21677         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
21678         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
21679         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
21680         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
21681         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
21682         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
21683         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
21684         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
21685         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
21686         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
21687         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
21688         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
21689         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
21690         GL_LINK_WARNING.
21691         * lib/ctype.in.h: Likewise.
21692         * lib/dirent.in.h: Likewise.
21693         * lib/fcntl.in.h: Likewise.
21694         * lib/inttypes.in.h: Likewise.
21695         * lib/langinfo.in.h: Likewise.
21696         * lib/locale.in.h: Likewise.
21697         * lib/math.in.h: Likewise.
21698         * lib/search.in.h: Likewise.
21699         * lib/signal.in.h: Likewise.
21700         * lib/spawn.in.h: Likewise.
21701         * lib/stdio.in.h: Likewise.
21702         * lib/stdlib.in.h: Likewise.
21703         * lib/string.in.h: Likewise.
21704         * lib/strings.in.h: Likewise.
21705         * lib/sys_file.in.h: Likewise.
21706         * lib/sys_ioctl.in.h: Likewise.
21707         * lib/sys_select.in.h: Likewise.
21708         * lib/sys_socket.in.h: Likewise.
21709         * lib/sys_stat.in.h: Likewise.
21710         * lib/sys_times.in.h: Likewise.
21711         * lib/sys_utsname.in.h: Likewise.
21712         * lib/unistd.in.h: Likewise.
21713         * lib/wchar.in.h: Likewise.
21714
21715 2010-01-20  Bruno Haible  <bruno@clisp.org>
21716
21717         Avoid duplicate -lm.
21718         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
21719         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
21720         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
21721         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
21722         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
21723         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
21724         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
21725         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
21726         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
21727         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
21728         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
21729         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
21730         Reported by Paolo Bonzini.
21731
21732 2010-01-19  Bruno Haible  <bruno@clisp.org>
21733
21734         langinfo, nl_langinfo: Relicense under LGPLv2+.
21735         * modules/langinfo (License): Change to LGPLv2+.
21736         * modules/nl_langinfo (License): Likewise.
21737         Patch by David Lutterkort <lutter@redhat.com>.
21738
21739 2010-01-19  Bruno Haible  <bruno@clisp.org>
21740
21741         Avoid compilation error with cc on OSF/1 5.1.
21742         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
21743         statement, not before.
21744         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
21745
21746 2010-01-18  Bruno Haible  <bruno@clisp.org>
21747
21748         Avoid a link error due to the __printf__ symbol.
21749         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
21750         and 2.6.x.
21751         (__format__, __printf__): Remove definitions.
21752         * lib/argp-fmtstream.h: Likewise.
21753         * lib/argp.h: Likewise.
21754         * lib/error.h: Likewise.
21755         * lib/vasnprintf.h: Likewise.
21756         * lib/xprintf.h: Likewise.
21757         * lib/xvasprintf.h: Likewise.
21758         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
21759
21760 2010-01-18  Bruno Haible  <bruno@clisp.org>
21761
21762         Tests for module 'tanl'.
21763         * modules/tanl-tests: New file.
21764         * tests/test-tanl.c: New file.
21765
21766         Tests for module 'sqrtl'.
21767         * modules/sqrtl-tests: New file.
21768         * tests/test-sqrtl.c: New file.
21769
21770         Tests for module 'sinl'.
21771         * modules/sinl-tests: New file.
21772         * tests/test-sinl.c: New file.
21773
21774         Tests for module 'logl'.
21775         * modules/logl-tests: New file.
21776         * tests/test-logl.c: New file.
21777
21778         Tests for module 'expl'.
21779         * modules/expl-tests: New file.
21780         * tests/test-expl.c: New file.
21781
21782         Tests for module 'cosl'.
21783         * modules/cosl-tests: New file.
21784         * tests/test-cosl.c: New file.
21785
21786         Tests for module 'atanl'.
21787         * modules/atanl-tests: New file.
21788         * tests/test-atanl.c: New file.
21789
21790         Tests for module 'asinl'.
21791         * modules/asinl-tests: New file.
21792         * tests/test-asinl.c: New file.
21793
21794         Tests for module 'acosl'.
21795         * modules/acosl-tests: New file.
21796         * tests/test-acosl.c: New file.
21797
21798         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
21799         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
21800         tanl): Use the standard gnulib idiom.
21801         * lib/cosl.c: Don't include trigl.c and sincosl.c.
21802         * lib/sinl.c: Likewise.
21803         * lib/tanl.c: Don't include trigl.c.
21804         (kernel_tanl): Make static.
21805         * lib/sincosl.c: Include trigl.h first.
21806         * lib/trigl.c: Likewise.
21807         * m4/acosl.m4: New file.
21808         * m4/asinl.m4: New file.
21809         * m4/atanl.m4: New file.
21810         * m4/cosl.m4: New file.
21811         * m4/expl.m4: New file.
21812         * m4/logl.m4: New file.
21813         * m4/sinl.m4: New file.
21814         * m4/sqrtl.m4: New file.
21815         * m4/tanl.m4: New file.
21816         * m4/mathl.m4: Remove file.
21817         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
21818         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
21819         Don't initialize GNULIB_MATHL.
21820         * modules/acosl: New file.
21821         * modules/asinl: New file.
21822         * modules/atanl: New file.
21823         * modules/cosl: New file.
21824         * modules/expl: New file.
21825         * modules/logl: New file.
21826         * modules/sinl: New file.
21827         * modules/sqrtl: New file.
21828         * modules/tanl: New file.
21829         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
21830         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
21831         substitute GNULIB_MATHL.
21832         * modules/mathl: Rewritten.
21833         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
21834         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
21835         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
21836         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
21837         * doc/posix-functions/expl.texi: Mention the 'expl' module.
21838         * doc/posix-functions/logl.texi: Mention the 'logl' module.
21839         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
21840         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
21841         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
21842
21843 2010-01-18  Bruno Haible  <bruno@clisp.org>
21844
21845         sqrt: Make gl_FUNC_SQRT requirable.
21846         * m4/sqrt.m4: New file.
21847         * modules/sqrt (Files): Add it.
21848         (configure.ac): Invoke gl_FUNC_SQRT.
21849
21850 2010-01-18  Bruno Haible  <bruno@clisp.org>
21851
21852         New modules for common <math.h> functions.
21853         * m4/mathfunc.m4: New file.
21854         * modules/acos: New file.
21855         * modules/asin: New file.
21856         * modules/atan: New file.
21857         * modules/atan2: New file.
21858         * modules/cbrt: New file.
21859         * modules/copysign: New file.
21860         * modules/cos: New file.
21861         * modules/cosh: New file.
21862         * modules/erf: New file.
21863         * modules/erfc: New file.
21864         * modules/exp: New file.
21865         * modules/fabs: New file.
21866         * modules/fmod: New file.
21867         * modules/hypot: New file.
21868         * modules/j0: New file.
21869         * modules/j1: New file.
21870         * modules/jn: New file.
21871         * modules/ldexp: New file.
21872         * modules/lgamma: New file.
21873         * modules/log: New file.
21874         * modules/log10: New file.
21875         * modules/log1p: New file.
21876         * modules/logb: New file.
21877         * modules/modf: New file.
21878         * modules/nextafter: New file.
21879         * modules/pow: New file.
21880         * modules/remainder: New file.
21881         * modules/rint: New file.
21882         * modules/sin: New file.
21883         * modules/sinh: New file.
21884         * modules/sqrt: New file.
21885         * modules/tan: New file.
21886         * modules/tanh: New file.
21887         * modules/y0: New file.
21888         * modules/y1: New file.
21889         * modules/yn: New file.
21890         * doc/posix-functions/acos.texi: Mention the 'acos' module.
21891         * doc/posix-functions/asin.texi: Mention the 'asin' module.
21892         * doc/posix-functions/atan.texi: Mention the 'atan' module.
21893         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
21894         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
21895         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
21896         * doc/posix-functions/cos.texi: Mention the 'cos' module.
21897         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
21898         * doc/posix-functions/erf.texi: Mention the 'erf' module.
21899         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
21900         * doc/posix-functions/exp.texi: Mention the 'exp' module.
21901         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
21902         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
21903         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
21904         * doc/posix-functions/j0.texi: Mention the 'j0' module.
21905         * doc/posix-functions/j1.texi: Mention the 'j1' module.
21906         * doc/posix-functions/jn.texi: Mention the 'jn' module.
21907         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
21908         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
21909         * doc/posix-functions/log.texi: Mention the 'log' module.
21910         * doc/posix-functions/log10.texi: Mention the 'log10' module.
21911         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
21912         * doc/posix-functions/logb.texi: Mention the 'logb' module.
21913         * doc/posix-functions/modf.texi: Mention the 'modf' module.
21914         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
21915         * doc/posix-functions/pow.texi: Mention the 'pow' module.
21916         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
21917         * doc/posix-functions/rint.texi: Mention the 'rint' module.
21918         * doc/posix-functions/sin.texi: Mention the 'sin' module.
21919         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
21920         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
21921         * doc/posix-functions/tan.texi: Mention the 'tan' module.
21922         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
21923         * doc/posix-functions/y0.texi: Mention the 'y0' module.
21924         * doc/posix-functions/y1.texi: Mention the 'y1' module.
21925         * doc/posix-functions/yn.texi: Mention the 'yn' module.
21926
21927 2010-01-18  Jim Meyering  <meyering@redhat.com>
21928
21929         ignore-value: relax license to LGPLv2+
21930         * modules/ignore-value (License): Relax to LGPLv2+.
21931
21932         getdate: don't leak when TZ contains two or more '"'s
21933         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
21934         double quote in TZ after the first one.
21935
21936         readtokens: do not leak internal token_lengths buffer
21937         * lib/readtokens.c (readtokens): Free the local, lengths,
21938         when the supplied "token_lengths" parameter is NULL.
21939
21940 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21941
21942         Fix a couple of missing LIBTHREAD link failures on AIX.
21943         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
21944         $(LIBTHREAD).
21945         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
21946
21947         Link test-poll against INET_PTON_LIB.
21948         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
21949         for inet_pton on Solaris 10.
21950
21951 2010-01-17  Bruno Haible  <bruno@clisp.org>
21952
21953         unistdio/*-sprintf: Fix typo in module description.
21954         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
21955         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
21956         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
21957         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
21958         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
21959         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
21960         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
21961         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
21962
21963 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21964
21965         gnulib-tool: fix filelist for AIX, HP-UX ksh.
21966         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
21967         variables in shell case patterns, for AIX and HP-UX ksh.
21968
21969         Split large sed scripts, for HP-UX sed.
21970         * modules/stdio: Split sed scripts around 50 sed commands,
21971         to avoid HP-UX limit of 99 commands, in the near future.
21972         * modules/string: Likewise.
21973         * modules/unistd: Likewise.
21974
21975         gnulib-tool: avoid writing in the current directory.
21976         * gnulib-tool (func_emit_lib_Makefile_am)
21977         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
21978         not in the current directory, so concurrent gnulib-tool
21979         instances do not interfere.
21980
21981 2010-01-16  Jim Meyering  <meyering@redhat.com>
21982
21983         doc: update users.txt
21984         * users.txt: Add grep.
21985         (diffutils, gzip): Update URLs.
21986
21987 2010-01-12  Bruno Haible  <bruno@clisp.org>
21988
21989         posix_spawn: Avoid test failure on Cygwin.
21990         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
21991         characters.
21992         Reported by Simon Josefsson.
21993
21994 2010-01-12  Bruno Haible  <bruno@clisp.org>
21995
21996         * tests/test-cond.c (main): When skipping the test, show the reason.
21997
21998 2010-01-12  Simon Josefsson  <simon@josefsson.org>
21999
22000         * lib/striconv.c (str_cd_iconv): Avoid if before free.
22001
22002 2010-01-12  Simon Josefsson  <simon@josefsson.org>
22003
22004         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
22005         VC_LIST_ALWAYS_EXCLUDE_REGEX.
22006
22007 2010-01-12  Eric Blake  <ebb9@byu.net>
22008
22009         build: guarantee AS_VAR_IF
22010         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
22011         (gl_AS_VAR_IF): Move...
22012         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
22013         Reported by Simon Josefsson.
22014
22015 2010-01-12  Simon Josefsson  <simon@josefsson.org>
22016
22017         * lib/stdio.in.h: Fix typo.
22018
22019 2010-01-12  Simon Josefsson  <simon@josefsson.org>
22020
22021         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
22022         libgpg-error.
22023
22024 2010-01-12  Simon Josefsson  <simon@josefsson.org>
22025
22026         * tests/test-xalloc-die.sh: Use $EXEEXT.
22027
22028 2010-01-12  Simon Josefsson  <simon@josefsson.org>
22029             Bruno Haible  <bruno@clisp.org>
22030
22031         getlogin, getlogin_r: Avoid test failure.
22032         * tests/test-getlogin.c: Include <stdio.h>.
22033         (main): Skip the test when the function fails because stdin is not a
22034         tty.
22035         * tests/test-getlogin_r.c: Include <stdio.h>.
22036         (main): Skip the test when the function fails because stdin is not a
22037         tty.
22038
22039 2010-01-11  Eric Blake  <ebb9@byu.net>
22040
22041         tests: avoid more large file warnings
22042         * tests/test-fflush.c: Avoid warning about ftell use.
22043         * tests/test-fseek.c: Avoid warning about fseek use.
22044
22045 2010-01-10  Bruno Haible  <bruno@clisp.org>
22046
22047         nproc: Work better on Linux when /proc and /sys are not mounted.
22048         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
22049         as lower bound when, on glibc/Linux systems,
22050         sysconf (_SC_NPROCESSORS_CONF) returns 1.
22051         Suggested by Pádraig Brady <P@draigbrady.com>.
22052         Reported by Dmitry V. Levin <ldv@altlinux.org>.
22053
22054         nproc: Refactor.
22055         * lib/nproc.c (num_processors_via_affinity_mask): New function,
22056         extracted from num_processors.
22057         (num_processors): Call it.
22058
22059 2010-01-11  Jim Meyering  <meyering@redhat.com>
22060
22061         utimecmp: avoid new warning from upcoming gcc-4.5.0
22062         * lib/utimecmp.c (BILLION): Define using #define rather than an
22063         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
22064
22065 2010-01-11  Eric Blake  <ebb9@byu.net>
22066
22067         math: add portability warnings for classification macros
22068         * modules/math (Depends-on): Add warn-on-use.
22069         (Makefile.am): Provide new substitutions.
22070         * m4/math_h.m4 (gl_MATH_H): Require inline.
22071         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
22072         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
22073         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
22074         implement warnings.
22075
22076         unistd: warn on use of environ without module
22077         * modules/unistd (Depends-on): Add warn-on-use.
22078         (Makefile.am): Provide new substitutions.
22079         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
22080         * lib/unistd.in.h (environ): Wrap with a warning helper function.
22081
22082         stdio: warn on suspicious uses
22083         * modules/stdio (Depends-on): Add warn-on-use.
22084         (Makefile.am): Provide new substitutions.
22085         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
22086         fseeko.
22087         * lib/stdio.in.h (gets): Always warn on use.
22088         (fseek, ftell): Adjust when warnings are issued, and honor
22089         _GL_NO_LARGE_FILES as a way to silence the warning.
22090         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
22091         any warning about large file offsets.
22092         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
22093         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
22094         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
22095         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
22096         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
22097         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
22098         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
22099         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
22100
22101         warn-on-use: new module
22102         * modules/warn-on-use: New file.
22103         * build-aux/warn-on-use.h: Likewise.
22104         * m4/warn-on-use.m4: Likewise.
22105         * MODULES.html.sh (Support for building): Mention it.
22106
22107 2010-01-10  Bruno Haible  <bruno@clisp.org>
22108
22109         Tests for module 'unistr/u32-strdup'.
22110         * modules/unistr/u32-strdup-tests: New file.
22111         * tests/unistr/test-u32-strdup.c: New file.
22112
22113         Tests for module 'unistr/u16-strdup'.
22114         * modules/unistr/u16-strdup-tests: New file.
22115         * tests/unistr/test-u16-strdup.c: New file.
22116
22117         Tests for module 'unistr/u8-strdup'.
22118         * modules/unistr/u8-strdup-tests: New file.
22119         * tests/unistr/test-u8-strdup.c: New file.
22120         * tests/unistr/test-strdup.h: New file.
22121
22122         Tests for module 'unistr/u32-strncmp'.
22123         * modules/unistr/u32-strncmp-tests: New file.
22124         * tests/unistr/test-u32-strncmp.c: New file.
22125
22126         Tests for module 'unistr/u16-strncmp'.
22127         * modules/unistr/u16-strncmp-tests: New file.
22128         * tests/unistr/test-u16-strncmp.c: New file.
22129
22130         Tests for module 'unistr/u8-strncmp'.
22131         * modules/unistr/u8-strncmp-tests: New file.
22132         * tests/unistr/test-u8-strncmp.c: New file.
22133         * tests/unistr/test-strncmp.h: New file.
22134
22135         Tests for module 'unistr/u32-strcoll'.
22136         * modules/unistr/u32-strcoll-tests: New file.
22137         * tests/unistr/test-u32-strcoll.c: New file.
22138
22139         Tests for module 'unistr/u16-strcoll'.
22140         * modules/unistr/u16-strcoll-tests: New file.
22141         * tests/unistr/test-u16-strcoll.c: New file.
22142
22143         Tests for module 'unistr/u8-strcoll'.
22144         * modules/unistr/u8-strcoll-tests: New file.
22145         * tests/unistr/test-u8-strcoll.c: New file.
22146
22147         Tests for module 'unistr/u32-strcmp'.
22148         * modules/unistr/u32-strcmp-tests: New file.
22149         * tests/unistr/test-u32-strcmp.c: New file.
22150         * tests/unistr/test-u32-strcmp.h: New file.
22151
22152         Tests for module 'unistr/u16-strcmp'.
22153         * modules/unistr/u16-strcmp-tests: New file.
22154         * tests/unistr/test-u16-strcmp.c: New file.
22155         * tests/unistr/test-u16-strcmp.h: New file.
22156
22157         Tests for module 'unistr/u8-strcmp'.
22158         * modules/unistr/u8-strcmp-tests: New file.
22159         * tests/unistr/test-u8-strcmp.c: New file.
22160         * tests/unistr/test-u8-strcmp.h: New file.
22161         * tests/unistr/test-strcmp.h: New file.
22162
22163         Tests for module 'unistr/u32-strncat'.
22164         * modules/unistr/u32-strncat-tests: New file.
22165         * tests/unistr/test-u32-strncat.c: New file.
22166
22167         Tests for module 'unistr/u16-strncat'.
22168         * modules/unistr/u16-strncat-tests: New file.
22169         * tests/unistr/test-u16-strncat.c: New file.
22170
22171         Tests for module 'unistr/u8-strncat'.
22172         * modules/unistr/u8-strncat-tests: New file.
22173         * tests/unistr/test-u8-strncat.c: New file.
22174         * tests/unistr/test-strncat.h: New file.
22175
22176         Tests for module 'unistr/u32-strcat'.
22177         * modules/unistr/u32-strcat-tests: New file.
22178         * tests/unistr/test-u32-strcat.c: New file.
22179
22180         Tests for module 'unistr/u16-strcat'.
22181         * modules/unistr/u16-strcat-tests: New file.
22182         * tests/unistr/test-u16-strcat.c: New file.
22183
22184         Tests for module 'unistr/u8-strcat'.
22185         * modules/unistr/u8-strcat-tests: New file.
22186         * tests/unistr/test-u8-strcat.c: New file.
22187         * tests/unistr/test-strcat.h: New file.
22188
22189         Tests for module 'unistr/u32-stpncpy'.
22190         * modules/unistr/u32-stpncpy-tests: New file.
22191         * tests/unistr/test-u32-stpncpy.c: New file.
22192
22193         Tests for module 'unistr/u16-stpncpy'.
22194         * modules/unistr/u16-stpncpy-tests: New file.
22195         * tests/unistr/test-u16-stpncpy.c: New file.
22196
22197         Tests for module 'unistr/u8-stpncpy'.
22198         * modules/unistr/u8-stpncpy-tests: New file.
22199         * tests/unistr/test-u8-stpncpy.c: New file.
22200         * tests/unistr/test-stpncpy.h: New file.
22201
22202         Tests for module 'unistr/u32-strncpy'.
22203         * modules/unistr/u32-strncpy-tests: New file.
22204         * tests/unistr/test-u32-strncpy.c: New file.
22205
22206         Tests for module 'unistr/u16-strncpy'.
22207         * modules/unistr/u16-strncpy-tests: New file.
22208         * tests/unistr/test-u16-strncpy.c: New file.
22209
22210         Tests for module 'unistr/u8-strncpy'.
22211         * modules/unistr/u8-strncpy-tests: New file.
22212         * tests/unistr/test-u8-strncpy.c: New file.
22213         * tests/unistr/test-strncpy.h: New file.
22214
22215         Tests for module 'unistr/u32-stpcpy'.
22216         * modules/unistr/u32-stpcpy-tests: New file.
22217         * tests/unistr/test-u32-stpcpy.c: New file.
22218
22219         Tests for module 'unistr/u16-stpcpy'.
22220         * modules/unistr/u16-stpcpy-tests: New file.
22221         * tests/unistr/test-u16-stpcpy.c: New file.
22222
22223         Tests for module 'unistr/u8-stpcpy'.
22224         * modules/unistr/u8-stpcpy-tests: New file.
22225         * tests/unistr/test-u8-stpcpy.c: New file.
22226         * tests/unistr/test-stpcpy.h: New file.
22227
22228         Tests for module 'unistr/u32-strcpy'.
22229         * modules/unistr/u32-strcpy-tests: New file.
22230         * tests/unistr/test-u32-strcpy.c: New file.
22231
22232         Tests for module 'unistr/u16-strcpy'.
22233         * modules/unistr/u16-strcpy-tests: New file.
22234         * tests/unistr/test-u16-strcpy.c: New file.
22235
22236         Tests for module 'unistr/u8-strcpy'.
22237         * modules/unistr/u8-strcpy-tests: New file.
22238         * tests/unistr/test-u8-strcpy.c: New file.
22239         * tests/unistr/test-strcpy.h: New file.
22240
22241         Tests for module 'unistr/u32-strnlen'.
22242         * modules/unistr/u32-strnlen-tests: New file.
22243         * tests/unistr/test-u32-strnlen.c: New file.
22244
22245         Tests for module 'unistr/u16-strnlen'.
22246         * modules/unistr/u16-strnlen-tests: New file.
22247         * tests/unistr/test-u16-strnlen.c: New file.
22248
22249         Tests for module 'unistr/u8-strnlen'.
22250         * modules/unistr/u8-strnlen-tests: New file.
22251         * tests/unistr/test-u8-strnlen.c: New file.
22252         * tests/unistr/test-strnlen.h: New file.
22253
22254         Tests for module 'unistr/u32-strlen'.
22255         * modules/unistr/u32-strlen-tests: New file.
22256         * tests/unistr/test-u32-strlen.c: New file.
22257
22258         Tests for module 'unistr/u16-strlen'.
22259         * modules/unistr/u16-strlen-tests: New file.
22260         * tests/unistr/test-u16-strlen.c: New file.
22261
22262         Tests for module 'unistr/u8-strlen'.
22263         * modules/unistr/u8-strlen-tests: New file.
22264         * tests/unistr/test-u8-strlen.c: New file.
22265
22266         Tests for module 'unistr/u32-prev'.
22267         * modules/unistr/u32-prev-tests: New file.
22268         * tests/unistr/test-u32-prev.c: New file.
22269
22270         Tests for module 'unistr/u16-prev'.
22271         * modules/unistr/u16-prev-tests: New file.
22272         * tests/unistr/test-u16-prev.c: New file.
22273
22274         Tests for module 'unistr/u8-prev'.
22275         * modules/unistr/u8-prev-tests: New file.
22276         * tests/unistr/test-u8-prev.c: New file.
22277
22278         Tests for module 'unistr/u32-next'.
22279         * modules/unistr/u32-next-tests: New file.
22280         * tests/unistr/test-u32-next.c: New file.
22281
22282         Tests for module 'unistr/u16-next'.
22283         * modules/unistr/u16-next-tests: New file.
22284         * tests/unistr/test-u16-next.c: New file.
22285
22286         Tests for module 'unistr/u8-next'.
22287         * modules/unistr/u8-next-tests: New file.
22288         * tests/unistr/test-u8-next.c: New file.
22289
22290         Tests for module 'unistr/u32-strmbtouc'.
22291         * modules/unistr/u32-strmbtouc-tests: New file.
22292         * tests/unistr/test-u32-strmbtouc.c: New file.
22293
22294         Tests for module 'unistr/u16-strmbtouc'.
22295         * modules/unistr/u16-strmbtouc-tests: New file.
22296         * tests/unistr/test-u16-strmbtouc.c: New file.
22297
22298         Tests for module 'unistr/u8-strmbtouc'.
22299         * modules/unistr/u8-strmbtouc-tests: New file.
22300         * tests/unistr/test-u8-strmbtouc.c: New file.
22301
22302         Tests for module 'unistr/u32-strmblen'.
22303         * modules/unistr/u32-strmblen-tests: New file.
22304         * tests/unistr/test-u32-strmblen.c: New file.
22305
22306         Tests for module 'unistr/u16-strmblen'.
22307         * modules/unistr/u16-strmblen-tests: New file.
22308         * tests/unistr/test-u16-strmblen.c: New file.
22309
22310         Tests for module 'unistr/u8-strmblen'.
22311         * modules/unistr/u8-strmblen-tests: New file.
22312         * tests/unistr/test-u8-strmblen.c: New file.
22313
22314         Tests for module 'unistr/u32-cpy-alloc'.
22315         * modules/unistr/u32-cpy-alloc-tests: New file.
22316         * tests/unistr/test-u32-cpy-alloc.c: New file.
22317
22318         Tests for module 'unistr/u16-cpy-alloc'.
22319         * modules/unistr/u16-cpy-alloc-tests: New file.
22320         * tests/unistr/test-u16-cpy-alloc.c: New file.
22321
22322         Tests for module 'unistr/u8-cpy-alloc'.
22323         * modules/unistr/u8-cpy-alloc-tests: New file.
22324         * tests/unistr/test-u8-cpy-alloc.c: New file.
22325         * tests/unistr/test-cpy-alloc.h: New file.
22326
22327         Tests for module 'unistr/u32-mbsnlen'.
22328         * modules/unistr/u32-mbsnlen-tests: New file.
22329         * tests/unistr/test-u32-mbsnlen.c: New file.
22330
22331         Tests for module 'unistr/u16-mbsnlen'.
22332         * modules/unistr/u16-mbsnlen-tests: New file.
22333         * tests/unistr/test-u16-mbsnlen.c: New file.
22334
22335         Tests for module 'unistr/u8-mbsnlen'.
22336         * modules/unistr/u8-mbsnlen-tests: New file.
22337         * tests/unistr/test-u8-mbsnlen.c: New file.
22338
22339         Tests for module 'unistr/u32-chr'.
22340         * modules/unistr/u32-chr-tests: New file.
22341         * tests/unistr/test-u32-chr.c: New file.
22342
22343         Tests for module 'unistr/u16-chr'.
22344         * modules/unistr/u16-chr-tests: New file.
22345         * tests/unistr/test-u16-chr.c: New file.
22346
22347         Tests for module 'unistr/u8-chr'.
22348         * modules/unistr/u8-chr-tests: New file.
22349         * tests/unistr/test-u8-chr.c: New file.
22350         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
22351
22352         Tests for module 'unistr/u32-cmp2'.
22353         * modules/unistr/u32-cmp2-tests: New file.
22354         * tests/unistr/test-u32-cmp2.c: New file.
22355
22356         Tests for module 'unistr/u16-cmp2'.
22357         * modules/unistr/u16-cmp2-tests: New file.
22358         * tests/unistr/test-u16-cmp2.c: New file.
22359
22360         Tests for module 'unistr/u8-cmp2'.
22361         * modules/unistr/u8-cmp2-tests: New file.
22362         * tests/unistr/test-u8-cmp2.c: New file.
22363         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
22364
22365         Tests for module 'unistr/u32-cmp'.
22366         * modules/unistr/u32-cmp-tests: New file.
22367         * tests/unistr/test-u32-cmp.c: New file.
22368
22369         Tests for module 'unistr/u16-cmp'.
22370         * modules/unistr/u16-cmp-tests: New file.
22371         * tests/unistr/test-u16-cmp.c: New file.
22372
22373         Tests for module 'unistr/u8-cmp'.
22374         * modules/unistr/u8-cmp-tests: New file.
22375         * tests/unistr/test-u8-cmp.c: New file.
22376         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
22377
22378         Tests for module 'unistr/u32-set'.
22379         * modules/unistr/u32-set-tests: New file.
22380         * tests/unistr/test-u32-set.c: New file.
22381
22382         Tests for module 'unistr/u16-set'.
22383         * modules/unistr/u16-set-tests: New file.
22384         * tests/unistr/test-u16-set.c: New file.
22385
22386         Tests for module 'unistr/u8-set'.
22387         * modules/unistr/u8-set-tests: New file.
22388         * tests/unistr/test-u8-set.c: New file.
22389         * tests/unistr/test-set.h: New file.
22390
22391         Tests for module 'unistr/u32-move'.
22392         * modules/unistr/u32-move-tests: New file.
22393         * tests/unistr/test-u32-move.c: New file.
22394
22395         Tests for module 'unistr/u16-move'.
22396         * modules/unistr/u16-move-tests: New file.
22397         * tests/unistr/test-u16-move.c: New file.
22398
22399         Tests for module 'unistr/u8-move'.
22400         * modules/unistr/u8-move-tests: New file.
22401         * tests/unistr/test-u8-move.c: New file.
22402         * tests/unistr/test-move.h: New file.
22403
22404         Tests for module 'unistr/u32-cpy'.
22405         * modules/unistr/u32-cpy-tests: New file.
22406         * tests/unistr/test-u32-cpy.c: New file.
22407
22408         Tests for module 'unistr/u16-cpy'.
22409         * modules/unistr/u16-cpy-tests: New file.
22410         * tests/unistr/test-u16-cpy.c: New file.
22411
22412         Tests for module 'unistr/u8-cpy'.
22413         * modules/unistr/u8-cpy-tests: New file.
22414         * tests/unistr/test-u8-cpy.c: New file.
22415         * tests/unistr/test-cpy.h: New file.
22416
22417 2010-01-09  Bruno Haible  <bruno@clisp.org>
22418
22419         Tests for module 'unistr/u32-uctomb'.
22420         * modules/unistr/u32-uctomb-tests: New file.
22421         * tests/unistr/test-u32-uctomb.c: New file.
22422
22423         Tests for module 'unistr/u16-uctomb'.
22424         * modules/unistr/u16-uctomb-tests: New file.
22425         * tests/unistr/test-u16-uctomb.c: New file.
22426
22427         Tests for module 'unistr/u8-uctomb'.
22428         * modules/unistr/u8-uctomb-tests: New file.
22429         * tests/unistr/test-u8-uctomb.c: New file.
22430
22431         Tests for module 'unistr/u32-mbtoucr'.
22432         * modules/unistr/u32-mbtoucr-tests: New file.
22433         * tests/unistr/test-u32-mbtoucr.c: New file.
22434
22435         Tests for module 'unistr/u16-mbtoucr'.
22436         * modules/unistr/u16-mbtoucr-tests: New file.
22437         * tests/unistr/test-u16-mbtoucr.c: New file.
22438
22439         Tests for module 'unistr/u8-mbtoucr'.
22440         * modules/unistr/u8-mbtoucr-tests: New file.
22441         * tests/unistr/test-u8-mbtoucr.c: New file.
22442
22443         Tests for module 'unistr/u32-mbtouc'.
22444         * modules/unistr/u32-mbtouc-tests: New file.
22445         * tests/unistr/test-u32-mbtouc.c: New file.
22446
22447         Tests for module 'unistr/u16-mbtouc'.
22448         * modules/unistr/u16-mbtouc-tests: New file.
22449         * tests/unistr/test-u16-mbtouc.c: New file.
22450
22451         Tests for module 'unistr/u8-mbtouc'.
22452         * modules/unistr/u8-mbtouc-tests: New file.
22453         * tests/unistr/test-u8-mbtouc.c: New file.
22454
22455         Tests for module 'unistr/u32-mbtouc-unsafe'.
22456         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
22457         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
22458         * tests/unistr/test-u32-mbtouc.h: New file.
22459
22460         Tests for module 'unistr/u16-mbtouc-unsafe'.
22461         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
22462         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
22463         * tests/unistr/test-u16-mbtouc.h: New file.
22464
22465         Tests for module 'unistr/u8-mbtouc-unsafe'.
22466         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
22467         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
22468         * tests/unistr/test-u8-mbtouc.h: New file.
22469
22470         Tests for module 'unistr/u32-mblen'.
22471         * modules/unistr/u32-mblen-tests: New file.
22472         * tests/unistr/test-u32-mblen.c: New file.
22473
22474         Tests for module 'unistr/u16-mblen'.
22475         * modules/unistr/u16-mblen-tests: New file.
22476         * tests/unistr/test-u16-mblen.c: New file.
22477
22478         Tests for module 'unistr/u8-mblen'.
22479         * modules/unistr/u8-mblen-tests: New file.
22480         * tests/unistr/test-u8-mblen.c: New file.
22481
22482         Tests for module 'unistr/u32-to-u16'.
22483         * modules/unistr/u32-to-u16-tests: New file.
22484         * tests/unistr/test-u32-to-u16.c: New file.
22485
22486         Tests for module 'unistr/u32-to-u8'.
22487         * modules/unistr/u32-to-u8-tests: New file.
22488         * tests/unistr/test-u32-to-u8.c: New file.
22489
22490         Tests for module 'unistr/u16-to-u32'.
22491         * modules/unistr/u16-to-u32-tests: New file.
22492         * tests/unistr/test-u16-to-u32.c: New file.
22493
22494         Tests for module 'unistr/u16-to-u8'.
22495         * modules/unistr/u16-to-u8-tests: New file.
22496         * tests/unistr/test-u16-to-u8.c: New file.
22497
22498         Tests for module 'unistr/u8-to-u32'.
22499         * modules/unistr/u8-to-u32-tests: New file.
22500         * tests/unistr/test-u8-to-u32.c: New file.
22501
22502         Tests for module 'unistr/u8-to-u16'.
22503         * modules/unistr/u8-to-u16-tests: New file.
22504         * tests/unistr/test-u8-to-u16.c: New file.
22505
22506         Tests for module 'unistr/u32-check'.
22507         * modules/unistr/u32-check-tests: New file.
22508         * tests/unistr/test-u32-check.c: New file.
22509
22510         Tests for module 'unistr/u16-check'.
22511         * modules/unistr/u16-check-tests: New file.
22512         * tests/unistr/test-u16-check.c: New file.
22513
22514         Tests for module 'unistr/u8-check'.
22515         * modules/unistr/u8-check-tests: New file.
22516         * tests/unistr/test-u8-check.c: New file.
22517
22518         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
22519         (category_equals): New function.
22520         (main): Add more tests.
22521         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
22522
22523         * tests/unictype/test-bidi_byname.c (main): Add more tests.
22524
22525 2010-01-10  Bruno Haible  <bruno@clisp.org>
22526
22527         unistr/u*-strcoll: Try harder to distinguish different strings.
22528         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
22529         compare s1 and s2 to see if they are different.
22530
22531 2010-01-10  Bruno Haible  <bruno@clisp.org>
22532
22533         unistr/u*-stpncpy: Fix the return value.
22534         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
22535         description of the return value consistent with stpncpy in glibc.
22536         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
22537         written non-NUL unit.
22538
22539 2010-01-10  Bruno Haible  <bruno@clisp.org>
22540
22541         unistr/u*-next: Add missing dependencies.
22542         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
22543         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
22544         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
22545
22546 2010-01-10  Bruno Haible  <bruno@clisp.org>
22547
22548         unistr/u8-mbsnlen: Fix return value for incomplete character.
22549         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
22550         u8_mblen.
22551         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
22552         Remove unistr/u8-mblen.
22553         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
22554         u16_mblen.
22555         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
22556         Remove unistr/u16-mblen.
22557
22558 2010-01-10  Bruno Haible  <bruno@clisp.org>
22559
22560         wchar: Fix compilation error when <wchar.h> is used from coreutils.
22561         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
22562         Reported by Brian Gough <bjg@gnu.org> and
22563         Chris Clayton <chris2553@googlemail.com> via
22564         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
22565
22566 2010-01-09  Bruno Haible  <bruno@clisp.org>
22567
22568         unistr/u16-to-u32: Reject invalid input.
22569         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
22570         u16_mbtouc.
22571         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
22572         Remove unistr/u16-mbtouc.
22573
22574         unistr/u16-to-u8: Reject invalid input.
22575         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
22576         u16_mbtouc.
22577         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
22578         Remove unistr/u16-mbtouc.
22579
22580         unistr/u8-to-u32: Reject invalid input.
22581         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
22582         u8_mbtouc.
22583         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
22584         Remove unistr/u8-mbtouc.
22585
22586         unistr/u8-to-u16: Reject invalid input.
22587         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
22588         u8_mbtouc.
22589         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
22590         Remove unistr/u8-mbtouc.
22591
22592 2010-01-09  Bruno Haible  <bruno@clisp.org>
22593
22594         Tests for module 'getlogin'.
22595         * modules/getlogin-tests: New file.
22596         * tests/test-getlogin.c: New file.
22597
22598         New module 'getlogin'.
22599         * lib/unistd.in.h (getlogin): New declaration.
22600         * lib/getlogin.c: New file.
22601         * m4/getlogin.m4: New file.
22602         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
22603         HAVE_GETLOGIN.
22604         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
22605         HAVE_GETLOGIN.
22606         * modules/getlogin: New file.
22607         * doc/posix-functions/getlogin.texi: Mention the new module.
22608         Reported by John W. Eaton <jwe@gnu.org>.
22609
22610 2010-01-09  Bruno Haible  <bruno@clisp.org>
22611
22612         getlogin_r: Support for native Windows.
22613         * lib/getlogin_r.c: Include <windows.h>
22614         (getlogin_r): Implement for native Windows.
22615         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
22616         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
22617         via John W. Eaton <jwe@gnu.org>.
22618
22619 2010-01-09  Bruno Haible  <bruno@clisp.org>
22620
22621         getlogin_r: Small fixes.
22622         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
22623         succeeds.
22624         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
22625         before testing whether getlogin_r is declared. No need to set
22626         HAVE_DECL_GETLOGIN_R to 1.
22627         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
22628
22629 2010-01-09  Bruno Haible  <bruno@clisp.org>
22630
22631         * lib/unistd.in.h (getlogin_r): Add comment.
22632
22633 2010-01-09  Bruno Haible  <bruno@clisp.org>
22634
22635         Tests for module 'getlogin_r'.
22636         * modules/getlogin_r-tests: New file.
22637         * tests/test-getlogin_r.c: New file.
22638
22639 2010-01-09  Jim Meyering  <meyering@redhat.com>
22640
22641         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
22642         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
22643         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
22644
22645 2010-01-08  Simon Josefsson  <simon@josefsson.org>
22646
22647         * lib/dup2.c (rpl_dup2): Improve comment.
22648
22649 2010-01-08  Eric Blake  <ebb9@byu.net>
22650
22651         maint.mk: allow packages to add makefile @@ exceptions
22652         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
22653         (sc_makefile_check): Rename...
22654         (sc_makefile_at_at_check): ...to this, and use hook.
22655
22656         dup2: work around mingw bug
22657         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
22658         Reported by Simon Josefsson.
22659
22660 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
22661
22662         glob: Fix C++ compilation.
22663         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
22664         C++.
22665
22666 2010-01-07  Bruno Haible  <bruno@clisp.org>
22667
22668         Fix indentation of wctype.in.h, broken since 2007-01-06.
22669         * lib/wctype.in.h: Fix indentation of preprocessor directives.
22670
22671 2010-01-07  Bruno Haible  <bruno@clisp.org>
22672
22673         mbslen: Avoid collision with system function.
22674         * lib/string.in.h [MirBSD]: Include <wchar.h>.
22675         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
22676         * m4/mbslen.m4: New file.
22677         * modules/mbslen (Files): Add it.
22678         (configure.ac): Invoke gl_MBSLEN.
22679         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
22680         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
22681         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
22682         via Ian Beckwith <ianb@erislabs.net>.
22683
22684 2010-01-07  Bruno Haible  <bruno@clisp.org>
22685
22686         dirent: Document the last fix.
22687         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
22688
22689 2010-01-07  Bruno Haible  <bruno@clisp.org>
22690
22691         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
22692         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
22693         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
22694         va_list are defined.
22695         * doc/posix-headers/stdio.texi: Document the bug of missing types.
22696         Reported by Eric Blake.
22697
22698 2010-01-07  Bruno Haible  <bruno@clisp.org>
22699
22700         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
22701         * modules/xlist (Depends-on): Add 'list',
22702         * modules/xoset (Depends-on): Add 'oset'.
22703         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
22704
22705 2010-01-07  Bruno Haible  <bruno@clisp.org>
22706
22707         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
22708         * doc/posix-functions/strncasecmp.texi: Likewise.
22709
22710 2010-01-07  Bruno Haible  <bruno@clisp.org>
22711
22712         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
22713
22714 2010-01-07  John W. Eaton  <jwe@octave.org>
22715
22716         wctype: allow C++ use
22717         * lib/wctype.in.h: Add extern "C" block for C++.
22718
22719 2010-01-06  Eric Blake  <ebb9@byu.net>
22720
22721         maint.mk: detect incorrect GFDL usage
22722         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
22723
22724 2010-01-06  Jim Meyering  <meyering@redhat.com>
22725         and Eric Blake  <ebb9@byu.net>
22726
22727         maint.mk: ignore multi-line copyright in NEWS
22728         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
22729
22730 2010-01-06  Eric Blake  <ebb9@byu.net>
22731
22732         select: add missing dependency
22733         * modules/select-tests (Depends-on): Move sockets dependency...
22734         * modules/select (Depends-on): ...here.
22735         Reported by Ian Beckwith.
22736
22737         doc: regenerate INSTALL
22738         * doc/INSTALL: Reflect recent autoconf update.
22739         * doc/INSTALL.ISO: Likewise.
22740         * doc/INSTALL.UTF-8: Likewise.
22741
22742         pread: fix compilation on glibc
22743         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
22744         Reported by Ralf Wildenhues.
22745
22746         dirent: fix test failure
22747         * lib/dirent.in.h (includes): Guarantee ino_t.
22748         Reported by Ralf Wildenhues.
22749
22750 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
22751
22752         linkat, renameat: avoid bad free
22753         * lib/at-func2.c (at_func2): Fix typo.
22754         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
22755
22756 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22757
22758         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
22759         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
22760         to avoid failure of symlink test later.
22761
22762 2010-01-06  Eric Blake  <ebb9@byu.net>
22763
22764         stdio, unistd: guarantee ssize_t
22765         * lib/unistd.in.h (includes): Ensure that types required by POSIX
22766         2008 are exposed when needed.
22767         * lib/stdio.in.h (includes): Likewise.
22768         Reported by Ralf Wildenhues.
22769
22770 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
22771
22772         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
22773         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
22774         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
22775
22776 2010-01-06  Jim Meyering  <meyering@redhat.com>
22777
22778         readtokens: this module *does* require xalloc.h
22779         It uses only functions that were omitted by the old syntax-check rule.
22780         * lib/readtokens.c: Include "xalloc.h" once again.
22781         * modules/readtokens (Depends-on): Add xalloc.
22782         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
22783
22784 2010-01-05  Eric Blake  <ebb9@byu.net>
22785
22786         maint: support 'make announcement' from a VPATH build
22787         * top/maint.mk (announcement): Look for correct NEWS file.
22788
22789 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
22790
22791         utimens (fdutimens): ignore a negative FD, per contract
22792         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
22793         when we have a valid file descriptor.  Otherwise, using a brand
22794         new glibc (with just-patched futimens that now fails with EBADF)
22795         would cause this function to fail with ENOSYS.
22796         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
22797         See also http://bugzilla.redhat.com/552320.
22798
22799 2010-01-05  Eric Blake  <ebb9@byu.net>
22800
22801         strcase: document what it provides
22802         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
22803         gnulib module.
22804         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
22805         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
22806
22807 2010-01-05  Jim Meyering  <meyering@redhat.com>
22808
22809         maint: remove useless inclusions of "xalloc.h"
22810         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
22811         * lib/readtokens.c: Likewise.
22812         * lib/same.c: Likewise.
22813         * modules/getloadavg (Depends-on): Remove xalloc.
22814         * modules/readtokens: Likewise.
22815         * modules/same: Likewise.
22816
22817         maint.mk: include 4 more function names in alloca.h-checking regexp
22818         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
22819         regexp.  Before, we would give a false-positive (saying alloca.h
22820         is included unnecessarily) when the only uses involved omitted symbols.
22821
22822         xalloc.h: use consistent formatting
22823         * lib/xalloc.h: Move declarations to start in the first column.
22824
22825 2010-01-05  Eric Blake  <ebb9@byu.net>
22826
22827         mkdir: avoid xalloc
22828         * lib/mkdir.c (includes): Drop unused header.
22829         Reported by John W. Eaton.
22830
22831 2010-01-04  Jim Meyering  <meyering@redhat.com>
22832
22833         nl_langinfo: avoid configure-time syntax error
22834         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
22835         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
22836         the empty string.  Don't let that provoke a shell syntax error.
22837
22838         regcomp, regexec, fnmatch: avoid array bounds read error
22839         * lib/regcomp.c (build_equiv_class): From glibc:
22840         Use only the low 24 bits of a findidx return value as an index
22841         into the weights array.  Patch by Ulrich Drepper:
22842         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
22843         * lib/regexec.c (check_node_accept_bytes): Likewise.
22844         * lib/fnmatch_loop.c (FCT): Likewise.
22845
22846         regcomp: skip collseq lookup when there are no rules
22847         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
22848         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
22849
22850         regcomp: recognize ill-formed { } expressions
22851         * lib/regcomp.c (parse_dup_op): From glibc:
22852         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
22853
22854         regcomp: fix typo in comment
22855         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
22856         s/satisfy/satisfies/.
22857
22858         regcomp: sync from glibc: remove dead store
22859         * lib/regcomp.c (duplicate_node_closure): Remove useless
22860         search_duplicated_node call and dead store.
22861
22862         regcomp: sync from glibc; always use nl_langinfo
22863         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
22864         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
22865         * modules/regex (Depends-on): Add nl_langinfo.
22866
22867 2010-01-04  Eric Blake  <ebb9@byu.net>
22868
22869         fdopendir: fix configure test
22870         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
22871
22872 2010-01-01  Bruno Haible  <bruno@clisp.org>
22873
22874         wchar: Remove unused configure check.
22875         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
22876
22877 2010-01-01  Eric Blake  <ebb9@byu.net>
22878
22879         headers: make check of system header explicit
22880         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
22881         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
22882         ourselves.
22883         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
22884         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
22885         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
22886         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
22887         internals.
22888         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
22889         missing.
22890         Suggested by Bruno Haible.
22891
22892 2010-01-01  Jim Meyering  <meyering@redhat.com>
22893
22894         ChangeLog: tweak to eliminate unnecessary copyright line
22895         * ChangeLog: Remove a copyright line that was mistakenly updated
22896         by today's update-copyright run.  Reported by Eric Blake.
22897
22898         test-update-copyright: don't let envvar setting cause test failure
22899         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
22900
22901 2010-01-01  Bruno Haible  <bruno@clisp.org>
22902
22903         localename: Avoid gcc warning.
22904         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
22905         function if it is not used.
22906
22907 2010-01-01  Jim Meyering  <meyering@redhat.com>
22908
22909         update nearly all FSF copyright year lists to include 2010
22910         Use the same procedure as for 2009, outlined in
22911         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
22912
22913         version-etc: set COPYRIGHT_YEAR to 2010
22914         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
22915
22916 2009-12-31  Eric Blake  <ebb9@byu.net>
22917
22918         doc: correct availability of cygwin 1.5.x getopt
22919         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
22920         variables.
22921         * doc/posix-functions/opterr.texi (opterr): Likewise.
22922         * doc/posix-functions/optind.texi (optind): Likewise.
22923         * doc/posix-functions/optopt.texi (optopt): Likewise.
22924         * doc/posix-functions/tzname.texi (tzname): Likewise.
22925
22926         openat: update maintainer
22927         * modules/openat (Maintainer): Add myself.
22928
22929         utimens: avoid shadowing warning
22930         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
22931         buffers into one, to avoid shadowing, as well as avoiding a
22932         redundant stat.
22933         Reported by Jim Meyering.
22934
22935         test-dup2: avoid compiler warning
22936         * tests/test-dup2.c (is_inheritable): Only define if used.
22937
22938 2010-01-01  Bruno Haible  <bruno@clisp.org>
22939
22940         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
22941         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
22942         defined, use wctomb instead of wcrtomb.
22943
22944 2010-01-01  Bruno Haible  <bruno@clisp.org>
22945
22946         iconv: Reject native Solaris iconv.
22947         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
22948         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
22949
22950 2009-12-31  Bruno Haible  <bruno@clisp.org>
22951
22952         * tests/test-signal.c (main): Remove test of 'SIG'.
22953
22954 2009-12-31  Bruno Haible  <bruno@clisp.org>
22955
22956         spawn: Fix incomplete fix.
22957         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
22958         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
22959         warnings for GNULIB_POSIXCHECK again.
22960         Reported by Eric Blake.
22961
22962 2009-12-31  Bruno Haible  <bruno@clisp.org>
22963
22964         Avoid namespace pollution on glibc systems.
22965         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
22966         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
22967         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
22968         glibc systems.
22969
22970 2009-12-31  Bruno Haible  <bruno@clisp.org>
22971
22972         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
22973         (gl_REPLACE_WCHAR_H): Turn into a no-op.
22974         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
22975         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
22976         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
22977         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
22978         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
22979
22980 2009-12-31  Bruno Haible  <bruno@clisp.org>
22981
22982         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
22983         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
22984         afterwards.
22985
22986 2009-12-31  Bruno Haible  <bruno@clisp.org>
22987
22988         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
22989         SYS_UTSNAME_H.
22990
22991 2009-12-31  Bruno Haible  <bruno@clisp.org>
22992
22993         spawn: Fix misapplied patch.
22994         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
22995         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
22996         warnings for GNULIB_POSIXCHECK.
22997
22998 2009-12-31  Bruno Haible  <bruno@clisp.org>
22999
23000         times: Update after sys_times changed.
23001         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
23002         * modules/times (Files): Add it.
23003         (configure.ac): Invoke gl_FUNC_TIMES.
23004
23005 2009-12-31  Bruno Haible  <bruno@clisp.org>
23006
23007         Use AC_C_INLINE where necessary.
23008         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
23009         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
23010         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
23011         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
23012         * m4/mbfile.m4 (gl_MBFILE): Likewise.
23013         * m4/mbiter.m4 (gl_MBITER): Likewise.
23014         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
23015         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
23016         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
23017         * modules/u64 (configure.ac): Likewise.
23018
23019 2009-12-31  Bruno Haible  <bruno@clisp.org>
23020
23021         Use AC_C_INLINE instead of module 'inline' where possible.
23022         * modules/inline (Description): Clarify purpose.
23023         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
23024         * modules/count-one-bits (Depends-on): Remove inline.
23025         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
23026         * modules/openat (Depends-on): Remove inline.
23027         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
23028         instead of depending on module 'inline'.
23029         * modules/filevercmp (Depends-on, configure.ac): Likewise.
23030         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
23031         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
23032         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
23033         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
23034         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
23035         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
23036         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
23037         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
23038         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
23039         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
23040         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
23041         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
23042         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
23043         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
23044         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
23045         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
23046         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
23047         Likewise.
23048         * modules/unictype/property-ascii-hex-digit (Depends-on,
23049         configure.ac): Likewise.
23050         * modules/unictype/property-bidi-arabic-digit (Depends-on,
23051         configure.ac): Likewise.
23052         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
23053         configure.ac): Likewise.
23054         * modules/unictype/property-bidi-block-separator (Depends-on,
23055         configure.ac): Likewise.
23056         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
23057         configure.ac): Likewise.
23058         * modules/unictype/property-bidi-common-separator (Depends-on,
23059         configure.ac): Likewise.
23060         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
23061         Likewise.
23062         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
23063         configure.ac): Likewise.
23064         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
23065         configure.ac): Likewise.
23066         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
23067         configure.ac): Likewise.
23068         * modules/unictype/property-bidi-european-digit (Depends-on,
23069         configure.ac): Likewise.
23070         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
23071         configure.ac): Likewise.
23072         * modules/unictype/property-bidi-left-to-right (Depends-on,
23073         configure.ac): Likewise.
23074         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
23075         configure.ac): Likewise.
23076         * modules/unictype/property-bidi-other-neutral (Depends-on,
23077         configure.ac): Likewise.
23078         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
23079         Likewise.
23080         * modules/unictype/property-bidi-segment-separator (Depends-on,
23081         configure.ac): Likewise.
23082         * modules/unictype/property-bidi-whitespace (Depends-on,
23083         configure.ac): Likewise.
23084         * modules/unictype/property-combining (Depends-on, configure.ac):
23085         Likewise.
23086         * modules/unictype/property-composite (Depends-on, configure.ac):
23087         Likewise.
23088         * modules/unictype/property-currency-symbol (Depends-on,
23089         configure.ac): Likewise.
23090         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
23091         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
23092         Likewise.
23093         * modules/unictype/property-default-ignorable-code-point (Depends-on,
23094         configure.ac): Likewise.
23095         * modules/unictype/property-deprecated (Depends-on, configure.ac):
23096         Likewise.
23097         * modules/unictype/property-diacritic (Depends-on, configure.ac):
23098         Likewise.
23099         * modules/unictype/property-extender (Depends-on, configure.ac):
23100         Likewise.
23101         * modules/unictype/property-format-control (Depends-on, configure.ac):
23102         Likewise.
23103         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
23104         Likewise.
23105         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
23106         Likewise.
23107         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
23108         Likewise.
23109         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
23110         Likewise.
23111         * modules/unictype/property-hyphen (Depends-on, configure.ac):
23112         Likewise.
23113         * modules/unictype/property-id-continue (Depends-on, configure.ac):
23114         Likewise.
23115         * modules/unictype/property-id-start (Depends-on, configure.ac):
23116         Likewise.
23117         * modules/unictype/property-ideographic (Depends-on, configure.ac):
23118         Likewise.
23119         * modules/unictype/property-ids-binary-operator (Depends-on,
23120         configure.ac): Likewise.
23121         * modules/unictype/property-ids-trinary-operator (Depends-on,
23122         configure.ac): Likewise.
23123         * modules/unictype/property-ignorable-control (Depends-on,
23124         configure.ac): Likewise.
23125         * modules/unictype/property-iso-control (Depends-on, configure.ac):
23126         Likewise.
23127         * modules/unictype/property-join-control (Depends-on, configure.ac):
23128         Likewise.
23129         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
23130         Likewise.
23131         * modules/unictype/property-line-separator (Depends-on, configure.ac):
23132         Likewise.
23133         * modules/unictype/property-logical-order-exception (Depends-on,
23134         configure.ac): Likewise.
23135         * modules/unictype/property-lowercase (Depends-on, configure.ac):
23136         Likewise.
23137         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
23138         * modules/unictype/property-non-break (Depends-on, configure.ac):
23139         Likewise.
23140         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
23141         Likewise.
23142         * modules/unictype/property-numeric (Depends-on, configure.ac):
23143         Likewise.
23144         * modules/unictype/property-other-alphabetic (Depends-on,
23145         configure.ac): Likewise.
23146         * modules/unictype/property-other-default-ignorable-code-point
23147         (Depends-on, configure.ac): Likewise.
23148         * modules/unictype/property-other-grapheme-extend (Depends-on,
23149         configure.ac): Likewise.
23150         * modules/unictype/property-other-id-continue (Depends-on,
23151         configure.ac): Likewise.
23152         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
23153         Likewise.
23154         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
23155         Likewise.
23156         * modules/unictype/property-other-math (Depends-on, configure.ac):
23157         Likewise.
23158         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
23159         Likewise.
23160         * modules/unictype/property-paired-punctuation (Depends-on,
23161         configure.ac): Likewise.
23162         * modules/unictype/property-paragraph-separator (Depends-on,
23163         configure.ac): Likewise.
23164         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
23165         Likewise.
23166         * modules/unictype/property-pattern-white-space (Depends-on,
23167         configure.ac): Likewise.
23168         * modules/unictype/property-private-use (Depends-on, configure.ac):
23169         Likewise.
23170         * modules/unictype/property-punctuation (Depends-on, configure.ac):
23171         Likewise.
23172         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
23173         Likewise.
23174         * modules/unictype/property-radical (Depends-on, configure.ac):
23175         Likewise.
23176         * modules/unictype/property-sentence-terminal (Depends-on,
23177         configure.ac): Likewise.
23178         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
23179         Likewise.
23180         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
23181         * modules/unictype/property-terminal-punctuation (Depends-on,
23182         configure.ac): Likewise.
23183         * modules/unictype/property-titlecase (Depends-on, configure.ac):
23184         Likewise.
23185         * modules/unictype/property-unassigned-code-value (Depends-on,
23186         configure.ac): Likewise.
23187         * modules/unictype/property-unified-ideograph (Depends-on,
23188         configure.ac): Likewise.
23189         * modules/unictype/property-uppercase (Depends-on, configure.ac):
23190         Likewise.
23191         * modules/unictype/property-variation-selector (Depends-on,
23192         configure.ac): Likewise.
23193         * modules/unictype/property-white-space (Depends-on, configure.ac):
23194         Likewise.
23195         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
23196         Likewise.
23197         * modules/unictype/property-xid-start (Depends-on, configure.ac):
23198         Likewise.
23199         * modules/unictype/property-zero-width (Depends-on, configure.ac):
23200         Likewise.
23201         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
23202         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
23203         Likewise.
23204
23205 2009-12-31  Bruno Haible  <bruno@clisp.org>
23206
23207         Remove unnecessary AC_C_INLINE invocation.
23208         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
23209         since 2009-08-21.
23210
23211 2009-12-31  Jim Meyering  <meyering@redhat.com>
23212
23213         maint.mk: don't require explicit gpg_key_ID in cfg.mk
23214         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
23215         With this change, we can all remove the gpg_key_ID = ... definition
23216         from our respective cfg.mk files.
23217
23218         maint.mk: create announcement template in ~/, not in /tmp
23219         * top/maint.mk (emit_upload_commands): Adjust.
23220         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
23221         Remove temporary file, .ci-msg.
23222
23223 2009-12-31  Eric Blake  <ebb9@byu.net>
23224
23225         link-warning: always build headers with link warnings
23226         * modules/arpa_inet (Makefile.am): Always build replacement
23227         header.
23228         * modules/ctype (Makefile.am): Likewise.
23229         * modules/dirent (Makefile.am): Likewise.
23230         * modules/inttypes (Makefile.am): Likewise.
23231         * modules/langinfo (Makefile.am): Likewise.
23232         * modules/locale (Makefile.am): Likewise.
23233         * modules/spawn (Makefile.am): Likewise.
23234         * modules/sys_file (Makefile.am): Likewise.
23235         * modules/sys_ioctl (Makefile.am): Likewise.
23236         * modules/sys_select (Makefile.am): Likewise.
23237         * modules/sys_socket (Makefile.am): Likewise.
23238         * modules/sys_times (Makefile.am): Likewise.
23239         * modules/sys_utsname (Makefile.am): Likewise.
23240         * modules/sys_wait (Makefile.am): Likewise.
23241         * modules/wchar (Makefile.am): Likewise.
23242         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
23243         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
23244         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
23245         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
23246         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
23247         Likewise.
23248         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
23249         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
23250         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
23251         Likewise.
23252         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
23253         Likewise.
23254         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
23255         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
23256         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
23257         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
23258         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
23259         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
23260         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
23261         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
23262         (gl_WCHAR_H_DEFAULTS): Likewise.
23263
23264 2009-12-31  Eric Blake  <ebb9@byu.net>
23265
23266         signal, spawn: use link warnings
23267         * lib/signal.in.h (sigset_t): Make unconditional.
23268         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
23269         (sigpending, sigprocmask, sigaction): Add link warnings.
23270         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
23271         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
23272         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
23273         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
23274         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
23275         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
23276         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
23277         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
23278         (posix_spawn_file_actions_destroy)
23279         (posix_spawn_file_actions_addopen)
23280         (posix_spawn_file_actions_addclose)
23281         (posix_spawn_file_actions_adddup2): Likewise.
23282         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
23283         * tests/test-signal.c (main): Enhance test.
23284
23285         spawn: improve wrapper support
23286         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
23287         (gl_SPAWN_H_DEFAULTS): New defaults.
23288         * modules/spawn (Makefile.am): Substitute them.
23289         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
23290         Only declare if missing or broken.
23291
23292         sys_times, sys_utsname: use include_next
23293         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
23294         header.
23295         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
23296         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
23297         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
23298         * modules/sys_times (Depends-on): Add include_next.
23299         (Makefile.am): Substitute additional values.
23300         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
23301         * lib/sys_times.in.h (includes): Include native header, if
23302         available.
23303         * lib/sys_utsname.in.h (includes): Likewise.
23304         * tests/test-sys_times.c (main): Enhance test.
23305
23306         fdutimensat: revert prior patch
23307         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
23308         utimens.h.
23309         Reported by Bruno Haible.
23310
23311 2009-12-30  Eric Blake  <ebb9@byu.net>
23312
23313         sys_wait: drop link-warning dependency
23314         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
23315         link-warning efforts.
23316         * lib/sys_wait.in.h: Likewise.
23317
23318         fdutimensat: remove bogus dependency
23319         * modules/fdutimensat (Depends-on): Drop inline.
23320
23321         unistd: fix typo
23322         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
23323
23324 2009-12-30  Bruno Haible  <bruno@clisp.org>
23325
23326         Fix compilation error with Solaris cc.
23327         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
23328         * lib/unicase/u16-is-invariant.c: Likewise.
23329         * lib/unicase/u32-is-invariant.c: Likewise.
23330         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
23331
23332 2009-12-30  Bruno Haible  <bruno@clisp.org>
23333
23334         Fix test crash.
23335         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
23336         locales.
23337         Reported by Simon Josefsson <simon@josefsson.org>.
23338
23339 2009-12-30  Bruno Haible  <bruno@clisp.org>
23340
23341         Fix compilation error on most platforms.
23342         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
23343         Reported by Simon Josefsson <simon@josefsson.org>
23344         and Nelson H. F. Beebe <beebe@math.utah.edu>.
23345
23346 2009-12-30  Eric Blake  <ebb9@byu.net>
23347
23348         futimens, utimensat: work around ntfs-3g bug
23349         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
23350         a ctime bug is present, and expand workaround to cover ntfs-3g.
23351         * lib/utimens.c (fdutimens, lutimens): Likewise.
23352         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
23353         (validate_timespec): Adjust return value.
23354         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
23355         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
23356         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
23357
23358 2009-12-29  Eric Blake  <ebb9@byu.net>
23359
23360         link-warning: make usage consistent
23361         * modules/ctype (Depends-on): Add link-warning.
23362         (Makefile.am): Update rules accordingly.
23363         * modules/langinfo (Depends-on, Makefile.am): Likewise.
23364         * modules/locale (Depends-on, Makefile.am): Likewise.
23365         * modules/sys_file (Makefile.am): Likewise.
23366         * modules/getopt-posix (Makefile.am): Delete unused link warning
23367         efforts.
23368         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
23369         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
23370         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
23371         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
23372
23373         stdio: remove unused variables
23374         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
23375         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
23376         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
23377
23378         tests: test more substitute headers
23379         * modules/ctype-tests: New file.
23380         * modules/dirent-tests: Likewise.
23381         * modules/spawn-tests: Likewise.
23382         * modules/sys_file-tests: Likewise.
23383         * modules/sys_ioctl-tests: Likewise.
23384         * modules/sys_wait-tests: Likewise.
23385         * tests/test-ctype.c: Likewise.
23386         * tests/test-dirent.c: Likewise.
23387         * tests/test-spawn.c: Likewise.
23388         * tests/test-sys_file.c: Likewise.
23389         * tests/test-sys_ioctl.c: Likewise.
23390         * tests/test-sys_wait.c: Likewise.
23391         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
23392         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
23393         whether or not flock is in use.
23394
23395         tests: remove License section from module
23396         * modules/arpa_inet-tests: Remove unneeded section.
23397         * modules/byteswap-tests: Likewise.
23398         * modules/ceilf-tests: Likewise.
23399         * modules/ceill-tests: Likewise.
23400         * modules/crypto/des-tests: Likewise.
23401         * modules/crypto/gc-arcfour-tests: Likewise.
23402         * modules/crypto/gc-arctwo-tests: Likewise.
23403         * modules/crypto/gc-des-tests: Likewise.
23404         * modules/crypto/gc-hmac-md5-tests: Likewise.
23405         * modules/crypto/gc-hmac-sha1-tests: Likewise.
23406         * modules/crypto/gc-md2-tests: Likewise.
23407         * modules/crypto/gc-md4-tests: Likewise.
23408         * modules/crypto/gc-md5-tests: Likewise.
23409         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
23410         * modules/crypto/gc-rijndael-tests: Likewise.
23411         * modules/crypto/gc-sha1-tests: Likewise.
23412         * modules/crypto/gc-tests: Likewise.
23413         * modules/crypto/md2-tests: Likewise.
23414         * modules/crypto/md4-tests: Likewise.
23415         * modules/fcntl-h-tests: Likewise.
23416         * modules/floorf-tests: Likewise.
23417         * modules/floorl-tests: Likewise.
23418         * modules/frexp-nolibm-tests: Likewise.
23419         * modules/frexp-tests: Likewise.
23420         * modules/frexpl-nolibm-tests: Likewise.
23421         * modules/frexpl-tests: Likewise.
23422         * modules/getaddrinfo-tests: Likewise.
23423         * modules/inttypes-tests: Likewise.
23424         * modules/isfinite-tests: Likewise.
23425         * modules/isinf-tests: Likewise.
23426         * modules/ldexpl-tests: Likewise.
23427         * modules/locale-tests: Likewise.
23428         * modules/math-tests: Likewise.
23429         * modules/netdb-tests: Likewise.
23430         * modules/netinet_in-tests: Likewise.
23431         * modules/printf-frexp-tests: Likewise.
23432         * modules/printf-frexpl-tests: Likewise.
23433         * modules/priv-set-tests: Likewise.
23434         * modules/random_r-tests: Likewise.
23435         * modules/round-tests: Likewise.
23436         * modules/roundf-tests: Likewise.
23437         * modules/roundl-tests: Likewise.
23438         * modules/search-tests: Likewise.
23439         * modules/select-tests: Likewise.
23440         * modules/signal-tests: Likewise.
23441         * modules/stdbool-tests: Likewise.
23442         * modules/stddef-tests: Likewise.
23443         * modules/stdint-tests: Likewise.
23444         * modules/stdio-tests: Likewise.
23445         * modules/stdlib-tests: Likewise.
23446         * modules/string-tests: Likewise.
23447         * modules/strings-tests: Likewise.
23448         * modules/sys_select-tests: Likewise.
23449         * modules/sys_socket-tests: Likewise.
23450         * modules/sys_stat-tests: Likewise.
23451         * modules/sys_time-tests: Likewise.
23452         * modules/sys_utsname-tests: Likewise.
23453         * modules/sysexits-tests: Likewise.
23454         * modules/time-tests: Likewise.
23455         * modules/trunc-tests: Likewise.
23456         * modules/truncf-tests: Likewise.
23457         * modules/truncl-tests: Likewise.
23458         * modules/tsearch-tests: Likewise.
23459         * modules/unistd-tests: Likewise.
23460         * modules/wchar-tests: Likewise.
23461         * modules/wctype-tests: Likewise.
23462
23463         tests: fix license on several tests
23464         * tests/test-des.c: Update to GPLv3+.
23465         * tests/test-flock.c: Likewise.
23466         * tests/test-fsync.c: Likewise.
23467         * tests/test-futimens.h: Likewise.
23468         * tests/test-gc-arcfour.c: Likewise.
23469         * tests/test-gc-arctwo.c: Likewise.
23470         * tests/test-gc-des.c: Likewise.
23471         * tests/test-gc-hmac-md5.c: Likewise.
23472         * tests/test-gc-hmac-sha1.c: Likewise.
23473         * tests/test-gc-md2.c: Likewise.
23474         * tests/test-gc-md4.c: Likewise.
23475         * tests/test-gc-md5.c: Likewise.
23476         * tests/test-gc-pbkdf2-sha1.c: Likewise.
23477         * tests/test-gc-rijndael.c: Likewise.
23478         * tests/test-gc-sha1.c: Likewise.
23479         * tests/test-gc.c: Likewise.
23480         * tests/test-getcwd.c: Likewise.
23481         * tests/test-link.c: Likewise.
23482         * tests/test-link.h: Likewise.
23483         * tests/test-lutimens.h: Likewise.
23484         * tests/test-md2.c: Likewise.
23485         * tests/test-md4.c: Likewise.
23486         * tests/test-mkdir.h: Likewise.
23487         * tests/test-rename.c: Likewise.
23488         * tests/test-rename.h: Likewise.
23489         * tests/test-safe-alloc.c: Likewise.
23490         * tests/test-utimens-common.h: Likewise.
23491         * tests/test-utimens.h: Likewise.
23492
23493         maint: sync license texts
23494         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
23495         * doc/gpl-3.0.texi: Revert copyright year update.
23496         * doc/lgpl-3.0.texi: Likewise.
23497
23498 2009-12-29  Jim Meyering  <meyering@redhat.com>
23499
23500         update nearly all FSF copyright year lists to include 2009
23501         The files named by the following are exempted:
23502             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
23503               test -f "$dst" && { echo "$dst"; continue; }
23504               test -d "$dst" || continue
23505               echo "$dst"/$(basename "$src")
23506             done > exempt
23507             git ls-files tests/unictype >> exempt
23508         In the remaining files, convert to all-interval notation if
23509         - there is already at least one year interval like 2000-2003
23510         - the file is maintained by me
23511         - the file is in lib/uni*/, where that style already prevails
23512         Otherwise, use update-copyright's default.
23513
23514 2009-12-29  Simon Josefsson  <simon@josefsson.org>
23515         and Eric Blake  <ebb9@byu.net>
23516
23517         tests: don't require debug system() to pass
23518         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
23519         * tests/test-rmdir.h (test_rmdir_func): Likewise.
23520         * tests/test-unlink.h (test_unlink_func): Likewise.
23521         * tests/test-fstatat.c (main): ...into callers.
23522         * tests/test-lstat.c (main): Likewise.
23523         * tests/test-rmdir.c (main): Likewise.
23524         * tests/test-unlink.c (main): Likewise.
23525         * tests/test-unlinkat.c (main): Likewise.
23526         * tests/test-areadlink-with-size.c (main): Don't require a
23527         debug-only system call to pass, aiding cross-testing to mingw.
23528         * tests/test-areadlink.c (main): Likewise.
23529         * tests/test-areadlinkat-with-size.c (main): Likewise.
23530         * tests/test-areadlinkat.c (main): Likewise.
23531         * tests/test-canonicalize-lgpl.c (main): Likewise.
23532         * tests/test-canonicalize.c (main): Likewise.
23533         * tests/test-chown.c (main): Likewise.
23534         * tests/test-fchownat.c (main): Likewise.
23535         * tests/test-lchown.c (main): Likewise.
23536         * tests/test-fdutimensat.c (main): Likewise.
23537         * tests/test-futimens.c (main): Likewise.
23538         * tests/test-link.c (main): Likewise.
23539         * tests/test-linkat.c (main): Likewise.
23540         * tests/test-mkdir.c (main): Likewise.
23541         * tests/test-mkdirat.c (main): Likewise.
23542         * tests/test-mkfifo.c (main): Likewise.
23543         * tests/test-mkfifoat.c (main): Likewise.
23544         * tests/test-mknod.c (main): Likewise.
23545         * tests/test-readlink.c (main): Likewise.
23546         * tests/test-remove.c (main): Likewise.
23547         * tests/test-rename.c (main): Likewise.
23548         * tests/test-renameat.c (main): Likewise.
23549         * tests/test-symlink.c (main): Likewise.
23550         * tests/test-symlinkat.c (main): Likewise.
23551         * tests/test-utimens.c (main): Likewise.
23552         * tests/test-utimensat.c (main): Likewise.
23553
23554 2009-12-29  Simon Josefsson  <simon@josefsson.org>
23555
23556         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
23557         on $(UNUSED_PARAMETER_H) to avoid build failure.
23558
23559 2009-12-28  Jim Meyering  <meyering@redhat.com>
23560
23561         update-copyright: you may specify a max. line length other than 72
23562         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
23563
23564         maint: use consistent FSF copyright line syntax
23565         * lib/posixtm.c: Add missing comma in FSF copyright line.
23566         * lib/posixtm.h: Likewise.
23567         * lib/getugroups.c: Add missing ", Inc.".
23568
23569         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
23570         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
23571         FSF copyright line.  Remove trailing blanks.
23572
23573 2009-12-28  Eric Blake  <ebb9@byu.net>
23574
23575         test-dup2: reduce dependencies
23576         * modules/cloexec (Configure.ac): Set witness.
23577         * modules/dup2-tests (Depends-on): Drop cloexec.
23578         * tests/test-dup2.c (main): Skip portion of test if cloexec module
23579         not present.
23580         Suggested by Bruno Haible.
23581
23582 2009-12-26  Bruno Haible  <bruno@clisp.org>
23583
23584         Remove an unneeded dependency.
23585         * modules/fseterr (Depends-on): Remove dup2.
23586
23587 2009-12-26  Eric Blake  <ebb9@byu.net>
23588
23589         tests: use macros.h in more places
23590         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
23591         (ASSERT_STREAM): Provide default of stderr.
23592         * tests/test-dirent-safer.c: Include macros.h, using alternate
23593         stream for assertions.
23594         * tests/test-dup-safer.c: Likewise.
23595         * tests/test-freopen-safer.c: Likewise.
23596         * tests/test-getopt.c: Likewise.
23597         * tests/test-openat-safer.c: Likewise.
23598         * tests/test-pipe.c: Likewise.
23599         * tests/test-popen-safer.c: Likewise.
23600         * modules/dirent-safer-tests (Files): Include macros.h.
23601         * modules/unistd-safer-tests (Files): Likewise.
23602         * modules/freopen-safer-tests (Files): Likewise.
23603         * modules/getopt-posix-tests (Files): Likewise.
23604         * modules/openat-safer-tests (Files): Likewise.
23605         * modules/pipe-tests (Files): Likewise.
23606
23607 2009-12-26  Bruno Haible  <bruno@clisp.org>
23608
23609         javacomp: Portability fix.
23610         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
23611         that it also works on Solaris.
23612
23613 2009-12-26  Bruno Haible  <bruno@clisp.org>
23614
23615         localename: Fix storage allocation of gl_locale_name_thread's result.
23616         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
23617         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
23618         all platforms that have 'uselocale'.
23619         (gl_locale_name_thread_unsafe): New function, extracted from
23620         gl_locale_name_thread.
23621         (gl_locale_name_thread): Call struniq on all platforms that have
23622         'uselocale'.
23623         * tests/test-localename.c (test_locale_name_thread): Check that the
23624         resulting strings are permanently allocated.
23625         * modules/localename-tests (Depends-on): Add strdup.
23626
23627 2009-12-26  Bruno Haible  <bruno@clisp.org>
23628
23629         * tests/test-localename.c (categories): Fill in the strings.
23630
23631 2009-12-26  Jim Meyering  <meyering@redhat.com>
23632
23633         isdir: complete the removal of m4/isdir.m4
23634         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
23635
23636         isdir: clean up, since at least grep still uses it
23637         * lib/isdir.c: Include "isdir.h".
23638         (S_ISDIR): Remove now-unneeded definition.
23639         * modules/isdir (Files): Add lib/isdir.h.
23640         * lib/isdir.h: New file, with declaration.
23641         * m4/isdir.m4: Remove file -- unneeded.
23642
23643 2009-12-25  Bruno Haible  <bruno@clisp.org>
23644
23645         selinux-h: Make generated .h files standalone.
23646         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
23647         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
23648         * lib/se-selinux.in.h: Likewise.
23649         * modules/selinux-h (Depends-on): Add unused-parameter.
23650         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
23651         selinux/selinux.h and selinux/context.h.
23652         Suggested by Eric Blake.
23653
23654 2009-12-25  Bruno Haible  <bruno@clisp.org>
23655
23656         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
23657         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
23658         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
23659         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
23660         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
23661
23662 2009-12-24  Bruno Haible  <bruno@clisp.org>
23663
23664         openat: Fix warning.
23665         * lib/openat-proc.c: Include <unistd.h>.
23666
23667 2009-12-24  Bruno Haible  <bruno@clisp.org>
23668
23669         New module 'unused-parameter'.
23670         * build-aux/unused-parameter.h: New file, extracted from earlier
23671         gnulib-common.m4.
23672         * modules/unused-parameter: New file.
23673         * lib/unistr.h: Include unused-parameter.h.
23674         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
23675         _GL_UNUSED.
23676         * modules/unistr/base (Depends-on): Add unused-parameter.
23677
23678 2009-12-24  Bruno Haible  <bruno@clisp.org>
23679
23680         Add missing dependencies to 'extensions' module.
23681         * m4/extensions.m4: Add comment.
23682         * modules/accept4 (Depends-on): Add extensions.
23683         * modules/dup3 (Depends-on): Likewise.
23684         * modules/fcntl (Depends-on): Likewise.
23685         * modules/futimens (Depends-on): Likewise.
23686         * modules/mknod (Depends-on): Likewise.
23687         * modules/pipe2 (Depends-on): Likewise.
23688         * modules/stat-time (Depends-on): Likewise.
23689         * modules/strcasestr-simple (Depends-on): Likewise.
23690         * modules/strsignal (Depends-on): Likewise.
23691         * modules/utimensat (Depends-on): Likewise.
23692         * modules/localcharset (Depends-on): Likewise. Needed because of
23693         gl_FCNTL_O_FLAGS.
23694         * modules/wcrtomb (Depends-on): Likewise. Needed because of
23695         AC_TYPE_MBSTATE_T.
23696         * modules/wcsnrtombs (Depends-on): Likewise.
23697         * modules/wcsrtombs (Depends-on): Likewise.
23698
23699 2009-12-24  Bruno Haible  <bruno@clisp.org>
23700
23701         binary-io: Avoid gcc warning due to SET_BINARY.
23702         * lib/binary-io.h (SET_BINARY): Cast the result to void.
23703         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
23704
23705 2009-12-24  Bruno Haible  <bruno@clisp.org>
23706
23707         Avoid future namespace pollution on glibc systems.
23708         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
23709         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
23710         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
23711         glibc systems.
23712
23713 2009-12-24  Bruno Haible  <bruno@clisp.org>
23714
23715         Refactor common macros used in tests.
23716         * tests/macros.h: New file.
23717         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
23718         and/or <stdlib.h>, if appropriate.
23719         (ASSERT, SIZEOF): Remove macros.
23720         * tests/test-areadlink-with-size.c: Likewise.
23721         * tests/test-areadlinkat.c: Likewise.
23722         * tests/test-areadlinkat-with-size.c: Likewise.
23723         * tests/test-argmatch.c: Likewise.
23724         * tests/test-argv-iter.c: Likewise.
23725         * tests/test-array-mergesort.c: Likewise.
23726         * tests/test-array_list.c: Likewise.
23727         * tests/test-array_oset.c: Likewise.
23728         * tests/test-avltree_list.c: Likewise.
23729         * tests/test-avltree_oset.c: Likewise.
23730         * tests/test-avltreehash_list.c: Likewise.
23731         * tests/test-base64.c: Likewise.
23732         * tests/test-binary-io.c: Likewise.
23733         * tests/test-bitrotate.c: Likewise.
23734         * tests/test-btowc.c: Likewise.
23735         * tests/test-byteswap.c: Likewise.
23736         * tests/test-c-ctype.c: Likewise.
23737         * tests/test-c-stack.c: Likewise.
23738         * tests/test-c-strcasecmp.c: Likewise.
23739         * tests/test-c-strcasestr.c: Likewise.
23740         * tests/test-c-strncasecmp.c: Likewise.
23741         * tests/test-c-strstr.c: Likewise.
23742         * tests/test-canonicalize-lgpl.c: Likewise.
23743         * tests/test-canonicalize.c: Likewise.
23744         * tests/test-carray_list.c: Likewise.
23745         * tests/test-ceilf1.c: Likewise.
23746         * tests/test-ceilf2.c: Likewise.
23747         * tests/test-ceill.c: Likewise.
23748         * tests/test-chown.c: Likewise.
23749         * tests/test-cloexec.c: Likewise.
23750         * tests/test-copy-acl.c: Likewise.
23751         * tests/test-copy-file.c: Likewise.
23752         * tests/test-count-one-bits.c: Likewise.
23753         * tests/test-dprintf-posix.c: Likewise.
23754         * tests/test-dup2.c: Likewise.
23755         * tests/test-dup3.c: Likewise.
23756         * tests/test-duplocale.c: Likewise.
23757         * tests/test-fbufmode.c: Likewise.
23758         * tests/test-fchdir.c: Likewise.
23759         * tests/test-fchownat.c: Likewise.
23760         * tests/test-fcntl-safer.c: Likewise.
23761         * tests/test-fcntl.c: Likewise.
23762         * tests/test-fdopendir.c: Likewise.
23763         * tests/test-fdutimensat.c: Likewise.
23764         * tests/test-fflush2.c: Likewise.
23765         * tests/test-file-has-acl.c: Likewise.
23766         * tests/test-filevercmp.c: Likewise.
23767         * tests/test-flock.c: Likewise.
23768         * tests/test-floorf1.c: Likewise.
23769         * tests/test-floorf2.c: Likewise.
23770         * tests/test-floorl.c: Likewise.
23771         * tests/test-fnmatch.c: Likewise.
23772         * tests/test-fopen.h: Likewise.
23773         * tests/test-fpending.c: Likewise.
23774         * tests/test-fprintf-posix.c: Likewise.
23775         * tests/test-fpurge.c: Likewise.
23776         * tests/test-freadable.c: Likewise.
23777         * tests/test-freadahead.c: Likewise.
23778         * tests/test-freading.c: Likewise.
23779         * tests/test-freadptr.c: Likewise.
23780         * tests/test-freadptr2.c: Likewise.
23781         * tests/test-freadseek.c: Likewise.
23782         * tests/test-freopen.c: Likewise.
23783         * tests/test-frexp.c: Likewise.
23784         * tests/test-frexpl.c: Likewise.
23785         * tests/test-fseek.c: Likewise.
23786         * tests/test-fseeko.c: Likewise.
23787         * tests/test-fstatat.c: Likewise.
23788         * tests/test-fstrcmp.c: Likewise.
23789         * tests/test-fsync.c: Likewise.
23790         * tests/test-ftell.c: Likewise.
23791         * tests/test-ftello.c: Likewise.
23792         * tests/test-func.c: Likewise.
23793         * tests/test-futimens.c: Likewise.
23794         * tests/test-fwritable.c: Likewise.
23795         * tests/test-fwriting.c: Likewise.
23796         * tests/test-getcwd.c: Likewise.
23797         * tests/test-getdate.c: Likewise.
23798         * tests/test-getdelim.c: Likewise.
23799         * tests/test-getdtablesize.c: Likewise.
23800         * tests/test-getgroups.c: Likewise.
23801         * tests/test-getline.c: Likewise.
23802         * tests/test-getndelim2.c: Likewise.
23803         * tests/test-glob.c: Likewise.
23804         * tests/test-hash.c: Likewise.
23805         * tests/test-i-ring.c: Likewise.
23806         * tests/test-iconv-utf.c: Likewise.
23807         * tests/test-iconv.c: Likewise.
23808         * tests/test-idpriv-drop.c: Likewise.
23809         * tests/test-idpriv-droptemp.c: Likewise.
23810         * tests/test-inet_ntop.c: Likewise.
23811         * tests/test-inet_pton.c: Likewise.
23812         * tests/test-isblank.c: Likewise.
23813         * tests/test-isfinite.c: Likewise.
23814         * tests/test-isinf.c: Likewise.
23815         * tests/test-isnan.c: Likewise.
23816         * tests/test-isnand.h: Likewise.
23817         * tests/test-isnanf.h: Likewise.
23818         * tests/test-isnanl.h: Likewise.
23819         * tests/test-lchown.c: Likewise.
23820         * tests/test-ldexpl.c: Likewise.
23821         * tests/test-link.c: Likewise.
23822         * tests/test-linkat.c: Likewise.
23823         * tests/test-linked_list.c: Likewise.
23824         * tests/test-linkedhash_list.c: Likewise.
23825         * tests/test-localename.c: Likewise.
23826         * tests/test-lseek.c: Likewise.
23827         * tests/test-lstat.c: Likewise.
23828         * tests/test-mbmemcasecmp.c: Likewise.
23829         * tests/test-mbmemcasecoll.c: Likewise.
23830         * tests/test-mbrtowc.c: Likewise.
23831         * tests/test-mbscasecmp.c: Likewise.
23832         * tests/test-mbscasestr1.c: Likewise.
23833         * tests/test-mbscasestr2.c: Likewise.
23834         * tests/test-mbscasestr3.c: Likewise.
23835         * tests/test-mbscasestr4.c: Likewise.
23836         * tests/test-mbschr.c: Likewise.
23837         * tests/test-mbscspn.c: Likewise.
23838         * tests/test-mbsinit.c: Likewise.
23839         * tests/test-mbsncasecmp.c: Likewise.
23840         * tests/test-mbsnrtowcs.c: Likewise.
23841         * tests/test-mbspbrk.c: Likewise.
23842         * tests/test-mbspcasecmp.c: Likewise.
23843         * tests/test-mbsrchr.c: Likewise.
23844         * tests/test-mbsrtowcs.c: Likewise.
23845         * tests/test-mbsspn.c: Likewise.
23846         * tests/test-mbsstr1.c: Likewise.
23847         * tests/test-mbsstr2.c: Likewise.
23848         * tests/test-mbsstr3.c: Likewise.
23849         * tests/test-memchr.c: Likewise.
23850         * tests/test-memchr2.c: Likewise.
23851         * tests/test-memcmp.c: Likewise.
23852         * tests/test-memmem.c: Likewise.
23853         * tests/test-memrchr.c: Likewise.
23854         * tests/test-mkdir.c: Likewise.
23855         * tests/test-mkdirat.c: Likewise.
23856         * tests/test-mkfifo.c: Likewise.
23857         * tests/test-mkfifoat.c: Likewise.
23858         * tests/test-mknod.c: Likewise.
23859         * tests/test-nanosleep.c: Likewise.
23860         * tests/test-nl_langinfo.c: Likewise.
23861         * tests/test-obstack-printf.c: Likewise.
23862         * tests/test-open.c: Likewise.
23863         * tests/test-openat.c: Likewise.
23864         * tests/test-pipe-filter-gi1.c: Likewise.
23865         * tests/test-pipe-filter-gi2-main.c: Likewise.
23866         * tests/test-pipe-filter-ii1.c: Likewise.
23867         * tests/test-pipe-filter-ii2-main.c: Likewise.
23868         * tests/test-pipe2.c: Likewise.
23869         * tests/test-popen.h: Likewise.
23870         * tests/test-posixtm.c: Likewise.
23871         * tests/test-pread.c: Likewise.
23872         * tests/test-printf-frexp.c: Likewise.
23873         * tests/test-printf-frexpl.c: Likewise.
23874         * tests/test-printf-posix.c: Likewise.
23875         * tests/test-priv-set.c: Likewise.
23876         * tests/test-quotearg.c: Likewise.
23877         * tests/test-random_r.c: Likewise.
23878         * tests/test-rawmemchr.c: Likewise.
23879         * tests/test-rbtree_list.c: Likewise.
23880         * tests/test-rbtree_oset.c: Likewise.
23881         * tests/test-rbtreehash_list.c: Likewise.
23882         * tests/test-readlink.c: Likewise.
23883         * tests/test-remove.c: Likewise.
23884         * tests/test-rename.c: Likewise.
23885         * tests/test-renameat.c: Likewise.
23886         * tests/test-rmdir.c: Likewise.
23887         * tests/test-round1.c: Likewise.
23888         * tests/test-roundf1.c: Likewise.
23889         * tests/test-roundl.c: Likewise.
23890         * tests/test-safe-alloc.c: Likewise.
23891         * tests/test-sameacls.c: Likewise.
23892         * tests/test-set-mode-acl.c: Likewise.
23893         * tests/test-setenv.c: Likewise.
23894         * tests/test-sigaction.c: Likewise.
23895         * tests/test-signbit.c: Likewise.
23896         * tests/test-sleep.c: Likewise.
23897         * tests/test-snprintf-posix.c: Likewise.
23898         * tests/test-snprintf.c: Likewise.
23899         * tests/test-sprintf-posix.c: Likewise.
23900         * tests/test-stat-time.c: Likewise.
23901         * tests/test-stat.c: Likewise.
23902         * tests/test-strcasestr.c: Likewise.
23903         * tests/test-strchrnul.c: Likewise.
23904         * tests/test-strerror.c: Likewise.
23905         * tests/test-striconv.c: Likewise.
23906         * tests/test-striconveh.c: Likewise.
23907         * tests/test-striconveha.c: Likewise.
23908         * tests/test-strsignal.c: Likewise.
23909         * tests/test-strstr.c: Likewise.
23910         * tests/test-strtod.c: Likewise.
23911         * tests/test-strverscmp.c: Likewise.
23912         * tests/test-symlink.c: Likewise.
23913         * tests/test-symlinkat.c: Likewise.
23914         * tests/test-trunc1.c: Likewise.
23915         * tests/test-trunc2.c: Likewise.
23916         * tests/test-truncf1.c: Likewise.
23917         * tests/test-truncf2.c: Likewise.
23918         * tests/test-truncl.c: Likewise.
23919         * tests/test-uname.c: Likewise.
23920         * tests/test-unlink.c: Likewise.
23921         * tests/test-unlinkat.c: Likewise.
23922         * tests/test-unsetenv.c: Likewise.
23923         * tests/test-usleep.c: Likewise.
23924         * tests/test-utimens.c: Likewise.
23925         * tests/test-utimensat.c: Likewise.
23926         * tests/test-vasnprintf-posix.c: Likewise.
23927         * tests/test-vasnprintf-posix2.c: Likewise.
23928         * tests/test-vasnprintf.c: Likewise.
23929         * tests/test-vasprintf-posix.c: Likewise.
23930         * tests/test-vasprintf.c: Likewise.
23931         * tests/test-vdprintf-posix.c: Likewise.
23932         * tests/test-vfprintf-posix.c: Likewise.
23933         * tests/test-vprintf-posix.c: Likewise.
23934         * tests/test-vsnprintf-posix.c: Likewise.
23935         * tests/test-vsnprintf.c: Likewise.
23936         * tests/test-vsprintf-posix.c: Likewise.
23937         * tests/test-wcrtomb.c: Likewise.
23938         * tests/test-wcsnrtombs.c: Likewise.
23939         * tests/test-wcsrtombs.c: Likewise.
23940         * tests/test-wctype.c: Likewise.
23941         * tests/test-wcwidth.c: Likewise.
23942         * tests/test-xfprintf-posix.c: Likewise.
23943         * tests/test-xmemdup0.c: Likewise.
23944         * tests/test-xprintf-posix.c: Likewise.
23945         * tests/test-xvasprintf.c: Likewise.
23946         * tests/unicase/test-locale-language.c: Likewise.
23947         * tests/unicase/test-mapping-part1.h: Likewise.
23948         * tests/unicase/test-predicate-part1.h: Likewise.
23949         * tests/unicase/test-u8-casecmp.c: Likewise.
23950         * tests/unicase/test-u8-casecoll.c: Likewise.
23951         * tests/unicase/test-u8-casefold.c: Likewise.
23952         * tests/unicase/test-u8-is-cased.c: Likewise.
23953         * tests/unicase/test-u8-is-casefolded.c: Likewise.
23954         * tests/unicase/test-u8-is-lowercase.c: Likewise.
23955         * tests/unicase/test-u8-is-titlecase.c: Likewise.
23956         * tests/unicase/test-u8-is-uppercase.c: Likewise.
23957         * tests/unicase/test-u8-tolower.c: Likewise.
23958         * tests/unicase/test-u8-totitle.c: Likewise.
23959         * tests/unicase/test-u8-toupper.c: Likewise.
23960         * tests/unicase/test-u16-casecmp.c: Likewise.
23961         * tests/unicase/test-u16-casecoll.c: Likewise.
23962         * tests/unicase/test-u16-casefold.c: Likewise.
23963         * tests/unicase/test-u16-is-cased.c: Likewise.
23964         * tests/unicase/test-u16-is-casefolded.c: Likewise.
23965         * tests/unicase/test-u16-is-lowercase.c: Likewise.
23966         * tests/unicase/test-u16-is-titlecase.c: Likewise.
23967         * tests/unicase/test-u16-is-uppercase.c: Likewise.
23968         * tests/unicase/test-u16-tolower.c: Likewise.
23969         * tests/unicase/test-u16-totitle.c: Likewise.
23970         * tests/unicase/test-u16-toupper.c: Likewise.
23971         * tests/unicase/test-u32-casecmp.c: Likewise.
23972         * tests/unicase/test-u32-casecoll.c: Likewise.
23973         * tests/unicase/test-u32-casefold.c: Likewise.
23974         * tests/unicase/test-u32-is-cased.c: Likewise.
23975         * tests/unicase/test-u32-is-casefolded.c: Likewise.
23976         * tests/unicase/test-u32-is-lowercase.c: Likewise.
23977         * tests/unicase/test-u32-is-titlecase.c: Likewise.
23978         * tests/unicase/test-u32-is-uppercase.c: Likewise.
23979         * tests/unicase/test-u32-tolower.c: Likewise.
23980         * tests/unicase/test-u32-totitle.c: Likewise.
23981         * tests/unicase/test-u32-toupper.c: Likewise.
23982         * tests/unicase/test-ulc-casecmp.c: Likewise.
23983         * tests/unicase/test-ulc-casecoll.c: Likewise.
23984         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
23985         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
23986         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
23987         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
23988         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
23989         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
23990         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
23991         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
23992         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
23993         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
23994         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
23995         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
23996         * tests/unictype/test-bidi_byname.c: Likewise.
23997         * tests/unictype/test-bidi_name.c: Likewise.
23998         * tests/unictype/test-bidi_of.c: Likewise.
23999         * tests/unictype/test-bidi_test.c: Likewise.
24000         * tests/unictype/test-block_list.c: Likewise.
24001         * tests/unictype/test-block_of.c: Likewise.
24002         * tests/unictype/test-block_test.c: Likewise.
24003         * tests/unictype/test-categ_and.c: Likewise.
24004         * tests/unictype/test-categ_and_not.c: Likewise.
24005         * tests/unictype/test-categ_byname.c: Likewise.
24006         * tests/unictype/test-categ_name.c: Likewise.
24007         * tests/unictype/test-categ_none.c: Likewise.
24008         * tests/unictype/test-categ_of.c: Likewise.
24009         * tests/unictype/test-categ_or.c: Likewise.
24010         * tests/unictype/test-categ_test_withtable.c: Likewise.
24011         * tests/unictype/test-combining.c: Likewise.
24012         * tests/unictype/test-decdigit.c: Likewise.
24013         * tests/unictype/test-digit.c: Likewise.
24014         * tests/unictype/test-mirror.c: Likewise.
24015         * tests/unictype/test-numeric.c: Likewise.
24016         * tests/unictype/test-pr_byname.c: Likewise.
24017         * tests/unictype/test-pr_test.c: Likewise.
24018         * tests/unictype/test-predicate-part1.h: Likewise.
24019         * tests/unictype/test-scripts.c: Likewise.
24020         * tests/unictype/test-sy_c_ident.c: Likewise.
24021         * tests/unictype/test-sy_java_ident.c: Likewise.
24022         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
24023         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
24024         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
24025         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
24026         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
24027         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
24028         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
24029         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
24030         * tests/uninorm/test-canonical-decomposition.c: Likewise.
24031         * tests/uninorm/test-compat-decomposition.c: Likewise.
24032         * tests/uninorm/test-composition.c: Likewise.
24033         * tests/uninorm/test-decomposing-form.c: Likewise.
24034         * tests/uninorm/test-decomposition.c: Likewise.
24035         * tests/uninorm/test-u8-nfc.c: Likewise.
24036         * tests/uninorm/test-u8-nfd.c: Likewise.
24037         * tests/uninorm/test-u8-nfkc.c: Likewise.
24038         * tests/uninorm/test-u8-nfkd.c: Likewise.
24039         * tests/uninorm/test-u8-normcmp.c: Likewise.
24040         * tests/uninorm/test-u8-normcoll.c: Likewise.
24041         * tests/uninorm/test-u16-nfc.c: Likewise.
24042         * tests/uninorm/test-u16-nfd.c: Likewise.
24043         * tests/uninorm/test-u16-nfkc.c: Likewise.
24044         * tests/uninorm/test-u16-nfkd.c: Likewise.
24045         * tests/uninorm/test-u16-normcmp.c: Likewise.
24046         * tests/uninorm/test-u16-normcoll.c: Likewise.
24047         * tests/uninorm/test-u32-nfc.c: Likewise.
24048         * tests/uninorm/test-u32-nfd.c: Likewise.
24049         * tests/uninorm/test-u32-nfkc.c: Likewise.
24050         * tests/uninorm/test-u32-nfkd.c: Likewise.
24051         * tests/uninorm/test-u32-normalize-big.c: Likewise.
24052         * tests/uninorm/test-u32-normcmp.c: Likewise.
24053         * tests/uninorm/test-u32-normcoll.c: Likewise.
24054         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
24055         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
24056         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
24057         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
24058         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
24059         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
24060         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
24061         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
24062         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
24063         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
24064         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
24065         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
24066         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
24067         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
24068         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
24069         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
24070         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
24071         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
24072         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
24073         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
24074         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
24075         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
24076         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
24077         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
24078         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
24079         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
24080         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
24081         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
24082         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
24083         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
24084         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
24085         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
24086         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
24087         * tests/uniwidth/test-u8-strwidth.c: Likewise.
24088         * tests/uniwidth/test-u8-width.c: Likewise.
24089         * tests/uniwidth/test-u16-strwidth.c: Likewise.
24090         * tests/uniwidth/test-u16-width.c: Likewise.
24091         * tests/uniwidth/test-u32-strwidth.c: Likewise.
24092         * tests/uniwidth/test-u32-width.c: Likewise.
24093         * tests/uniwidth/test-uc_width.c: Likewise.
24094         * tests/uniwidth/test-uc_width2.c: Likewise.
24095         * modules/acl-tests (Files): Add tests/macros.h.
24096         * modules/areadlink-tests (Files): Likewise.
24097         * modules/areadlink-with-size-tests (Files): Likewise.
24098         * modules/areadlinkat-tests (Files): Likewise.
24099         * modules/areadlinkat-with-size-tests (Files): Likewise.
24100         * modules/argmatch-tests (Files): Likewise.
24101         * modules/argv-iter-tests (Files): Likewise.
24102         * modules/array-list-tests (Files): Likewise.
24103         * modules/array-mergesort-tests (Files): Likewise.
24104         * modules/array-oset-tests (Files): Likewise.
24105         * modules/avltree-list-tests (Files): Likewise.
24106         * modules/avltree-oset-tests (Files): Likewise.
24107         * modules/avltreehash-list-tests (Files): Likewise.
24108         * modules/base64-tests (Files): Likewise.
24109         * modules/binary-io-tests (Files): Likewise.
24110         * modules/bitrotate-tests (Files): Likewise.
24111         * modules/btowc-tests (Files): Likewise.
24112         * modules/byteswap-tests (Files): Likewise.
24113         * modules/c-ctype-tests (Files): Likewise.
24114         * modules/c-stack-tests (Files): Likewise.
24115         * modules/c-strcase-tests (Files): Likewise.
24116         * modules/c-strcasestr-tests (Files): Likewise.
24117         * modules/c-strstr-tests (Files): Likewise.
24118         * modules/canonicalize-lgpl-tests (Files): Likewise.
24119         * modules/canonicalize-tests (Files): Likewise.
24120         * modules/carray-list-tests (Files): Likewise.
24121         * modules/ceilf-tests (Files): Likewise.
24122         * modules/ceill-tests (Files): Likewise.
24123         * modules/chown-tests (Files): Likewise.
24124         * modules/cloexec-tests (Files): Likewise.
24125         * modules/copy-file-tests (Files): Likewise.
24126         * modules/count-one-bits-tests (Files): Likewise.
24127         * modules/dprintf-posix-tests (Files): Likewise.
24128         * modules/dup2-tests (Files): Likewise.
24129         * modules/dup3-tests (Files): Likewise.
24130         * modules/duplocale-tests (Files): Likewise.
24131         * modules/fbufmode-tests (Files): Likewise.
24132         * modules/fchdir-tests (Files): Likewise.
24133         * modules/fcntl-safer-tests (Files): Likewise.
24134         * modules/fcntl-tests (Files): Likewise.
24135         * modules/fdopendir-tests (Files): Likewise.
24136         * modules/fdutimensat-tests (Files): Likewise.
24137         * modules/fflush-tests (Files): Likewise.
24138         * modules/filevercmp-tests (Files): Likewise.
24139         * modules/flock-tests (Files): Likewise.
24140         * modules/floorf-tests (Files): Likewise.
24141         * modules/floorl-tests (Files): Likewise.
24142         * modules/fnmatch-tests (Files): Likewise.
24143         * modules/fopen-safer-tests (Files): Likewise.
24144         * modules/fopen-tests (Files): Likewise.
24145         * modules/fpending-tests (Files): Likewise.
24146         * modules/fprintf-posix-tests (Files): Likewise.
24147         * modules/fpurge-tests (Files): Likewise.
24148         * modules/freadable-tests (Files): Likewise.
24149         * modules/freadahead-tests (Files): Likewise.
24150         * modules/freading-tests (Files): Likewise.
24151         * modules/freadptr-tests (Files): Likewise.
24152         * modules/freadseek-tests (Files): Likewise.
24153         * modules/freopen-tests (Files): Likewise.
24154         * modules/frexp-nolibm-tests (Files): Likewise.
24155         * modules/frexp-tests (Files): Likewise.
24156         * modules/frexpl-nolibm-tests (Files): Likewise.
24157         * modules/frexpl-tests (Files): Likewise.
24158         * modules/fseek-tests (Files): Likewise.
24159         * modules/fseeko-tests (Files): Likewise.
24160         * modules/fstrcmp-tests (Files): Likewise.
24161         * modules/fsync-tests (Files): Likewise.
24162         * modules/ftell-tests (Files): Likewise.
24163         * modules/ftello-tests (Files): Likewise.
24164         * modules/func-tests (Files): Likewise.
24165         * modules/futimens-tests (Files): Likewise.
24166         * modules/fwritable-tests (Files): Likewise.
24167         * modules/fwriting-tests (Files): Likewise.
24168         * modules/getcwd-tests (Files): Likewise.
24169         * modules/getdate-tests (Files): Likewise.
24170         * modules/getdelim-tests (Files): Likewise.
24171         * modules/getdtablesize-tests (Files): Likewise.
24172         * modules/getgroups-tests (Files): Likewise.
24173         * modules/getline-tests (Files): Likewise.
24174         * modules/getndelim2-tests (Files): Likewise.
24175         * modules/glob-tests (Files): Likewise.
24176         * modules/hash-tests (Files): Likewise.
24177         * modules/i-ring-tests (Files): Likewise.
24178         * modules/iconv-tests (Files): Likewise.
24179         * modules/iconv_open-utf-tests (Files): Likewise.
24180         * modules/idpriv-drop-tests (Files): Likewise.
24181         * modules/idpriv-droptemp-tests (Files): Likewise.
24182         * modules/inet_ntop-tests (Files): Likewise.
24183         * modules/inet_pton-tests (Files): Likewise.
24184         * modules/isblank-tests (Files): Likewise.
24185         * modules/isfinite-tests (Files): Likewise.
24186         * modules/isinf-tests (Files): Likewise.
24187         * modules/isnan-tests (Files): Likewise.
24188         * modules/isnand-nolibm-tests (Files): Likewise.
24189         * modules/isnand-tests (Files): Likewise.
24190         * modules/isnanf-nolibm-tests (Files): Likewise.
24191         * modules/isnanf-tests (Files): Likewise.
24192         * modules/isnanl-nolibm-tests (Files): Likewise.
24193         * modules/isnanl-tests (Files): Likewise.
24194         * modules/lchown-tests (Files): Likewise.
24195         * modules/ldexpl-tests (Files): Likewise.
24196         * modules/link-tests (Files): Likewise.
24197         * modules/linkat-tests (Files): Likewise.
24198         * modules/linked-list-tests (Files): Likewise.
24199         * modules/linkedhash-list-tests (Files): Likewise.
24200         * modules/localename-tests (Files): Likewise.
24201         * modules/lseek-tests (Files): Likewise.
24202         * modules/lstat-tests (Files): Likewise.
24203         * modules/mbmemcasecmp-tests (Files): Likewise.
24204         * modules/mbmemcasecoll-tests (Files): Likewise.
24205         * modules/mbrtowc-tests (Files): Likewise.
24206         * modules/mbscasecmp-tests (Files): Likewise.
24207         * modules/mbscasestr-tests (Files): Likewise.
24208         * modules/mbschr-tests (Files): Likewise.
24209         * modules/mbscspn-tests (Files): Likewise.
24210         * modules/mbsinit-tests (Files): Likewise.
24211         * modules/mbsncasecmp-tests (Files): Likewise.
24212         * modules/mbsnrtowcs-tests (Files): Likewise.
24213         * modules/mbspbrk-tests (Files): Likewise.
24214         * modules/mbspcasecmp-tests (Files): Likewise.
24215         * modules/mbsrchr-tests (Files): Likewise.
24216         * modules/mbsrtowcs-tests (Files): Likewise.
24217         * modules/mbsspn-tests (Files): Likewise.
24218         * modules/mbsstr-tests (Files): Likewise.
24219         * modules/memchr-tests (Files): Likewise.
24220         * modules/memchr2-tests (Files): Likewise.
24221         * modules/memcmp-tests (Files): Likewise.
24222         * modules/memmem-tests (Files): Likewise.
24223         * modules/memrchr-tests (Files): Likewise.
24224         * modules/mkdir-tests (Files): Likewise.
24225         * modules/mkfifo-tests (Files): Likewise.
24226         * modules/mkfifoat-tests (Files): Likewise.
24227         * modules/mknod-tests (Files): Likewise.
24228         * modules/nanosleep-tests (Files): Likewise.
24229         * modules/nl_langinfo-tests (Files): Likewise.
24230         * modules/obstack-printf-tests (Files): Likewise.
24231         * modules/open-tests (Files): Likewise.
24232         * modules/openat-tests (Files): Likewise.
24233         * modules/pipe-filter-gi-tests (Files): Likewise.
24234         * modules/pipe-filter-ii-tests (Files): Likewise.
24235         * modules/pipe2-tests (Files): Likewise.
24236         * modules/popen-safer-tests (Files): Likewise.
24237         * modules/popen-tests (Files): Likewise.
24238         * modules/posixtm-tests (Files): Likewise.
24239         * modules/pread-tests (Files): Likewise.
24240         * modules/printf-frexp-tests (Files): Likewise.
24241         * modules/printf-frexpl-tests (Files): Likewise.
24242         * modules/printf-posix-tests (Files): Likewise.
24243         * modules/priv-set-tests (Files): Likewise.
24244         * modules/quotearg-tests (Files): Likewise.
24245         * modules/random_r-tests (Files): Likewise.
24246         * modules/rawmemchr-tests (Files): Likewise.
24247         * modules/rbtree-list-tests (Files): Likewise.
24248         * modules/rbtree-oset-tests (Files): Likewise.
24249         * modules/rbtreehash-list-tests (Files): Likewise.
24250         * modules/readlink-tests (Files): Likewise.
24251         * modules/remove-tests (Files): Likewise.
24252         * modules/rename-tests (Files): Likewise.
24253         * modules/renameat-tests (Files): Likewise.
24254         * modules/rmdir-tests (Files): Likewise.
24255         * modules/round-tests (Files): Likewise.
24256         * modules/roundf-tests (Files): Likewise.
24257         * modules/roundl-tests (Files): Likewise.
24258         * modules/safe-alloc-tests (Files): Likewise.
24259         * modules/setenv-tests (Files): Likewise.
24260         * modules/sigaction-tests (Files): Likewise.
24261         * modules/signbit-tests (Files): Likewise.
24262         * modules/sleep-tests (Files): Likewise.
24263         * modules/snprintf-posix-tests (Files): Likewise.
24264         * modules/snprintf-tests (Files): Likewise.
24265         * modules/sprintf-posix-tests (Files): Likewise.
24266         * modules/stat-tests (Files): Likewise.
24267         * modules/stat-time-tests (Files): Likewise.
24268         * modules/strcasestr-tests (Files): Likewise.
24269         * modules/strchrnul-tests (Files): Likewise.
24270         * modules/strerror-tests (Files): Likewise.
24271         * modules/striconv-tests (Files): Likewise.
24272         * modules/striconveh-tests (Files): Likewise.
24273         * modules/striconveha-tests (Files): Likewise.
24274         * modules/strsignal-tests (Files): Likewise.
24275         * modules/strstr-tests (Files): Likewise.
24276         * modules/strtod-tests (Files): Likewise.
24277         * modules/strverscmp-tests (Files): Likewise.
24278         * modules/symlink-tests (Files): Likewise.
24279         * modules/symlinkat-tests (Files): Likewise.
24280         * modules/trunc-tests (Files): Likewise.
24281         * modules/truncf-tests (Files): Likewise.
24282         * modules/truncl-tests (Files): Likewise.
24283         * modules/uname-tests (Files): Likewise.
24284         * modules/unicase/cased-tests (Files): Likewise.
24285         * modules/unicase/ignorable-tests (Files): Likewise.
24286         * modules/unicase/locale-language-tests (Files): Likewise.
24287         * modules/unicase/tolower-tests (Files): Likewise.
24288         * modules/unicase/totitle-tests (Files): Likewise.
24289         * modules/unicase/toupper-tests (Files): Likewise.
24290         * modules/unicase/u8-casecmp-tests (Files): Likewise.
24291         * modules/unicase/u8-casecoll-tests (Files): Likewise.
24292         * modules/unicase/u8-casefold-tests (Files): Likewise.
24293         * modules/unicase/u8-is-cased-tests (Files): Likewise.
24294         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
24295         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
24296         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
24297         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
24298         * modules/unicase/u8-tolower-tests (Files): Likewise.
24299         * modules/unicase/u8-totitle-tests (Files): Likewise.
24300         * modules/unicase/u8-toupper-tests (Files): Likewise.
24301         * modules/unicase/u16-casecmp-tests (Files): Likewise.
24302         * modules/unicase/u16-casecoll-tests (Files): Likewise.
24303         * modules/unicase/u16-casefold-tests (Files): Likewise.
24304         * modules/unicase/u16-is-cased-tests (Files): Likewise.
24305         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
24306         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
24307         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
24308         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
24309         * modules/unicase/u16-tolower-tests (Files): Likewise.
24310         * modules/unicase/u16-totitle-tests (Files): Likewise.
24311         * modules/unicase/u16-toupper-tests (Files): Likewise.
24312         * modules/unicase/u32-casecmp-tests (Files): Likewise.
24313         * modules/unicase/u32-casecoll-tests (Files): Likewise.
24314         * modules/unicase/u32-casefold-tests (Files): Likewise.
24315         * modules/unicase/u32-is-cased-tests (Files): Likewise.
24316         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
24317         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
24318         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
24319         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
24320         * modules/unicase/u32-tolower-tests (Files): Likewise.
24321         * modules/unicase/u32-totitle-tests (Files): Likewise.
24322         * modules/unicase/u32-toupper-tests (Files): Likewise.
24323         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
24324         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
24325         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
24326         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
24327         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
24328         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
24329         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
24330         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
24331         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
24332         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
24333         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
24334         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
24335         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
24336         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
24337         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
24338         * modules/unictype/bidicategory-name-tests (Files): Likewise.
24339         * modules/unictype/bidicategory-of-tests (Files): Likewise.
24340         * modules/unictype/bidicategory-test-tests (Files): Likewise.
24341         * modules/unictype/block-list-tests (Files): Likewise.
24342         * modules/unictype/block-of-tests (Files): Likewise.
24343         * modules/unictype/block-test-tests (Files): Likewise.
24344         * modules/unictype/category-C-tests (Files): Likewise.
24345         * modules/unictype/category-Cc-tests (Files): Likewise.
24346         * modules/unictype/category-Cf-tests (Files): Likewise.
24347         * modules/unictype/category-Cn-tests (Files): Likewise.
24348         * modules/unictype/category-Co-tests (Files): Likewise.
24349         * modules/unictype/category-Cs-tests (Files): Likewise.
24350         * modules/unictype/category-L-tests (Files): Likewise.
24351         * modules/unictype/category-Ll-tests (Files): Likewise.
24352         * modules/unictype/category-Lm-tests (Files): Likewise.
24353         * modules/unictype/category-Lo-tests (Files): Likewise.
24354         * modules/unictype/category-Lt-tests (Files): Likewise.
24355         * modules/unictype/category-Lu-tests (Files): Likewise.
24356         * modules/unictype/category-M-tests (Files): Likewise.
24357         * modules/unictype/category-Mc-tests (Files): Likewise.
24358         * modules/unictype/category-Me-tests (Files): Likewise.
24359         * modules/unictype/category-Mn-tests (Files): Likewise.
24360         * modules/unictype/category-N-tests (Files): Likewise.
24361         * modules/unictype/category-Nd-tests (Files): Likewise.
24362         * modules/unictype/category-Nl-tests (Files): Likewise.
24363         * modules/unictype/category-No-tests (Files): Likewise.
24364         * modules/unictype/category-P-tests (Files): Likewise.
24365         * modules/unictype/category-Pc-tests (Files): Likewise.
24366         * modules/unictype/category-Pd-tests (Files): Likewise.
24367         * modules/unictype/category-Pe-tests (Files): Likewise.
24368         * modules/unictype/category-Pf-tests (Files): Likewise.
24369         * modules/unictype/category-Pi-tests (Files): Likewise.
24370         * modules/unictype/category-Po-tests (Files): Likewise.
24371         * modules/unictype/category-Ps-tests (Files): Likewise.
24372         * modules/unictype/category-S-tests (Files): Likewise.
24373         * modules/unictype/category-Sc-tests (Files): Likewise.
24374         * modules/unictype/category-Sk-tests (Files): Likewise.
24375         * modules/unictype/category-Sm-tests (Files): Likewise.
24376         * modules/unictype/category-So-tests (Files): Likewise.
24377         * modules/unictype/category-Z-tests (Files): Likewise.
24378         * modules/unictype/category-Zl-tests (Files): Likewise.
24379         * modules/unictype/category-Zp-tests (Files): Likewise.
24380         * modules/unictype/category-Zs-tests (Files): Likewise.
24381         * modules/unictype/category-and-not-tests (Files): Likewise.
24382         * modules/unictype/category-and-tests (Files): Likewise.
24383         * modules/unictype/category-byname-tests (Files): Likewise.
24384         * modules/unictype/category-name-tests (Files): Likewise.
24385         * modules/unictype/category-none-tests (Files): Likewise.
24386         * modules/unictype/category-of-tests (Files): Likewise.
24387         * modules/unictype/category-or-tests (Files): Likewise.
24388         * modules/unictype/category-test-withtable-tests (Files): Likewise.
24389         * modules/unictype/combining-class-tests (Files): Likewise.
24390         * modules/unictype/ctype-alnum-tests (Files): Likewise.
24391         * modules/unictype/ctype-alpha-tests (Files): Likewise.
24392         * modules/unictype/ctype-blank-tests (Files): Likewise.
24393         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
24394         * modules/unictype/ctype-digit-tests (Files): Likewise.
24395         * modules/unictype/ctype-graph-tests (Files): Likewise.
24396         * modules/unictype/ctype-lower-tests (Files): Likewise.
24397         * modules/unictype/ctype-print-tests (Files): Likewise.
24398         * modules/unictype/ctype-punct-tests (Files): Likewise.
24399         * modules/unictype/ctype-space-tests (Files): Likewise.
24400         * modules/unictype/ctype-upper-tests (Files): Likewise.
24401         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
24402         * modules/unictype/decimal-digit-tests (Files): Likewise.
24403         * modules/unictype/digit-tests (Files): Likewise.
24404         * modules/unictype/mirror-tests (Files): Likewise.
24405         * modules/unictype/numeric-tests (Files): Likewise.
24406         * modules/unictype/property-alphabetic-tests (Files): Likewise.
24407         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
24408         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
24409         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
24410         Likewise.
24411         * modules/unictype/property-bidi-block-separator-tests (Files):
24412         Likewise.
24413         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
24414         Likewise.
24415         * modules/unictype/property-bidi-common-separator-tests (Files):
24416         Likewise.
24417         * modules/unictype/property-bidi-control-tests (Files): Likewise.
24418         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
24419         Likewise.
24420         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
24421         Likewise.
24422         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
24423         Likewise.
24424         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
24425         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
24426         Likewise.
24427         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
24428         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
24429         Likewise.
24430         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
24431         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
24432         * modules/unictype/property-bidi-segment-separator-tests (Files):
24433         Likewise.
24434         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
24435         * modules/unictype/property-byname-tests (Files): Likewise.
24436         * modules/unictype/property-combining-tests (Files): Likewise.
24437         * modules/unictype/property-composite-tests (Files): Likewise.
24438         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
24439         * modules/unictype/property-dash-tests (Files): Likewise.
24440         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
24441         * modules/unictype/property-default-ignorable-code-point-tests (Files):
24442         Likewise.
24443         * modules/unictype/property-deprecated-tests (Files): Likewise.
24444         * modules/unictype/property-diacritic-tests (Files): Likewise.
24445         * modules/unictype/property-extender-tests (Files): Likewise.
24446         * modules/unictype/property-format-control-tests (Files): Likewise.
24447         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
24448         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
24449         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
24450         * modules/unictype/property-hex-digit-tests (Files): Likewise.
24451         * modules/unictype/property-hyphen-tests (Files): Likewise.
24452         * modules/unictype/property-id-continue-tests (Files): Likewise.
24453         * modules/unictype/property-id-start-tests (Files): Likewise.
24454         * modules/unictype/property-ideographic-tests (Files): Likewise.
24455         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
24456         * modules/unictype/property-ids-trinary-operator-tests (Files):
24457         Likewise.
24458         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
24459         * modules/unictype/property-iso-control-tests (Files): Likewise.
24460         * modules/unictype/property-join-control-tests (Files): Likewise.
24461         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
24462         * modules/unictype/property-line-separator-tests (Files): Likewise.
24463         * modules/unictype/property-logical-order-exception-tests (Files):
24464         Likewise.
24465         * modules/unictype/property-lowercase-tests (Files): Likewise.
24466         * modules/unictype/property-math-tests (Files): Likewise.
24467         * modules/unictype/property-non-break-tests (Files): Likewise.
24468         * modules/unictype/property-not-a-character-tests (Files): Likewise.
24469         * modules/unictype/property-numeric-tests (Files): Likewise.
24470         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
24471         * modules/unictype/property-other-default-ignorable-code-point-tests
24472         (Files): Likewise.
24473         * modules/unictype/property-other-grapheme-extend-tests (Files):
24474         Likewise.
24475         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
24476         * modules/unictype/property-other-id-start-tests (Files): Likewise.
24477         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
24478         * modules/unictype/property-other-math-tests (Files): Likewise.
24479         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
24480         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
24481         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
24482         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
24483         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
24484         * modules/unictype/property-private-use-tests (Files): Likewise.
24485         * modules/unictype/property-punctuation-tests (Files): Likewise.
24486         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
24487         * modules/unictype/property-radical-tests (Files): Likewise.
24488         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
24489         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
24490         * modules/unictype/property-space-tests (Files): Likewise.
24491         * modules/unictype/property-terminal-punctuation-tests (Files):
24492         Likewise.
24493         * modules/unictype/property-test-tests (Files): Likewise.
24494         * modules/unictype/property-titlecase-tests (Files): Likewise.
24495         * modules/unictype/property-unassigned-code-value-tests (Files):
24496         Likewise.
24497         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
24498         * modules/unictype/property-uppercase-tests (Files): Likewise.
24499         * modules/unictype/property-variation-selector-tests (Files): Likewise.
24500         * modules/unictype/property-white-space-tests (Files): Likewise.
24501         * modules/unictype/property-xid-continue-tests (Files): Likewise.
24502         * modules/unictype/property-xid-start-tests (Files): Likewise.
24503         * modules/unictype/property-zero-width-tests (Files): Likewise.
24504         * modules/unictype/scripts-tests (Files): Likewise.
24505         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
24506         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
24507         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
24508         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
24509         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
24510         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
24511         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
24512         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
24513         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
24514         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
24515         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
24516         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
24517         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
24518         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
24519         * modules/uninorm/composition-tests (Files): Likewise.
24520         * modules/uninorm/decomposing-form-tests (Files): Likewise.
24521         * modules/uninorm/decomposition-tests (Files): Likewise.
24522         * modules/uninorm/filter-tests (Files): Likewise.
24523         * modules/uninorm/nfc-tests (Files): Likewise.
24524         * modules/uninorm/nfd-tests (Files): Likewise.
24525         * modules/uninorm/nfkc-tests (Files): Likewise.
24526         * modules/uninorm/nfkd-tests (Files): Likewise.
24527         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
24528         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
24529         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
24530         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
24531         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
24532         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
24533         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
24534         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
24535         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
24536         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
24537         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
24538         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
24539         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
24540         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
24541         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
24542         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
24543         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
24544         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
24545         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
24546         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
24547         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
24548         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
24549         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
24550         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
24551         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
24552         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
24553         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
24554         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
24555         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
24556         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
24557         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
24558         * modules/uniwidth/u8-width-tests (Files): Likewise.
24559         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
24560         * modules/uniwidth/u16-width-tests (Files): Likewise.
24561         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
24562         * modules/uniwidth/u32-width-tests (Files): Likewise.
24563         * modules/uniwidth/width-tests (Files): Likewise.
24564         * modules/unlink-tests (Files): Likewise.
24565         * modules/unsetenv-tests (Files): Likewise.
24566         * modules/usleep-tests (Files): Likewise.
24567         * modules/utimens-tests (Files): Likewise.
24568         * modules/utimensat-tests (Files): Likewise.
24569         * modules/vasnprintf-posix-tests (Files): Likewise.
24570         * modules/vasnprintf-tests (Files): Likewise.
24571         * modules/vasprintf-posix-tests (Files): Likewise.
24572         * modules/vasprintf-tests (Files): Likewise.
24573         * modules/vdprintf-posix-tests (Files): Likewise.
24574         * modules/vfprintf-posix-tests (Files): Likewise.
24575         * modules/vprintf-posix-tests (Files): Likewise.
24576         * modules/vsnprintf-posix-tests (Files): Likewise.
24577         * modules/vsnprintf-tests (Files): Likewise.
24578         * modules/vsprintf-posix-tests (Files): Likewise.
24579         * modules/wcrtomb-tests (Files): Likewise.
24580         * modules/wcsnrtombs-tests (Files): Likewise.
24581         * modules/wcsrtombs-tests (Files): Likewise.
24582         * modules/wctype-tests (Files): Likewise.
24583         * modules/wcwidth-tests (Files): Likewise.
24584         * modules/xmemdup0-tests (Files): Likewise.
24585         * modules/xprintf-posix-tests (Files): Likewise.
24586         * modules/xvasprintf-tests (Files): Likewise.
24587
24588 2009-12-24  Eric Blake  <ebb9@byu.net>
24589
24590         test-nanosleep: fix typo
24591         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
24592         patch.
24593         Reported by Bruno Haible.
24594
24595 2009-12-24  Bruno Haible  <bruno@clisp.org>
24596
24597         Reduce namespace pollution on glibc systems.
24598         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
24599         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
24600         systems.
24601         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
24602         <getopt.h> on glibc systems.
24603         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
24604         systems.
24605         * lib/fcntl.c: Include <unistd.h> here instead.
24606
24607 2009-12-24  Bruno Haible  <bruno@clisp.org>
24608
24609         * lib/stdlib.in.h (includes): Fix typo in today's commit.
24610
24611 2009-12-24  Eric Blake  <ebb9@byu.net>
24612
24613         tests: add signature checks
24614         * tests/signature.h (SIGNATURE_CHECK): New file.
24615         * modules/atexit-tests (Files): Use it.
24616         * modules/btowc-tests (Files): Likewise.
24617         * modules/canonicalize-lgpl-tests (Files): Likewise.
24618         * modules/ceilf-tests (Files): Likewise.
24619         * modules/ceill-tests (Files): Likewise.
24620         * modules/chown-tests (Files): Likewise.
24621         * modules/dprintf-posix-tests (Files): Likewise.
24622         * modules/dup2-tests (Files): Likewise.
24623         * modules/dup3-tests (Files): Likewise.
24624         * modules/duplocale-tests (Files): Likewise.
24625         * modules/fchdir-tests (Files): Likewise.
24626         * modules/fcntl-tests (Files): Likewise.
24627         * modules/fdopendir-tests (Files): Likewise.
24628         * modules/fflush-tests (Files): Likewise.
24629         * modules/flock-tests (Files): Likewise.
24630         * modules/floorf-tests (Files): Likewise.
24631         * modules/floorl-tests (Files): Likewise.
24632         * modules/fnmatch-tests (Files): Likewise.
24633         * modules/fopen-tests (Files): Likewise.
24634         * modules/fprintf-posix-tests (Files): Likewise.
24635         * modules/freopen-tests (Files): Likewise.
24636         * modules/frexp-nolibm-tests (Files): Likewise.
24637         * modules/frexp-tests (Files): Likewise.
24638         * modules/frexpl-nolibm-tests (Files): Likewise.
24639         * modules/frexpl-tests (Files): Likewise.
24640         * modules/fseek-tests (Files): Likewise.
24641         * modules/fseeko-tests (Files): Likewise.
24642         * modules/fsync-tests (Files): Likewise.
24643         * modules/ftell-tests (Files): Likewise.
24644         * modules/ftello-tests (Files): Likewise.
24645         * modules/futimens-tests (Files): Likewise.
24646         * modules/getaddrinfo-tests (Files): Likewise.
24647         * modules/getcwd-tests (Files): Likewise.
24648         * modules/getdelim-tests (Files): Likewise.
24649         * modules/getdtablesize-tests (Files): Likewise.
24650         * modules/getgroups-tests (Files): Likewise.
24651         * modules/gethostname-tests (Files): Likewise.
24652         * modules/getline-tests (Files): Likewise.
24653         * modules/getopt-posix-tests (Files): Likewise.
24654         * modules/gettimeofday-tests (Files): Likewise.
24655         * modules/glob-tests (Files): Likewise.
24656         * modules/iconv-tests (Files): Likewise.
24657         * modules/inet_ntop-tests (Files): Likewise.
24658         * modules/inet_pton-tests (Files): Likewise.
24659         * modules/isblank-tests (Files): Likewise.
24660         * modules/lchown-tests (Files): Likewise.
24661         * modules/ldexpl-tests (Files): Likewise.
24662         * modules/link-tests (Files): Likewise.
24663         * modules/linkat-tests (Files): Likewise.
24664         * modules/lseek-tests (Files): Likewise.
24665         * modules/lstat-tests (Files): Likewise.
24666         * modules/mbrtowc-tests (Files): Likewise.
24667         * modules/mbsinit-tests (Files): Likewise.
24668         * modules/mbsnrtowcs-tests (Files): Likewise.
24669         * modules/mbsrtowcs-tests (Files): Likewise.
24670         * modules/memchr-tests (Files): Likewise.
24671         * modules/memcmp-tests (Files): Likewise.
24672         * modules/memmem-tests (Files): Likewise.
24673         * modules/memrchr-tests (Files): Likewise.
24674         * modules/mkdir-tests (Files): Likewise.
24675         * modules/mkfifo-tests (Files): Likewise.
24676         * modules/mkfifoat-tests (Files): Likewise.
24677         * modules/mknod-tests (Files): Likewise.
24678         * modules/nanosleep-tests (Files): Likewise.
24679         * modules/nl_langinfo-tests (Files): Likewise.
24680         * modules/obstack-printf-tests (Files): Likewise.
24681         * modules/open-tests (Files): Likewise.
24682         * modules/openat-tests (Files): Likewise.
24683         * modules/perror-tests (Files): Likewise.
24684         * modules/pipe2-tests (Files): Likewise.
24685         * modules/poll-tests (Files): Likewise.
24686         * modules/popen-tests (Files): Likewise.
24687         * modules/posix_spawn-tests (Files): Likewise.
24688         * modules/posix_spawnp-tests (Files): Likewise.
24689         * modules/pread-tests (Files): Likewise.
24690         * modules/printf-posix-tests (Files): Likewise.
24691         * modules/pty-tests (Files): Likewise.
24692         * modules/random_r-tests (Files): Likewise.
24693         * modules/rawmemchr-tests (Files): Likewise.
24694         * modules/readlink-tests (Files): Likewise.
24695         * modules/remove-tests (Files): Likewise.
24696         * modules/rename-tests (Files): Likewise.
24697         * modules/renameat-tests (Files): Likewise.
24698         * modules/rmdir-tests (Files): Likewise.
24699         * modules/round-tests (Files): Likewise.
24700         * modules/roundf-tests (Files): Likewise.
24701         * modules/roundl-tests (Files): Likewise.
24702         * modules/select-tests (Files): Likewise.
24703         * modules/setenv-tests (Files): Likewise.
24704         * modules/sigaction-tests (Files): Likewise.
24705         * modules/sleep-tests (Files): Likewise.
24706         * modules/snprintf-posix-tests (Files): Likewise.
24707         * modules/snprintf-tests (Files): Likewise.
24708         * modules/sprintf-posix-tests (Files): Likewise.
24709         * modules/stat-tests (Files): Likewise.
24710         * modules/strcasestr-tests (Files): Likewise.
24711         * modules/strchrnul-tests (Files): Likewise.
24712         * modules/strerror-tests (Files): Likewise.
24713         * modules/strsignal-tests (Files): Likewise.
24714         * modules/strstr-tests (Files): Likewise.
24715         * modules/strtod-tests (Files): Likewise.
24716         * modules/strverscmp-tests (Files): Likewise.
24717         * modules/symlink-tests (Files): Likewise.
24718         * modules/symlinkat-tests (Files): Likewise.
24719         * modules/times-tests (Files): Likewise.
24720         * modules/trunc-tests (Files): Likewise.
24721         * modules/truncf-tests (Files): Likewise.
24722         * modules/truncl-tests (Files): Likewise.
24723         * modules/tsearch-tests (Files): Likewise.
24724         * modules/uname-tests (Files): Likewise.
24725         * modules/unlink-tests (Files): Likewise.
24726         * modules/unsetenv-tests (Files): Likewise.
24727         * modules/usleep-tests (Files): Likewise.
24728         * modules/utimensat-tests (Files): Likewise.
24729         * modules/vasprintf-tests (Files): Likewise.
24730         * modules/vdprintf-posix-tests (Files): Likewise.
24731         * modules/vfprintf-posix-tests (Files): Likewise.
24732         * modules/vprintf-posix-tests (Files): Likewise.
24733         * modules/vsnprintf-posix-tests (Files): Likewise.
24734         * modules/vsnprintf-tests (Files): Likewise.
24735         * modules/vsprintf-posix-tests (Files): Likewise.
24736         * modules/wcrtomb-tests (Files): Likewise.
24737         * modules/wcsnrtombs-tests (Files): Likewise.
24738         * modules/wcsrtombs-tests (Files): Likewise.
24739         * modules/wcwidth-tests (Files): Likewise.
24740         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
24741         * tests/test-isinf.c (isinf): Likewise.
24742         * tests/test-isnan.c (isnan): Likewise.
24743         * tests/test-signbit.c (signbit): Likewise.
24744         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
24745         declaration, either as macro or with correct signature.
24746         (select): Ensure function under test is declared with correct
24747         signature in correct header.
24748         * tests/test-atexit.c (atexit): Likewise.
24749         * tests/test-btowc.c (btowc): Likewise.
24750         * tests/test-canonicalize-lgpl.c (realpath)
24751         (canonicalize_file_name): Likewise.
24752         * tests/test-ceilf1.c (ceilf): Likewise.
24753         * tests/test-ceill.c (ceill): Likewise.
24754         * tests/test-chown.c (chown): Likewise.
24755         * tests/test-dprintf-posix.c (dprintf): Likewise.
24756         * tests/test-dup2.c (dup2): Likewise.
24757         * tests/test-dup3.c (dup3): Likewise.
24758         * tests/test-duplocale.c (duplocale): Likewise.
24759         * tests/test-fchdir.c (fchdir): Likewise.
24760         * tests/test-fchownat.c (fchownat): Likewise.
24761         * tests/test-fcntl.c (fcntl): Likewise.
24762         * tests/test-fdopendir.c (fdopendir): Likewise.
24763         * tests/test-fflush.c (fflush): Likewise.
24764         * tests/test-flock.c (flock): Likewise.
24765         * tests/test-floorf1.c (floorf): Likewise.
24766         * tests/test-floorl.c (floorl): Likewise.
24767         * tests/test-fnmatch.c (fnmatch): Likewise.
24768         * tests/test-fopen.c (fopen): Likewise.
24769         * tests/test-fprintf-posix.c (fprintf): Likewise.
24770         * tests/test-freopen.c (freopen): Likewise.
24771         * tests/test-frexp.c (frexp): Likewise.
24772         * tests/test-frexpl.c (frexpl): Likewise.
24773         * tests/test-fseek.c (fseek): Likewise.
24774         * tests/test-fseeko.c (fseeko): Likewise.
24775         * tests/test-fstatat.c (fstatat): Likewise.
24776         * tests/test-fsync.c (fsync): Likewise.
24777         * tests/test-ftell.c (ftell): Likewise.
24778         * tests/test-ftello.c (ftello): Likewise.
24779         * tests/test-futimens.c (futimens): Likewise.
24780         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
24781         (gai_strerror): Likewise.
24782         * tests/test-getcwd.c (getcwd): Likewise.
24783         * tests/test-getdelim.c (getdelim): Likewise.
24784         * tests/test-getdtablesize.c (getdtablesize): Likewise.
24785         * tests/test-getgroups.c (getgroups): Likewise.
24786         * tests/test-gethostname.c (gethostname): Likewise.
24787         * tests/test-getline.c (getline): Likewise.
24788         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
24789         Likewise.
24790         * tests/test-gettimeofday.c (gettimeofday): Likewise.
24791         * tests/test-glob.c (glob, globfree): Likewise.
24792         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
24793         * tests/test-inet_ntop.c (inet_ntop): Likewise.
24794         * tests/test-inet_pton.c (inet_pton): Likewise.
24795         * tests/test-isblank.c (isblank): Likewise.
24796         * tests/test-lchown.c (lchown): Likewise.
24797         * tests/test-ldexpl.c (ldexpl): Likewise.
24798         * tests/test-link.c (link): Likewise.
24799         * tests/test-linkat.c (linkat): Likewise.
24800         * tests/test-lseek.c (lseek): Likewise.
24801         * tests/test-lstat.c (lstat): Likewise.
24802         * tests/test-mbrtowc.c (mbrtowc): Likewise.
24803         * tests/test-mbsinit.c (mbsinit): Likewise.
24804         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
24805         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
24806         * tests/test-memchr.c (memchr): Likewise.
24807         * tests/test-memcmp.c (memcmp): Likewise.
24808         * tests/test-memmem.c (memmem): Likewise.
24809         * tests/test-memrchr.c (memrchr): Likewise.
24810         * tests/test-mkdir.c (mkdir): Likewise.
24811         * tests/test-mkdirat.c (mkdirat): Likewise.
24812         * tests/test-mkfifo.c (mkfifo): Likewise.
24813         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
24814         * tests/test-mknod.c (mknod): Likewise.
24815         * tests/test-nanosleep.c (nanosleep): Likewise.
24816         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
24817         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
24818         Likewise.
24819         * tests/test-open.c (open): Likewise.
24820         * tests/test-openat.c (openat): Likewise.
24821         * tests/test-perror.c (perror): Likewise.
24822         * tests/test-pipe2.c (pipe2): Likewise.
24823         * tests/test-poll.c (poll): Likewise.
24824         * tests/test-popen.c (popen, pclose): Likewise.
24825         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
24826         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
24827         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
24828         (posix_spawn_file_actions_destroy)
24829         (posix_spawn_file_actions_addclose)
24830         (posix_spawn_file_actions_addopen)
24831         (posix_spawn_file_actions_adddup2): Likewise.
24832         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
24833         * tests/test-pread.c (pread): Likewise.
24834         * tests/test-printf-posix.c (printf): Likewise.
24835         * tests/test-pty.c (openpty, forkpty): Likewise.
24836         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
24837         (random_r): Likewise.
24838         * tests/test-rawmemchr.c (rawmemchr): Likewise.
24839         * tests/test-readlink.c (readlink): Likewise.
24840         * tests/test-remove.c (remove): Likewise.
24841         * tests/test-rename.c (rename): Likewise.
24842         * tests/test-renameat.c (renameat): Likewise.
24843         * tests/test-rmdir.c (rmdir): Likewise.
24844         * tests/test-round1.c (round): Likewise.
24845         * tests/test-roundf1.c (roundf): Likewise.
24846         * tests/test-roundl.c (roundl): Likewise.
24847         * tests/test-setenv.c (setenv): Likewise.
24848         * tests/test-sigaction.c (sigaction): Likewise.
24849         * tests/test-sleep.c (sleep): Likewise.
24850         * tests/test-snprintf.c (snprintf): Likewise.
24851         * tests/test-sprintf-posix.c (sprintf): Likewise.
24852         * tests/test-stat.c (stat): Likewise.
24853         * tests/test-stpncpy.c (stpncpy): Likewise.
24854         * tests/test-strcasestr.c (strcasestr): Likewise.
24855         * tests/test-strchrnul.c (strchrnul): Likewise.
24856         * tests/test-strerror.c (strerror): Likewise.
24857         * tests/test-strsignal.c (strsignal): Likewise.
24858         * tests/test-strstr.c (strstr): Likewise.
24859         * tests/test-strtod.c (strtod): Likewise.
24860         * tests/test-strverscmp.c (strverscmp): Likewise.
24861         * tests/test-symlink.c (symlink): Likewise.
24862         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
24863         * tests/test-times.c (times): Likewise.
24864         * tests/test-trunc1.c (trunc): Likewise.
24865         * tests/test-truncf1.c (truncf): Likewise.
24866         * tests/test-truncl.c (truncl): Likewise.
24867         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
24868         Likewise.
24869         * tests/test-uname.c (uname): Likewise.
24870         * tests/test-unlink.c (unlink): Likewise.
24871         * tests/test-unlinkat.c (unlinkat): Likewise.
24872         * tests/test-unsetenv.c (unsetenv): Likewise.
24873         * tests/test-usleep.c (usleep): Likewise.
24874         * tests/test-utimensat.c (utimensat): Likewise.
24875         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
24876         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
24877         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
24878         * tests/test-vprintf-posix.c (vprintf): Likewise.
24879         * tests/test-vsnprintf.c (vsnprintf): Likewise.
24880         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
24881         * tests/test-wcrtomb.c (wcrtomb): Likewise.
24882         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
24883         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
24884         * tests/test-wcwidth.c (wcwidth): Likewise.
24885
24886         build: pull in conditional headers during GNULIB_POSIXCHECK
24887         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
24888         definitions from any conditionally-included headers.
24889         * lib/stdlib.in.h (includes): Likewise.
24890         * lib/unistd.in.h (includes): Likewise.
24891
24892 2009-12-24  Bruno Haible  <bruno@clisp.org>
24893
24894         * tests/test-argv-iter.c: Include header file being tested immediately
24895         after config.h.
24896         * tests/test-base64.c: Likewise.
24897         * tests/test-flock.c: Likewise.
24898         * tests/test-fsync.c: Likewise.
24899         * tests/test-getdate.c: Likewise.
24900         * tests/test-getndelim2.c: Likewise.
24901         * tests/test-isfinite.c: Likewise.
24902         * tests/test-isinf.c: Likewise.
24903         * tests/test-strerror.c: Likewise.
24904         * tests/test-strsignal.c: Likewise.
24905
24906 2009-12-23  Eric Blake  <ebb9@byu.net>
24907
24908         unistd: work around cygwin bug
24909         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
24910         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
24911         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
24912
24913 2009-12-23  Bruno Haible  <bruno@clisp.org>
24914
24915         localename: More tests.
24916         * tests/test-localename.c (SIZEOF): New macro.
24917         (categories): New variable.
24918         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
24919         test_locale_name_default): Add test w.r.t. thread locale.
24920         (test_locale_name_thread): New function.
24921         (main): Invoke it.
24922
24923         localename: Make aware of thread locale.
24924         * lib/localename.h (gl_locale_name_thread): New declaration.
24925         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
24926         behaviour with respect to thread locale.
24927         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
24928         <langinfo.h>, glthread/lock.h.
24929         (SIZE_BITS): New macro.
24930         (string_hash): New function.
24931         (struct hash_node): New type.
24932         (HASH_TABLE_SIZE): New macro.
24933         (struniq_hash_table, struniq_lock): New variables.
24934         (struniq): New function.
24935         (gl_locale_name_thread): New function.
24936         (gl_locale_name): Invoke it.
24937         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
24938         * modules/localename (Depends-on): Add lock.
24939         Reported by Mike Gran <spk121@yahoo.com>.
24940
24941 2009-12-23  Eric Blake  <ebb9@byu.net>
24942
24943         va-args: new module
24944         * modules/va-args: New file.
24945         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
24946         * MODULES.html.sh (Core language properties): Mention it.
24947
24948         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
24949         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
24950         named alias for __attribute__((__unused__)).
24951         * lib/chown.c: Update client.
24952         * lib/fchmodat.c: Likewise.
24953         * lib/fts.c: Likewise.
24954         * lib/getdate.y: Likewise.
24955         * lib/getgroups.c: Likewise.
24956         * lib/getopt.c: Likewise.
24957         * lib/getugroups.c: Likewise.
24958         * lib/mkdir.c: Likewise.
24959         * lib/mkfifo.c: Likewise.
24960         * lib/mkfifoat.c: Likewise.
24961         * lib/mknod.c: Likewise.
24962         * lib/mknodat.c: Likewise.
24963         * lib/readlink.c: Likewise.
24964         * lib/se-context.in.h: Likewise.
24965         * lib/se-selinux.in.h: Likewise.
24966         * lib/sockets.c: Likewise.
24967         * lib/symlink.c: Likewise.
24968         * lib/symlinkat.c: Likewise.
24969         * lib/unicodeio.c: Likewise.
24970         * lib/unistr.h: Likewise.
24971         * tests/test-areadlink.c: Likewise.
24972         * tests/test-areadlinkat.c: Likewise.
24973         * tests/test-filenamecat.c: Likewise.
24974         * tests/test-fseeko.c: Likewise.
24975         * tests/test-ftello.c: Likewise.
24976         * tests/test-getdate.c: Likewise.
24977         * tests/test-getgroups.c: Likewise.
24978         * tests/test-gethostname.c: Likewise.
24979         * tests/test-quotearg.c: Likewise.
24980         * tests/test-version-etc.c: Likewise.
24981         * tests/test-xalloc-die.c: Likewise.
24982         * tests/test-xfprintf-posix.c: Likewise.
24983         * tests/test-xprintf-posix.c: Likewise.
24984         * tests/test-xvasprintf.c: Likewise.
24985
24986         tests: avoid compiler warnings
24987         * tests/test-fcntl.c (main): Delete unused parameters.
24988         * tests/test-freopen-safer.c (main): Likewise.
24989         * tests/test-xalloc-die.c (main): Mark unused parameters.
24990         * tests/test-fseeko.c (main): Likewise.
24991         * tests/test-ftello.c (main): Likewise.
24992         * tests/test-nanosleep.c (main): Avoid declaration warning.
24993         * tests/test-sleep.c (main): Likewise.
24994         * tests/test-unsetenv.c (main): Silence warning about string
24995         literal.
24996         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
24997
24998 2009-12-23  Bruno Haible  <bruno@clisp.org>
24999
25000         * tests/test-localename.c (test_locale_name): New function, extracted
25001         from main. Also test mixed situations.
25002         (test_locale_name_posix, test_locale_name_environ,
25003         test_locale_name_default): New functions.
25004         (main): Invoke them all.
25005         * modules/localename-tests (configure.ac): Test for newlocale.
25006
25007 2009-12-23  Bruno Haible  <bruno@clisp.org>
25008
25009         unistd: Ensure getcwd gets declared before being overridden.
25010         * lib/unistd.in.h: Conditionally include <io.h>.
25011
25012 2009-12-22  Bruno Haible  <bruno@clisp.org>
25013
25014         wchar: Diagnose broken combination of glibc and gcc versions and flags.
25015         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
25016         (gl_WCHAR_H): Invoke it.
25017         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
25018         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
25019         Reported by Karl Berry <karl@freefriends.org>.
25020
25021 2009-12-22  Eric Blake  <ebb9@byu.net>
25022
25023         math, unistd: avoid redundant includes
25024         * lib/math.in.h (isnan): No need to re-include <math.h>.
25025         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
25026
25027         getsubopt: work around cygwin bug
25028         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
25029         avoid conflicting with system getsubopt.
25030         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
25031         bug.
25032
25033         getopt: synchronize from glibc
25034         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
25035         parameter order.  Adjust all callers.
25036         (_getopt_internal_r, main): Adjust quoting in error messages.
25037         Drop considerations for outdated POSIX 1003.2 error message.
25038         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
25039         callers.
25040         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
25041
25042         test-getopt: test stderr behavior
25043         * modules/getopt-posix-tests (Depends-on): Add dup2.
25044         * tests/test-getopt.c (ASSERT): Avoid stderr.
25045         (main): Move stderr to a temporary file.
25046         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
25047         Instead, add parameter to inform caller if output occurred.
25048         (test_getopt): Adjust all existing tests to expect silence, and
25049         add new tests of leading ":".
25050         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
25051         glibc shortcomings with leading "-:" or "+:" in optstring.
25052         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
25053         Likewise.
25054         * doc/posix-functions/getopt.texi (getopt): Likewise.
25055
25056         test-getopt: enhance test
25057         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
25058         supports optind=0.
25059         * tests/test-getopt.c (OPTIND_MIN): Move...
25060         * tests/test-getopt.h (OPTIND_MIN): ...here.
25061         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
25062         Require that optind=0 works, since modern BSD supports it in
25063         addition to optreset, and since coreutils expects it.
25064         (test_getopt_long_only): New test.
25065         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
25066         glibc shortcomings with 'W;', and enforcement of optind=0.
25067         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
25068         Likewise.
25069
25070 2009-12-21  Bruno Haible  <bruno@clisp.org>
25071
25072         localename: Improvements for MacOS X and Cygwin.
25073         * lib/localename.h (gl_locale_name_environ): New declaration.
25074         * lib/localename.c (gl_locale_name_environ): New function, extracted from
25075         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
25076         (gl_locale_name_posix): Invoke it.
25077         (gl_locale_name_default): Add comments. Use Windows native API also on
25078         Cygwin.
25079
25080 2009-12-21  Bruno Haible  <bruno@clisp.org>
25081
25082         Update list of Win32 locale ids.
25083         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
25084         (LANG_SAMI): Renamed from LANG_SAAMI.
25085         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
25086         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
25087         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
25088         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
25089         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
25090         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
25091         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
25092         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
25093         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
25094         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
25095         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
25096         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
25097         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
25098         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
25099         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
25100         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
25101         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
25102         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
25103         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
25104         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
25105         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
25106         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
25107         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
25108         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
25109         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
25110         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
25111         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
25112         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
25113         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
25114         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
25115         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
25116         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
25117         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
25118         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
25119         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
25120         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
25121         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
25122         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
25123         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
25124         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
25125         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
25126         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
25127         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
25128         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
25129         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
25130         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
25131         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
25132         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
25133         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
25134         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
25135         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
25136         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
25137         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
25138         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
25139         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
25140         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
25141         Add more languages and countries for Sami, Sorbian. Add more countries
25142         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
25143         for Pashto. Change country for Syriac, Tswana.
25144
25145 2009-12-21  Eric Blake  <ebb9@byu.net>
25146
25147         test-utimens: avoid spurious failure
25148         * tests/test-chown.h (nap): Factor...
25149         * tests/nap.h: ...into new file.
25150         * tests/test-lchown.h (nap): Avoid duplication.
25151         * tests/test-utimens-common.h (nap): Use shared implementation,
25152         necessary on file systems with 1-second resolution.
25153         * modules/chown-tests (Files): Include new file.
25154         * modules/fdutimensat-tests (Files): Likewise.
25155         * modules/futimens-tests (Files): Likewise.
25156         * modules/lchown-tests (Files): Likewise.
25157         * modules/openat-tests (Files): Likewise.
25158         * modules/utimens-tests (Files): Likewise.
25159         * modules/utimensat-tests (Files): Likewise.
25160
25161 2009-12-19  Eric Blake  <ebb9@byu.net>
25162
25163         futimens, utimensat: work around Linux bug
25164         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
25165         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
25166         * lib/utimensat.c (rpl_utimensat): Work around it.
25167         * lib/futimens.c (rpl_futimens): Adjust comment.
25168
25169         utimens: work around Linux ctime bug
25170         * lib/utimens.c (detect_ctime_bug): New helper function.
25171         (update_timespec): Differentiate between workaround needed for
25172         this bug vs. what is needed for systems that lack utimensat.
25173         (fdutimens, lutimens): Work around bug.
25174
25175         utimens: check for ctime update
25176         * tests/test-utimens-common.h (check_ctime): Define.
25177         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
25178         * tests/test-futimens.h (test_futimens): Likewise.
25179         * tests/test-lutimens.h (test_lutimens): Likewise.
25180         * doc/posix-functions/futimens.texi (futimens): Document the bug.
25181         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
25182
25183 2009-12-19  Bruno Haible  <bruno@clisp.org>
25184
25185         dprintf-posix: Check against memory leak fixed on 2009-12-15.
25186         * tests/test-dprintf-posix2.sh: New file.
25187         * tests/test-dprintf-posix2.c: New file.
25188         * modules/dprintf-posix-tests (Files): Add them.
25189         (configure.ac): Check for getrlimit and setrlimit.
25190         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
25191
25192 2009-12-19  Bruno Haible  <bruno@clisp.org>
25193
25194         fprintf-posix: Check against memory leak fixed on 2009-12-15.
25195         * tests/test-fprintf-posix3.sh: New file.
25196         * tests/test-fprintf-posix3.c: New file.
25197         * modules/fprintf-posix-tests (Files): Add them.
25198         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
25199
25200 2009-12-19  Eric Blake  <ebb9@byu.net>
25201
25202         dirfd: fix prototype
25203         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
25204         * lib/dirfd.c (dirfd): Likewise.
25205
25206         canonicalize: reduce memory usage
25207         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
25208         allocation to size.
25209         Reported by Solar Designer <solar@openwall.com>.
25210
25211 2009-12-19  Bruno Haible  <bruno@clisp.org>
25212
25213         New module attribute 'Applicability'.
25214         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
25215         * gnulib-tool: New option --extract-applicability.
25216         (func_usage): Document it.
25217         (sed_extract_prog): Recognize it.
25218         (func_get_applicability): New function.
25219         (func_import): Generalize handling of 'link-warning' module.
25220         * modules/link-warning (Applicability): New section.
25221         * modules/arg-nonnull (Applicability): New section.
25222         Repoted by Simon Josefsson <simon@josefsson.org>.
25223
25224 2009-12-19  Bruno Haible  <bruno@clisp.org>
25225
25226         fflush: tweak
25227         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
25228         * lib/fseeko.c (rpl_fseeko): Likewise.
25229
25230 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
25231
25232         * lib/gl_list.h: Fix typo in comment.
25233
25234 2009-12-16  Eric Blake  <ebb9@byu.net>
25235
25236         fcntl: use to simplify other modules
25237         * modules/cloexec (Depends-on): Add fcntl.
25238         * modules/fchdir (Depends-on): Likewise.
25239         * modules/fd-safer-flag (Depends-on): Likewise.
25240         * modules/unistd-safer (Depends-on): Likewise.
25241         * modules/dup3 (configure.ac): Set module indicator.
25242         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
25243         missing.
25244         * lib/fchdir.c (_gl_register_dup): Fix comment.
25245         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
25246         * lib/dup-safer.c (dup_safer): Likewise.
25247         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
25248         * lib/dup3.c (dup3): Likewise.
25249         * tests/test-fchdir.c (main): Enhance test.
25250         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
25251
25252         fcntl: port portions of fcntl to mingw
25253         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
25254         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
25255         replacement for mingw.
25256         * modules/fcntl (Description): Update.
25257         (Depends-on): Add dup2.
25258         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
25259         * modules/fcntl-h (Makefile.am): Substitute it.
25260         * lib/fcntl.in.h (fcntl): Update declaration.
25261         (F_DUPFD, F_GETFD): New macros, when needed.
25262         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
25263         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
25264         * tests/test-fcntl.c (check_flags, main): Enhance test for items
25265         we now guarantee.
25266
25267         fcntl: work around cygwin bug in F_DUPFD
25268         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
25269         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
25270         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
25271         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
25272         * doc/posix-functions/fcntl.texi (fcntl): Document it.
25273
25274         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
25275         * modules/fcntl (Files): List new files.
25276         (configure.ac): Run a test.
25277         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
25278         * lib/fcntl.c (rpl_fcntl): Likewise.
25279         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
25280         (gl_FCNTL_H): Always replace fcntl.h.
25281         * modules/fcntl-h (Makefile.am): Substitute witnesses.
25282         * lib/fcntl.in.h (fcntl): Declare replacement.
25283         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
25284         needed, plus a witness.
25285         * doc/posix-functions/fcntl.texi (fcntl): Document this.
25286         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
25287         * tests/test-fcntl.c: New file.
25288         * modules/fcntl-tests: Likewise.
25289
25290         binary-io: avoid potential compilation warning
25291         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
25292         directives.
25293
25294         fflush: avoid compilation error on NetBSD
25295         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
25296         between off_t and fpos_t, since the latter is sometimes a struct.
25297         * lib/fseeko.c (rpl_fseeko): Likewise.
25298         Reported by Alexander Nasonov <alnsn@yandex.ru>.
25299
25300 2009-12-15  Eric Blake  <ebb9@byu.net>
25301
25302         fcntl-h, stdio, sys_ioctl: fix declarations
25303         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
25304         function must not take arguments.
25305         * lib/sys_ioctl.in.h (ioctl): Likewise.
25306         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
25307         (open): Add a link warning.
25308
25309 2009-12-15  Jim Meyering  <meyering@redhat.com>
25310
25311         areadlink, areadlink-with-size: relax license to LGPLv2+
25312         * modules/areadlink (License): Relax to LGPLv2+.
25313         * modules/areadlink-with-size (License): Likewise.
25314
25315 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
25316             Bruno Haible  <bruno@clisp.org>
25317
25318         *printf: Fix memory leak.
25319         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
25320         * lib/vfprintf.c (vfprintf): Likewise.
25321         * lib/dprintf.c (dprintf): Likewise.
25322         * lib/vdprintf.c (vdprintf): Likewise.
25323
25324 2009-12-14  Eric Blake  <ebb9@byu.net>
25325
25326         accept4: adjust module dependencies
25327         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
25328
25329         utimens: one more try at avoiding compiler warning
25330         * lib/utimens.c (lutimens): Lower scope of result.
25331
25332 2009-12-13  Bruno Haible  <bruno@clisp.org>
25333
25334         Move the malloc checking from module 'list' to new module 'xlist'.
25335         * modules/xlist: New file.
25336         * lib/gl_xlist.h: New file.
25337         * lib/gl_xlist.c: New file.
25338         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
25339         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
25340         gl_list_add_last, gl_list_add_before, gl_list_add_after,
25341         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
25342         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
25343         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
25344         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
25345         gl_sortedlist_nx_add): New declarations.
25346         (struct gl_list_implementation): Rename and change methods accordingly.
25347         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
25348         (gl_list_nx_create): Renamed from gl_list_create.
25349         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
25350         (gl_list_nx_set_at): Renamed from gl_list_set_at.
25351         (gl_list_nx_add_first): Renamed from gl_list_add_first.
25352         (gl_list_nx_add_last): Renamed from gl_list_add_last.
25353         (gl_list_nx_add_before): Renamed from gl_list_add_before.
25354         (gl_list_nx_add_after): Renamed from gl_list_add_after.
25355         (gl_list_nx_add_at): Renamed from gl_list_add_at.
25356         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
25357         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
25358         gl_list_create_empty.
25359         (gl_list_nx_create): Renamed from gl_list_create.
25360         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
25361         (gl_list_nx_set_at): Renamed from gl_list_set_at.
25362         (gl_list_nx_add_first): Renamed from gl_list_add_first.
25363         (gl_list_nx_add_last): Renamed from gl_list_add_last.
25364         (gl_list_nx_add_before): Renamed from gl_list_add_before.
25365         (gl_list_nx_add_after): Renamed from gl_list_add_after.
25366         (gl_list_nx_add_at): Renamed from gl_list_add_at.
25367         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
25368         * lib/gl_array_list.c: Don't include xalloc.h.
25369         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
25370         NULL upon out-of-memory.
25371         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
25372         out-of-memory.
25373         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
25374         Change return type to 'int'.
25375         (gl_array_nx_set_at): Renamed from gl_array_set_at.
25376         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
25377         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
25378         upon out-of-memory.
25379         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
25380         upon out-of-memory.
25381         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
25382         upon out-of-memory.
25383         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
25384         upon out-of-memory.
25385         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
25386         out-of-memory.
25387         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
25388         Update.
25389         (gl_array_list_implementation): Update.
25390         * lib/gl_carray_list.c: Don't include xalloc.h.
25391         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
25392         Return NULL upon out-of-memory.
25393         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
25394         out-of-memory.
25395         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
25396         Change return type to 'int'.
25397         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
25398         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
25399         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
25400         upon out-of-memory.
25401         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
25402         upon out-of-memory.
25403         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
25404         out-of-memory.
25405         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
25406         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
25407         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
25408         Update.
25409         (gl_carray_list_implementation): Update.
25410         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
25411         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
25412         gl_linked_create_empty. Return NULL upon out-of-memory.
25413         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
25414         out-of-memory.
25415         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
25416         Change return type to 'int'. Return -1 upon out-of-memory.
25417         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
25418         out-of-memory.
25419         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
25420         upon out-of-memory.
25421         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
25422         upon out-of-memory.
25423         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
25424         NULL upon out-of-memory.
25425         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
25426         upon out-of-memory.
25427         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
25428         out-of-memory.
25429         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
25430         Update.
25431         * lib/gl_linked_list.c: Don't include xalloc.h.
25432         (gl_linked_list_implementation): Update.
25433         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
25434         (add_to_bucket): Change return type to 'int'.
25435         (gl_linkedhash_list_implementation): Update.
25436         * lib/gl_anytree_list1.h (free_subtree): New function.
25437         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
25438         gl_tree_create_empty. Return NULL upon out-of-memory.
25439         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
25440         Change return type to 'int'. Return -1 upon out-of-memory.
25441         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
25442         out-of-memory.
25443         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
25444         (gl_tree_remove_node): New function, moved here from
25445         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
25446         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
25447         Update.
25448         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
25449         malloc, not xmalloc. Return NULL upon out-of-memory.
25450         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
25451         out-of-memory.
25452         (gl_tree_remove_node_from_tree): New function, extracted from
25453         gl_tree_remove_node.
25454         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
25455         upon out-of-memory.
25456         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
25457         out-of-memory.
25458         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
25459         upon out-of-memory.
25460         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
25461         upon out-of-memory.
25462         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
25463         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
25464         not xmalloc. Return NULL upon out-of-memory.
25465         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
25466         out-of-memory.
25467         (gl_tree_remove_node_from_tree): New function, extracted from
25468         gl_tree_remove_node.
25469         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
25470         upon out-of-memory.
25471         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
25472         out-of-memory.
25473         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
25474         upon out-of-memory.
25475         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
25476         upon out-of-memory.
25477         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
25478         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
25479         gl_anytree_list1.h before gl_anyavltree_list2.h.
25480         (gl_avltree_list_implementation): Update.
25481         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
25482         gl_anytree_list1.h before gl_anyavltree_list2.h.
25483         (gl_rbtree_list_implementation): Update.
25484         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
25485         Change return type to 'int'. Return -1 upon out-of-memory. Use
25486         __builtin_expect.
25487         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
25488         (gl_avltreehash_list_implementation): Update.
25489         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
25490         (gl_rbtreehash_list_implementation): Update.
25491         * modules/array-list (Depends-on): Remove xalloc.
25492         * modules/carray-list (Depends-on): Likewise.
25493         * modules/linked-list (Depends-on): Likewise.
25494         * modules/linkedhash-list (Depends-on): Likewise.
25495         * modules/avltree-list (Depends-on): Likewise.
25496         * modules/rbtree-list (Depends-on): Likewise.
25497         * modules/avltreehash-list (Depends-on): Likewise.
25498         * modules/rbtreehash-list (Depends-on): Likewise.
25499
25500         * modules/xsublist: New file.
25501         * lib/gl_xsublist.h: New file.
25502         * lib/gl_xsublist.c: New file.
25503         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
25504         (gl_sublist_nx_create): New declaration.
25505         * lib/gl_sublist.c: Don't include xalloc.h.
25506         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
25507         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
25508         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
25509         Change return type to 'int'. Return -1 upon out-of-memory.
25510         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
25511         upon out-of-memory.
25512         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
25513         NULL upon out-of-memory.
25514         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
25515         upon out-of-memory.
25516         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
25517         NULL upon out-of-memory.
25518         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
25519         NULL upon out-of-memory.
25520         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
25521         upon out-of-memory.
25522         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
25523         (gl_sublist_list_implementation): Update.
25524         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
25525         upon out-of-memory.
25526         * modules/sublist (Depends-on): Remove xalloc.
25527
25528         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
25529         * tests/test-carray_list.c: Likewise.
25530         * tests/test-linked_list.c: Likewise.
25531         * tests/test-linkedhash_list.c: Likewise.
25532         * tests/test-avltree_list.c: Likewise.
25533         * tests/test-rbtree_list.c: Likewise.
25534         * tests/test-avltreehash_list.c: Likewise.
25535         * tests/test-rbtreehash_list.c: Likewise.
25536         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
25537         * modules/carray-list-tests (Makefile.am): Likewise.
25538         * modules/linked-list-tests (Makefile.am): Likewise.
25539         * modules/linkedhash-list-tests (Makefile.am): Likewise.
25540         * modules/avltree-list-tests (Makefile.am): Likewise.
25541         * modules/rbtree-list-tests (Makefile.am): Likewise.
25542         * modules/avltreehash-list-tests (Makefile.am): Likewise.
25543         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
25544
25545         * NEWS: Mention the changes.
25546
25547         * lib/clean-temp.c: Include gl_xlist.h.
25548         * modules/clean-temp (Depends-on): Add xlist.
25549
25550         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
25551         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
25552
25553         * tests/test-array_oset.c: Include gl_xlist.h.
25554         * modules/array-oset-tests (Depends-on): Add xlist.
25555
25556         Reported by José E. Marchesi <jemarch@gnu.org>.
25557
25558 2009-12-13  Bruno Haible  <bruno@clisp.org>
25559
25560         Move the malloc checking from module 'oset' to new module 'xoset'.
25561         * modules/xoset: New file.
25562         * lib/gl_xoset.h: New file.
25563         * lib/gl_xoset.c: New file.
25564         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
25565         declarations.
25566         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
25567         (struct gl_oset_implementation): Rename and change methods accordingly.
25568         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
25569         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
25570         'int'. Mark as __warn_unused_result__.
25571         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
25572         gl_oset_create_empty.
25573         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
25574         'int'.
25575         * lib/gl_array_oset.c: Don't include xalloc.h.
25576         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
25577         malloc, not xmalloc.
25578         (grow): Change return type to 'int'. Don't call xalloc_die.
25579         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
25580         to 'int'.
25581         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
25582         'int'.
25583         (gl_array_oset_implementation): Update.
25584         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
25585         gl_tree_create_empty.
25586         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
25587         'int'.
25588         * lib/gl_avltree_oset.c: Don't include xalloc.h.
25589         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
25590         xmalloc.
25591         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
25592         not xmalloc.
25593         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
25594         xmalloc.
25595         (gl_avltree_oset_implementation): Update.
25596         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
25597         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
25598         xmalloc.
25599         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
25600         not xmalloc.
25601         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
25602         xmalloc.
25603         (gl_rbtree_oset_implementation): Update.
25604         * modules/array-oset (Depends-on): Remove xalloc.
25605         * modules/avltree-oset (Depends-on): Likewise.
25606         * modules/rbtree-oset (Depends-on): Likewise.
25607         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
25608         * tests/test-avltree_oset.c: Likewise.
25609         * tests/test-rbtree_oset.c: Likewise.
25610         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
25611         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
25612         * modules/rbtree-oset-tests (Makefile.am): Likewise.
25613         * NEWS: Mention the change.
25614
25615 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
25616
25617         maint.mk: allow a project to override release-prep commands
25618         * top/maint.mk (alpha, beta, stable): Move release-preparatory
25619         commands into a new rule.
25620         (release-prep): New rule.
25621         (release-prep-hook): New overridable variable.
25622
25623 2009-12-13  Bruno Haible  <bruno@clisp.org>
25624
25625         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
25626
25627 2009-12-13  Jim Meyering  <meyering@redhat.com>
25628
25629         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
25630         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
25631
25632 2009-12-12  Bruno Haible  <bruno@clisp.org>
25633
25634         duplocale: Tweak.
25635         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
25636
25637 2009-12-12  Karl Berry  <karl@gnu.org>
25638
25639         * config/srclist.txt (strtoll.c): tab changes, no more sync.
25640
25641 2009-12-12  Bruno Haible  <bruno@clisp.org>
25642
25643         * m4/po.m4: Undo incorrect untabification.
25644
25645 2009-12-12  Bruno Haible  <bruno@clisp.org>
25646
25647         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
25648         * modules/c-strtod (Depends-on): Add locale.
25649         * modules/c-strtold (Depends-on): Likewise.
25650
25651 2009-12-12  Bruno Haible  <bruno@clisp.org>
25652
25653         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
25654
25655 2009-12-11  Eric Blake  <ebb9@byu.net>
25656
25657         setenv: relax requirement in light of POSIX ruling
25658         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
25659         not NULL.
25660         * tests/test-setenv.c (main): Relax test.
25661         * tests/test-unsetenv.c (main): Likewise.
25662         * doc/posix-functions/setenv.texi (setenv): Document this.
25663         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
25664
25665 2009-12-11  Bruno Haible  <bruno@clisp.org>
25666
25667         New module 'fd-safer-flag'.
25668         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
25669         * lib/dup-safer.c (dup_safer_flag): Remove function.
25670         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
25671         * lib/fd-safer.c (fd_safer_flag): Remove function.
25672         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
25673         * modules/cloexec (configure.ac): Drop indicator macro.
25674         * modules/fd-safer-flag: New file.
25675         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
25676         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
25677         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
25678
25679 2009-12-11  Bruno Haible  <bruno@clisp.org>
25680
25681         Tests for module 'nl_langinfo'.
25682         * modules/nl_langinfo-tests: New file.
25683         * tests/test-nl_langinfo.sh: New file.
25684         * tests/test-nl_langinfo.c: New file.
25685
25686         New module 'nl_langinfo'.
25687         * lib/nl_langinfo.c: New file.
25688         * m4/nl_langinfo.m4: New file.
25689         * modules/nl_langinfo: New file.
25690         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
25691
25692 2009-12-11  Bruno Haible  <bruno@clisp.org>
25693
25694         Tests for module 'langinfo'.
25695         * modules/langinfo-tests: New file.
25696         * tests/test-langinfo.c: New file.
25697
25698         New module 'langinfo'.
25699         * lib/langinfo.in.h: New file.
25700         * m4/langinfo_h.m4: New file.
25701         * modules/langinfo: New file.
25702         * doc/posix-headers/langinfo.texi: Mention the new module.
25703
25704 2009-12-11  Bruno Haible  <bruno@clisp.org>
25705
25706         * lib/config.charset: Untabify.
25707
25708 2009-12-11  Bruno Haible  <bruno@clisp.org>
25709
25710         * modules/unistd-safer (configure.ac): Drop indicator macro.
25711
25712 2009-12-11  Bruno Haible  <bruno@clisp.org>
25713
25714         Move pipe2-safer code to its own file.
25715         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
25716         * lib/pipe-safer.c (pipe2_safer): Remove function.
25717         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
25718         (Makefile.am): Add it to lib_SOURCES.
25719
25720 2009-12-10  Bruno Haible  <bruno@clisp.org>
25721
25722         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
25723
25724 2009-12-10  Bruno Haible  <bruno@clisp.org>
25725
25726         Declare which arguments expect non-NULL values, for GCC and clang.
25727         * build-aux/arg-nonnull.h: New file.
25728         * modules/arg-nonnull: New file.
25729         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
25730         (inet_ntop, inet_pton): Use it.
25731         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
25732         (closedir, dirfd, opendir, scandir, alphasort): Use it.
25733         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
25734         (open, openat): Use it.
25735         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
25736         (fnmatch): Use it.
25737         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
25738         (getopt, getopt_long, getopt_long_only): Use it.
25739         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
25740         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
25741         Use it.
25742         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
25743         (iconv_open): Use it.
25744         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
25745         (strtoimax, strtoumax): Use it.
25746         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
25747         (duplocale): Use it.
25748         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
25749         (frexp, frexpl): Use it.
25750         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
25751         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
25752         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
25753         (tsearch, tfind, tdelete, twalk): Use it.
25754         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
25755         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
25756         sigpending): Use it.
25757         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
25758         (posix_spawn, posix_spawnp, posix_spawnattr_init,
25759         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
25760         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
25761         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
25762         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
25763         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
25764         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
25765         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
25766         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
25767         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
25768         Use it.
25769         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
25770         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
25771         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
25772         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
25773         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
25774         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
25775         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
25776         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
25777         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
25778         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
25779         strtoull, unsetenv): Use it.
25780         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
25781         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
25782         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
25783         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
25784         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
25785         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
25786         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
25787         (strcasecmp, strncasecmp): Use it.
25788         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
25789         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
25790         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
25791         rpl_setsockopt): Use it.
25792         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
25793         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
25794         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
25795         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
25796         (gettimeofday): Use it.
25797         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
25798         (times): Use it.
25799         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
25800         (uname): Use it.
25801         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
25802         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
25803         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
25804         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
25805         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
25806         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
25807         unlinkat, write): Use it.
25808         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
25809         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
25810         * lib/argv-iter.h: Include arg-nonnull.h.
25811         (_ATTRIBUTE_NONNULL_): Remove macro.
25812         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
25813         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
25814         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
25815         optimization.
25816         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
25817         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
25818         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
25819         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
25820         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
25821         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
25822         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
25823         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
25824         * modules/arpa_inet (Depends-on): Add arg-nonnull.
25825         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
25826         * modules/dirent (Depends-on): Add arg-nonnull.
25827         (Makefile.am): Insert arg-nonnull.h into dirent.h.
25828         * modules/fcntl-h (Depends-on): Add arg-nonnull.
25829         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
25830         * modules/fnmatch (Depends-on): Add arg-nonnull.
25831         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
25832         * modules/getopt-posix (Depends-on): Add arg-nonnull.
25833         (Makefile.am): Insert arg-nonnull.h into getopt.h.
25834         * modules/glob (Depends-on): Add arg-nonnull.
25835         (Makefile.am): Insert arg-nonnull.h into glob.h.
25836         * modules/iconv_open (Depends-on): Add arg-nonnull.
25837         (Makefile.am): Insert arg-nonnull.h into iconv.h.
25838         * modules/inttypes (Depends-on): Add arg-nonnull.
25839         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
25840         * modules/locale (Depends-on): Add arg-nonnull.
25841         (Makefile.am): Insert arg-nonnull.h into locale.h.
25842         * modules/math (Depends-on): Add arg-nonnull.
25843         (Makefile.am): Insert arg-nonnull.h into math.h.
25844         * modules/netdb (Depends-on): Add arg-nonnull.
25845         (Makefile.am): Insert arg-nonnull.h into netdb.h.
25846         * modules/search (Depends-on): Add arg-nonnull.
25847         (Makefile.am): Insert arg-nonnull.h into search.h.
25848         * modules/signal (Depends-on): Add arg-nonnull.
25849         (Makefile.am): Insert arg-nonnull.h into signal.h.
25850         * modules/spawn (Depends-on): Add arg-nonnull.
25851         (Makefile.am): Insert arg-nonnull.h into spawn.h.
25852         * modules/stdio (Depends-on): Add arg-nonnull.
25853         (Makefile.am): Insert arg-nonnull.h into stdio.h.
25854         * modules/stdlib (Depends-on): Add arg-nonnull.
25855         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
25856         * modules/string (Depends-on): Add arg-nonnull.
25857         (Makefile.am): Insert arg-nonnull.h into string.h.
25858         * modules/strings (Depends-on): Add arg-nonnull.
25859         (Makefile.am): Insert arg-nonnull.h into strings.h.
25860         * modules/sys_socket (Depends-on): Add arg-nonnull.
25861         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
25862         * modules/sys_stat (Depends-on): Add arg-nonnull.
25863         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
25864         * modules/sys_time (Depends-on): Add arg-nonnull.
25865         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
25866         * modules/sys_times (Depends-on): Add arg-nonnull.
25867         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
25868         * modules/sys_utsname (Depends-on): Add arg-nonnull.
25869         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
25870         * modules/time (Depends-on): Add arg-nonnull.
25871         (Makefile.am): Insert arg-nonnull.h into time.h.
25872         * modules/unistd (Depends-on): Add arg-nonnull.
25873         (Makefile.am): Insert arg-nonnull.h into unistd.h.
25874         * modules/wchar (Depends-on): Add arg-nonnull.
25875         (Makefile.am): Insert arg-nonnull.h into wchar.h.
25876         * modules/argv-iter (Depends-on): Add arg-nonnull.
25877         * tests/test-canonicalize.c (null_ptr): New function.
25878         (main): Use it.
25879         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
25880         (main): Use it.
25881         * tests/test-memmem.c (null_ptr): New function.
25882         (main): Use it.
25883         Reported by Jim Meyering.
25884
25885 2009-12-10  Bruno Haible  <bruno@clisp.org>
25886
25887         Use spaces for indentation, not tabs.
25888         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
25889         * m4/*.m4: Untabify.
25890         * build-aux/*.h: Untabify.
25891         * tests/**/*.[hc]: Untabify.
25892         * README: New section "Indent with spaces, not TABs", based on
25893         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
25894         * NEWS: Mention the change.
25895
25896 2009-12-10  Bruno Haible  <bruno@clisp.org>
25897
25898         pty test: Fix link error.
25899         * modules/pty-tests (Makefile.am): Add the default LDADD value to
25900         test_pty_LDADD.
25901
25902 2009-12-07  Simon Josefsson  <simon@josefsson.org>
25903
25904         * modules/pty: New file.
25905         * modules/pty-tests: New file.
25906         * m4/pty.m4: New file.
25907         * tests/test-pty.c: New file.
25908         * doc/glibc-headers/pty.texi: Modified.
25909         * doc/glibc-functions/forkpty.texi: Modified.
25910         * doc/glibc-functions/openpty.texi: Modified.
25911
25912 2009-12-10  Bruno Haible  <bruno@clisp.org>
25913
25914         Avoid syntax error in C++ mode.
25915         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
25916
25917 2009-12-10  Bruno Haible  <bruno@clisp.org>
25918
25919         Use sed with option -e.
25920         * gnulib-tool (func_version, func_emit_copyright_notice,
25921         func_emit_initmacro_end, func_import, func_create_testdir): Pass
25922         option -e to sed.
25923         * modules/link-warning (Makefile.am): Likewise.
25924
25925 2009-12-10  Jim Meyering  <meyering@redhat.com>
25926
25927         mgetgroups: do not write bytes beyond end of malloc'd buffer
25928         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
25929         username, we call getgroups with a one-element-shorter buffer,
25930         but still told it the length was original, max_n_groups.
25931
25932 2009-12-09  Eric Blake  <ebb9@byu.net>
25933
25934         cloexec: relax license
25935         * modules/cloexec (Maintainer): Add myself.
25936         (License): Use LGPL, not GPL.
25937
25938         link-warning: optimize generation
25939         * modules/link-warning (Makefile.am): Reduce process usage.
25940
25941 2009-12-09  Bruno Haible  <bruno@clisp.org>
25942
25943         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
25944         workaround was added on 2009-11-17.
25945
25946 2009-12-09  Jim Meyering  <meyering@redhat.com>
25947             Bruno Haible  <bruno@clisp.org>
25948
25949         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
25950         * modules/link-warning (Makefile.am): Make the comment-removing sed
25951         command more robust in the face of bootstrap-prepended comment lines.
25952
25953 2009-12-09  Bruno Haible  <bruno@clisp.org>
25954
25955         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
25956         most one group.
25957
25958 2009-12-09  Simon Josefsson <simon@josefsson.org>
25959             Bruno Haible  <bruno@clisp.org>
25960
25961         * build-aux/link-warning.h: Add copyright notice.
25962         * modules/link-warning (Makefile.am): Generate link-warning.h from
25963         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
25964         * NEWS: Mention change in link-warning module.
25965         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
25966         * modules/dirent (Makefile.am): Add dependency to dirent.h.
25967         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
25968         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
25969         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
25970         * modules/math (Makefile.am): Add dependency to math.h.
25971         * modules/search (Makefile.am): Add dependency to search.h.
25972         * modules/signal (Makefile.am): Add dependency to signal.h.
25973         * modules/spawn (Makefile.am): Add dependency to spawn.h.
25974         * modules/stdio (Makefile.am): Add dependency to stdio.h.
25975         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
25976         * modules/string (Makefile.am): Add dependency to string.h.
25977         * modules/strings (Makefile.am): Add dependency to strings.h.
25978         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
25979         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
25980         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
25981         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
25982         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
25983         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
25984         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
25985         * modules/unistd (Makefile.am): Add dependency to unistd.h.
25986         * modules/wchar (Makefile.am): Add dependency to wchar.h.
25987
25988 2009-12-09  Bruno Haible  <bruno@clisp.org>
25989
25990         fchdir: Optimize away rpl_fstat when possible.
25991         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
25992         REPLACE_OPEN_DIRECTORY.
25993         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
25994
25995 2009-12-09  Bruno Haible  <bruno@clisp.org>
25996
25997         * lib/fchdir.c: Update comment.
25998
25999 2009-12-09  Bruno Haible  <bruno@clisp.org>
26000
26001         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
26002
26003 2009-12-08  Eric Blake  <ebb9@byu.net>
26004
26005         fchdir: avoid memory leak on re-registration.
26006         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
26007
26008 2009-12-08  Jim Meyering  <meyering@redhat.com>
26009
26010         init.sh: avoid Solaris 10 /bin/sh portability problem
26011         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
26012         sourced script:
26013           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
26014           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
26015           bar
26016         tests/init.sh relied on that, accepting a --set-path=DIR argument,
26017         and two tests used that idiom.
26018         * tests/init.sh: Update suggested usage comments.
26019         (path_prepend_): New function, to be used in place
26020         of the --src-path=DIR option.
26021         (setup_): Move PATH-prepending code into path_prepend_.
26022         * tests/test-pread.sh: Adapt to new usage.
26023         * tests/test-xalloc-die.sh: Likewise.
26024
26025 2009-12-08  Simon Josefsson  <simon@josefsson.org>
26026
26027         * doc/gnulib.texi (Glibc pty.h): Add.
26028         * doc/glibc-functions/forkpty.texi: Add.
26029         * doc/glibc-functions/openpty.texi: Add.
26030         Suggested by Bruno Haible.
26031
26032 2009-12-08  Eric Blake  <ebb9@byu.net>
26033
26034         fchdir: fix logic bugs
26035         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
26036         * tests/test-fchdir.c (main): Enhance test.
26037         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
26038         is in use.
26039
26040         dup2: fix logic bugs
26041         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
26042         REPLACE_DUP2 to decide when rpl_dup2 is needed.
26043         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
26044         exists.
26045         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
26046
26047 2009-12-07  Eric Blake  <ebb9@byu.net>
26048
26049         unlink: fix m4 detection
26050         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
26051
26052         unistd-safer: add unit test
26053         * modules/unistd-safer-tests: New file.
26054         * tests/test-dup-safer.c: Likewise.
26055         * tests/test-cloexec.c (setmode): Avoid compiler warning.
26056         * tests/test-dup2.c (setmode): Likewise.
26057         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
26058
26059         cloexec: preserve text vs. binary across dup_cloexec
26060         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
26061         mode.
26062         * modules/dup2-tests (Depends-on): Add binary-io.
26063         * modules/cloexec-tests (Depends-on): Likewise.
26064         * tests/test-dup2.c (setmode, is_mode): New helpers.
26065         (main): Add tests that translation mode is preserved.
26066         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
26067         Reported by Bruno Haible.
26068
26069         mgetgroups: reduce duplicate listings
26070         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
26071         resulting array.
26072         * tests/test-chown.h (test_chown): Simplify client.
26073         * tests/test-lchown.h (test_lchown): Likewise.
26074
26075 2009-12-06  Bruno Haible  <bruno@clisp.org>
26076
26077         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
26078         value.
26079
26080 2009-12-06  Bruno Haible  <bruno@clisp.org>
26081
26082         * lib/progname.c: Include stdio.h, stdlib.h.
26083         (set_program_name): Reject a NULL argument.
26084
26085 2009-12-05  Eric Blake  <ebb9@byu.net>
26086
26087         pipe2-safer: new module
26088         * modules/pipe2-safer: New file.
26089         * lib/unistd-safer.h (pipe2_safer): New prototype.
26090         * lib/unistd--.h (pipe2): New wrapper.
26091         * lib/pipe-safer.c (pipe2_safer): New function.
26092         * modules/pipe (Depends-on): Add pipe2-safer.
26093         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
26094
26095         stdlib-safer: preserve cloexec flag for mkostemp[s]
26096         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
26097         fd_safer_flag.
26098
26099         unistd-safer: allow preservation of cloexec status via flag
26100         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
26101         prototypes.
26102         * lib/dup-safer.c (dup_safer_flag): New function.
26103         * lib/fd-safer.c (fd_safer_flag): Likewise.
26104         * modules/cloexec (configure.ac): Set witness.
26105
26106         test-dup2: enhance test
26107         * modules/dup2-tests (Depends-on): Add cloexec.
26108         * tests/test-dup2.c (main): Enhance test.
26109
26110         cloexec: add dup_cloexec
26111         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
26112         header and comments.
26113         * lib/cloexec.c (set_cloexec_flag): Add comments.
26114         (dup_cloexec): New function, with mingw implementation borrowed
26115         from...
26116         * lib/w32spawn.h (dup_noinherit): ...here.
26117         * modules/execute (Depends-on): Add cloexec.
26118         * modules/pipe (Depends-on): Likewise.
26119         * modules/cloexec (Depends-on): Add dup2.
26120         * modules/cloexec-tests (Files): New file.
26121         * tests/test-cloexec.c: Likewise.
26122
26123         test-xalloc-die: fix test for mingw
26124         * modules/xalloc-die-tests (Files): Add tests/init.sh.
26125         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
26126         directory and .exe suffix off argv[0] output.
26127
26128         test-fseeko: fix test for mingw
26129         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
26130         than undefining fseek, so test will pass on mingw.
26131
26132 2009-12-05  Bruno Haible  <bruno@clisp.org>
26133
26134         * lib/progname.h (set_program_name): Clarify specification.
26135         * lib/progname.c (set_program_name): Likewise.
26136         Reported by Jim Meyering.
26137
26138 2009-12-05  Jim Meyering  <meyering@redhat.com>
26139
26140         maint.mk: backslash-escape parens in default regexp
26141         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
26142         backslash-escape the literal parentheses.
26143
26144         maint.mk: news-date-check: use grep -E
26145         * top/maint.mk (today): Define a Make variable, not a...
26146         (news-date-check): ...shell variable.
26147         (news-date-regexp): Use the Make variable.
26148         Use grep's -E option.  Change the failing diagnostic to mention
26149         the variable, $(news-date-regexp).
26150
26151 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
26152
26153         maintainer-makefile: allow customization of NEWS entry format
26154         * top/maint.mk (news-date-regexp): New overridable variable.
26155         (news-date-check): Use it.
26156
26157 2009-12-04  Eric Blake  <ebb9@byu.net>
26158
26159         mgetgroups: add xgetgroups, and avoid ENOSYS failures
26160         * lib/mgetgroups.h (xgetgroups): New prototype.
26161         * lib/mgetgroups.c (xgetgroups): New wrapper.
26162         (mgetgroups): Handle ENOSYS.
26163         * modules/mgetgroups (Depends-on): Add realloc.
26164         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
26165
26166         mgetgroups: avoid argument promotion issues with -1
26167         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
26168         for invalid gid_t.
26169         * tests/test-chown.h (getegid, test_chown): Likewise.
26170         * tests/test-lchown.h (getegid, test_lchown): Likewise.
26171
26172 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
26173
26174         exclude: Fix header file problems.
26175         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
26176
26177 2009-12-01  Jim Meyering  <meyering@redhat.com>
26178
26179         fts: fts_open: do not let an empty string cause immediate failure
26180         This is required in support of GNU rm, for which the command
26181         "rm A '' B" must process and remove both A and B, in spite of
26182         the empty string argument.
26183         * lib/fts.c (fts_open): Do not let the presence of an empty string
26184         cause fts_open to fail immediately.  Most fts-using tools must be
26185         able to process all arguments, in order, and can be expected to
26186         diagnose such arguments themselves.
26187
26188 2009-11-30  Eric Blake  <ebb9@byu.net>
26189
26190         utimens: fix compilation error
26191         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
26192         Declare variable at right scope.
26193
26194 2009-11-29  Jim Meyering  <meyering@redhat.com>
26195
26196         bootstrap: handle perl-5.11's changed --version output
26197         * build-aux/bootstrap (get_version): Handle perl separately,
26198         since perl-5.11's --version output is different.
26199
26200 2009-11-28  Jim Meyering  <meyering@redhat.com>
26201
26202         userspec: depend on the inttostr module, too
26203         * modules/userspec (Depends-on): Add inttostr.
26204
26205         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
26206         * lib/userspec.c (parse_with_separator): Do not accept a user ID
26207         number of MAXUID when it evaluates to (uid_t) -1.
26208         Likewise for group ID.  Reported by Matt McCutchen in
26209         <http://savannah.gnu.org/bugs/?28113>
26210
26211         userspec: reformat to use spaces, not TABs
26212         * lib/userspec.c: Expand TABs to spaces.
26213         Add Emacs' "indent-tabs-mode: nil" hint.
26214
26215 2009-11-27  Eric Blake  <ebb9@byu.net>
26216
26217         getopt-gnu: flush out another BSD bug
26218         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
26219         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
26220         flush out BSD bug.
26221         * tests/test-getopt.h (test_getopt): End lists with NULL.
26222         * tests/test-getopt_long.h (test_getopt_long): Likewise.
26223         (test_getopt_long_posix): Enhance test.
26224         * modules/getopt-posix-tests (Depends-on): Add stdbool.
26225         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
26226         getopt-gnu.
26227         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
26228         Likewise.
26229
26230 2009-11-27  Simon Josefsson  <simon@josefsson.org>
26231
26232         * modules/idpriv-droptemp-tests (Notice): Fix text.
26233
26234 2009-11-27  Jim Meyering  <meyering@redhat.com>
26235
26236         test-xalloc-die: avoid spurious failure due to libtool argv difference
26237         In a libtool-enabled project, this test would fail due to a difference
26238         in the emitted program name, e.g.,
26239         -test-xalloc-die: memory exhausted
26240         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
26241         Use program to avoid that.
26242         * modules/xalloc-die-tests (Depends-on): Add progname.
26243         * tests/test-xalloc-die.c: Include progname.h".
26244         (program_name): Remove decl.
26245         (main): Call set_program_name.
26246         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
26247
26248 2009-11-26  Richard Jones  <rjones@redhat.com>
26249
26250         w32sock: leave win32 error in place.
26251         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
26252
26253 2009-11-26  Eric Blake  <ebb9@byu.net>
26254
26255         init.sh: suggest to use skip_ and fail_ functions in comments
26256         * tests/init.sh: Add a sentence.
26257
26258 2009-11-25  Bruno Haible  <bruno@clisp.org>
26259
26260         init.sh: add documentation in comments
26261         * tests/init.sh: Add some developer and user documentation.
26262
26263 2009-11-26  Jim Meyering  <meyering@redhat.com>
26264
26265         init.sh: accommodate even those who specify bogus srcdir manually
26266         * tests/init.sh: Normally, srcdir is guaranteed by automake and
26267         configure-time tests to be sanitized, so that there is no need to
26268         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
26269         (with no double quotes) suffices.  However, since tests may be
26270         invoked manually, and since you may explicitly set srcdir to the
26271         name of a directory containing spaces, do quote its uses here.
26272         * tests/test-pread.sh: Likewise.
26273         Suggested by Bruno Haible.
26274
26275         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
26276         * tests/test-pread.sh: Write no data into the pipe, because
26277         test-pread actually reads none.  This avoids a diagnostic,
26278         "bash: echo: write error: Broken pipe", that arises in the unusual
26279         event something is ignoring SIGPIPE, and might be interpreted
26280         as some sort of failure.  Reported by Bruno Haible.
26281
26282 2009-11-25  Jim Meyering  <meyering@redhat.com>
26283
26284         test-pread: cover failure with ESPIPE and EINVAL
26285         * tests/test-pread.c (main): Test for failure, too.
26286         * tests/test-pread.sh: Invoke with stdin on a pipe.
26287         Suggested by Eric Blake.
26288
26289         pread: improvement and fix
26290         * modules/pread (Depends-on): Depend on lseek, for portability to
26291         e.g., mingw.  Suggested by Eric Blake.
26292         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
26293
26294         unistd.in.h: correct declaration of pread
26295         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
26296         Reported by Richard W.M. Jones.
26297
26298         test-pread.sh: distribute the test script
26299         * modules/pread-tests (Files): Include test-pread.sh.
26300
26301         test-pread.sh: clean up
26302         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
26303         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
26304         That is unnecessary, since it's always ".".
26305         Suggestion from Eric Blake.
26306
26307         test-pread.sh: make executable
26308         * tests/test-pread.sh: Set executable bit.
26309         Reported by Eric Blake.
26310
26311         correct typo in test-pread.sh
26312         * tests/test-pread.sh: Add #! line.
26313
26314         test pread
26315         * tests/test-pread.c: New file.
26316         * tests/test-pread.sh: Likewise.
26317         * modules/pread-tests: Likewise.
26318
26319         pread: new module
26320         * modules/pread: New file.
26321         * lib/unistd.in.h (pread): Define/declare.
26322         * lib/pread.c (pread): New file.
26323         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
26324         * modules/unistd (Makefile.am): Substitute witnesses.
26325         * doc/posix-functions/pread.texi (pread): Update.
26326         * MODULES.html.sh: Add pread.
26327
26328 2009-11-25  Jim Meyering  <meyering@redhat.com>
26329
26330         tests/init.sh: new file to be used via most *.sh tests
26331         * tests/init.sh: New file.
26332
26333 2009-11-25  Eric Blake  <ebb9@byu.net>
26334
26335         utimens: work around older Linux failure with symlinks
26336         * lib/utimens.c (lutimensat_works_really): New variable.
26337         (fdutimens, lutimens): Use it to manage kernels that support
26338         nanosecond times on files, but not on symlinks.
26339         Reported by OndÅ™ej Vašík.
26340
26341         utimes: fix configure grammar
26342         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
26343
26344 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
26345
26346         regex: Fix fastmap for multibyte character ranges.
26347         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
26348         characters when a multibyte character range is included.
26349
26350 2009-11-22  Andy Wingo  <wingo@pobox.com>
26351
26352         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
26353         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
26354
26355 2009-11-24  Bruno Haible  <bruno@clisp.org>
26356
26357         doc: Most *_l functions exist in MacOS X 10.5.
26358         * doc/posix-functions/duplocale.texi: Update platforms list.
26359         * doc/posix-functions/freelocale.texi: Likewise.
26360         * doc/posix-functions/newlocale.texi: Likewise.
26361         * doc/posix-functions/uselocale.texi: Likewise.
26362         * doc/posix-functions/isalnum_l.texi: Likewise.
26363         * doc/posix-functions/isalpha_l.texi: Likewise.
26364         * doc/posix-functions/isblank_l.texi: Likewise.
26365         * doc/posix-functions/iscntrl_l.texi: Likewise.
26366         * doc/posix-functions/isdigit_l.texi: Likewise.
26367         * doc/posix-functions/isgraph_l.texi: Likewise.
26368         * doc/posix-functions/islower_l.texi: Likewise.
26369         * doc/posix-functions/isprint_l.texi: Likewise.
26370         * doc/posix-functions/ispunct_l.texi: Likewise.
26371         * doc/posix-functions/isspace_l.texi: Likewise.
26372         * doc/posix-functions/isupper_l.texi: Likewise.
26373         * doc/posix-functions/iswalnum_l.texi: Likewise.
26374         * doc/posix-functions/iswalpha_l.texi: Likewise.
26375         * doc/posix-functions/iswblank_l.texi: Likewise.
26376         * doc/posix-functions/iswcntrl_l.texi: Likewise.
26377         * doc/posix-functions/iswctype_l.texi: Likewise.
26378         * doc/posix-functions/iswdigit_l.texi: Likewise.
26379         * doc/posix-functions/iswgraph_l.texi: Likewise.
26380         * doc/posix-functions/iswlower_l.texi: Likewise.
26381         * doc/posix-functions/iswprint_l.texi: Likewise.
26382         * doc/posix-functions/iswpunct_l.texi: Likewise.
26383         * doc/posix-functions/iswspace_l.texi: Likewise.
26384         * doc/posix-functions/iswupper_l.texi: Likewise.
26385         * doc/posix-functions/iswxdigit_l.texi: Likewise.
26386         * doc/posix-functions/isxdigit_l.texi: Likewise.
26387         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
26388         * doc/posix-functions/strcasecmp_l.texi: Likewise.
26389         * doc/posix-functions/strcoll_l.texi: Likewise.
26390         * doc/posix-functions/strfmon_l.texi: Likewise.
26391         * doc/posix-functions/strftime_l.texi: Likewise.
26392         * doc/posix-functions/strncasecmp_l.texi: Likewise.
26393         * doc/posix-functions/strxfrm_l.texi: Likewise.
26394         * doc/posix-functions/tolower_l.texi: Likewise.
26395         * doc/posix-functions/toupper_l.texi: Likewise.
26396         * doc/posix-functions/towctrans_l.texi: Likewise.
26397         * doc/posix-functions/towlower_l.texi: Likewise.
26398         * doc/posix-functions/towupper_l.texi: Likewise.
26399         * doc/posix-functions/wcscoll_l.texi: Likewise.
26400         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
26401         * doc/posix-functions/wctrans_l.texi: Likewise.
26402         * doc/posix-functions/wctype_l.texi: Likewise.
26403         * doc/glibc-functions/strptime_l.texi: Likewise.
26404         * doc/glibc-functions/strtod_l.texi: Likewise.
26405         * doc/glibc-functions/strtof_l.texi: Likewise.
26406         * doc/glibc-functions/strtol_l.texi: Likewise.
26407         * doc/glibc-functions/strtold_l.texi: Likewise.
26408         * doc/glibc-functions/strtoll_l.texi: Likewise.
26409         * doc/glibc-functions/strtoul_l.texi: Likewise.
26410         * doc/glibc-functions/strtoull_l.texi: Likewise.
26411         * doc/glibc-functions/wcsftime_l.texi: Likewise.
26412         * doc/glibc-functions/wcstod_l.texi: Likewise.
26413         * doc/glibc-functions/wcstof_l.texi: Likewise.
26414         * doc/glibc-functions/wcstol_l.texi: Likewise.
26415         * doc/glibc-functions/wcstold_l.texi: Likewise.
26416         * doc/glibc-functions/wcstoll_l.texi: Likewise.
26417         * doc/glibc-functions/wcstoul_l.texi: Likewise.
26418         * doc/glibc-functions/wcstoull_l.texi: Likewise.
26419
26420 2009-11-24  Bruno Haible  <bruno@clisp.org>
26421
26422         duplocale: Fix logic bug.
26423         * lib/duplocale.c: Don't include <langinfo.h>.
26424         (_NL_LOCALE_NAME): Remove macro.
26425         (rpl_duplocale): Use setlocale instead of nl_langinfo.
26426         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
26427
26428 2009-11-23  Jim Meyering  <meyering@redhat.com>
26429
26430         test-update-copyright: don't hard-code /usr/bin/perl
26431         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
26432         perl to print the current year.  Gilles Espinasse reported that
26433         the replaced use of perl was hard-coded as /usr/bin/perl.
26434
26435 2009-11-23  Bruno Haible  <bruno@clisp.org>
26436
26437         duplocale: Add support for glibc 2.3.x.
26438         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
26439
26440 2009-11-22  Bruno Haible  <bruno@clisp.org>
26441
26442         vasnprintf: Tiny optimization.
26443         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
26444         MacOS X.
26445
26446 2009-11-22  Bruno Haible  <bruno@clisp.org>
26447
26448         Tests for module 'duplocale'.
26449         * modules/duplocale-tests: New file.
26450         * tests/test-duplocale.c: New file.
26451
26452         New module 'duplocale'.
26453         * m4/duplocale.m4: New file.
26454         * lib/locale.in.h (duplocale): New declaration.
26455         * lib/duplocale.c: New file.
26456         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
26457         gl_LOCALE_H_DEFAULTS): New macros.
26458         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
26459         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
26460         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
26461         REPLACE_DUPLOCALE.
26462         * modules/duplocale: New file.
26463         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
26464
26465 2009-11-22  Bruno Haible  <bruno@clisp.org>
26466
26467         * modules/locale-tests (configure.ac): Test for newlocale function.
26468         * tests/test-locale.c: When the system has extended locale functions,
26469         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
26470
26471         locale: Make locale_t available when possible.
26472         * lib/locale.in.h: Include <xlocale.h> when it exists.
26473         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
26474         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
26475         * modules/locale (Depends-on): Add extensions.
26476         (Makefile.am): Also substitute HAVE_XLOCALE_H.
26477         * doc/posix-headers/locale.texi: Document the problem with locale_t.
26478
26479 2009-11-22  Bruno Haible  <bruno@clisp.org>
26480
26481         Add comments.
26482         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
26483         invocation.
26484         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
26485         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
26486         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
26487
26488 2009-11-22  Bruno Haible  <bruno@clisp.org>
26489
26490         error: account for the possibility of freopen (stdout).
26491         * lib/error.c: Include <unistd.h>.
26492         (flush_stdout): New function, extracted from error and error_at_line.
26493         Determine stdout's fd dynamically.
26494         (error, error_at_line): Invoke flush_stdout.
26495         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
26496         * modules/error (Depends-on): Add unistd.
26497
26498 2009-11-22  Bruno Haible  <bruno@clisp.org>
26499
26500         diffseq: Add comment.
26501         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
26502
26503 2009-11-22  Jim Meyering  <meyering@redhat.com>
26504
26505         c-stack: avoid defining an unused static function
26506         * lib/c-stack.c (find_stack_direction): Do not define this function
26507         when it will not be used.
26508
26509         diffseq: avoid spurious gcc warnings
26510         * lib/diffseq.h (IF_LINT2): Define.
26511         (compareseq): Use it to initialize two members of "part".
26512         This avoids two used-uninitialized warnings.
26513
26514 2009-11-21  Jim Meyering  <meyering@redhat.com>
26515
26516         c-stack: avoid "ignoring return value of `write'" warning
26517         * lib/c-stack.c: Include "ignore-value.h".
26518         (die): Explicitly ignore each write return value.
26519         * modules/c-stack (Depends-on): Add ignore-value.
26520
26521 2009-11-21  Bruno Haible  <bruno@clisp.org>
26522
26523         diffseq: reduce scope of variable 'best'.
26524         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
26525         variable, earlier used for two different purposes.
26526
26527 2009-11-21  Jim Meyering  <meyering@redhat.com>
26528
26529         diffseq: remove useless assignment to "best"
26530         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
26531         assignment.  At that point "best" is already guaranteed to be zero.
26532
26533 2009-11-20  Eric Blake  <ebb9@byu.net>
26534
26535         build: mention ftp redirector in release announcements
26536         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
26537         values that used to come from cfg.mk; mention FTP redirect URL.
26538         * build-aux/announce-gen: Mention the mirror list.
26539         Suggested by Karl Berry.
26540
26541         nanosleep: improve port to mingw
26542         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
26543         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
26544         LIB_NANOSLEEP, but only when needed.
26545         * modules/select (Link): Document LIBSOCKET.
26546         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
26547         enough.
26548
26549         nanosleep: work around cygwin bug
26550         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
26551         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
26552         bug.
26553         (getnow): Delete, not needed.
26554         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
26555         LIB_CLOCK_GETTIME.
26556         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
26557         clock-time, gettime.
26558         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
26559         bug.
26560         * modules/nanosleep-tests: New test.
26561         * tests/test-nanosleep.c: New file.
26562
26563         sleep: work around cygwin bug
26564         * lib/sleep.c (rpl_sleep): Work around the bug.
26565         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
26566         (gl_PREREQ_SLEEP): Delete unused macro.
26567         * modules/sleep (Depends-on): Add verify.
26568         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
26569         * modules/unistd (Makefile.am): Substitute witness.
26570         * lib/unistd.in.h (sleep): Update prototype.
26571         * doc/posix-functions/sleep.texi (sleep): Document the bug.
26572         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
26573         * modules/sleep-tests (Depends-on): Check for alarm.
26574
26575 2009-11-20  Jim Meyering  <meyering@redhat.com>
26576
26577         maint.mk: improve sc_prohibit_magic_number_exit
26578         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
26579         so it does not match uses like System.exit(1).
26580         Add comments showing how to correct all offenders.
26581
26582 2009-11-19  Eric Blake  <ebb9@byu.net>
26583
26584         xalloc-die-tests: add missing library
26585         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
26586
26587         test-xvasprintf: silence compiler warnings
26588         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
26589         empty string from gcc.
26590
26591 2009-11-19  Jim Meyering  <meyering@redhat.com>
26592
26593         xfreopen: new module, from coreutils
26594         * modules/xfreopen: New module.
26595         * lib/xfreopen.c: New file.
26596         * lib/xfreopen.h: New file.
26597         * MODULES.html.sh (File stream based Input/Output"): Add it.
26598
26599 2009-11-19  Eric Blake  <ebb9@byu.net>
26600
26601         manywarnings: depend on warnings
26602         * modules/manywarnings (Depends-on): Add warnings.
26603
26604         build: avoid compiler warnings
26605         * lib/select.c (rpl_select): Delete unused variable.
26606         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
26607
26608 2009-11-18  Eric Blake  <ebb9@byu.net>
26609
26610         tests: avoid false negative with --with-packager
26611         * tests/test-version-etc.sh: Discard packager information.
26612         * tests/test-argp-version-etc-1.sh: Likewise.
26613         Reported by Mike Frysinger.
26614
26615         utimens: fix regression on Solaris
26616         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
26617         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
26618         can only change fd timestamps via futimesat.  Instead, use an
26619         additional witness macro to avoid BSD bug.
26620         Reported by Jim Meyering.
26621
26622 2009-11-17  Eric Blake  <ebb9@byu.net>
26623
26624         usleep: use it to simplify tests
26625         * modules/stat-time-tests (Depends-on): Add usleep.
26626         (configure.ac): Drop usleep check.
26627         * modules/chown-tests (Depends-on, configure.ac): Likewise.
26628         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
26629         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
26630         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
26631         * modules/openat-tests (Depends-on, configure.ac): Likewise.
26632         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
26633         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
26634         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
26635         Likewise.
26636         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
26637         * tests/test-lchown.h (nap): Likewise.
26638         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
26639         * tests/test-stat-time.c (nap): Likewise.
26640         * tests/test-utimens-common.h (nap): Update comments.
26641
26642         usleep: new module
26643         * modules/usleep: New file.
26644         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
26645         * lib/usleep.c (usleep): Likewise.
26646         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
26647         * modules/unistd (Makefile.am): Substitute witnesses.
26648         * lib/unistd.in.h (usleep): Add declaration.
26649         * doc/pastposix-functions/usleep.texi (usleep): Document this.
26650         * MODULES.html.sh (Date and time): Likewise.
26651         * modules/usleep-tests (Depends-on): New test.
26652         * tests/test-usleep.c: New file.
26653
26654         chown: work around OpenBSD bug
26655         * lib/chown.c (rpl_chown): Work around the bug.
26656         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
26657         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
26658         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
26659         * modules/chown (Depends-on): Add stdbool.
26660         * modules/lchown (Depends-on): Likewise.
26661         * doc/posix-functions/chown.texi (chown): Document the bug.
26662         * doc/posix-functions/lchown.texi (lchown): Likewise.
26663         * tests/test-lchown.h (test_chown): Relax test.
26664
26665         mkstemp: avoid conflict with C++ keyword template
26666         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
26667         * lib/mkostemp.c (mkostemp): Likewise.
26668         * lib/mkostemps.c (mkostemps): Likewise.
26669         * lib/mkstemp.c (mkstemp): Likewise.
26670         * lib/mkstemps.c (mkstemps): Likewise.
26671
26672         xalloc-die-tests: optimize
26673         * tests/test-xalloc-die.sh: Reduce number of processes.
26674
26675 2009-11-17  Simon Josefsson  <simon@josefsson.org>
26676
26677         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
26678         patch from ludo@gnu.org (Ludovic Courtès).
26679
26680 2009-11-17  Jim Meyering  <meyering@redhat.com>
26681
26682         version-etc: use proper license string
26683         * modules/version-etc (License): Use LGPL, not LGPLv3+.
26684         * modules/version-etc-fsf: Likewise.
26685
26686 2009-11-17  Simon Josefsson  <simon@josefsson.org>
26687
26688         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
26689         printed to stdout.  Deal with EOL differences.
26690
26691 2009-11-17  Eric Blake  <ebb9@byu.net>
26692
26693         unsetenv: work around Solaris bug
26694         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
26695         * lib/unsetenv.c (rpl_unsetenv): Work around it.
26696         Reported by Jim Meyering.
26697
26698         vasnprintf: avoid compiler warnings
26699         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
26700         variables.
26701         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
26702
26703 2009-11-17  Simon Josefsson  <simon@josefsson.org>
26704
26705         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
26706         settings since xalloc-die is no longer the self test,
26707         xalloc-die.sh is.
26708
26709 2009-11-17  Jim Meyering  <meyering@redhat.com>
26710
26711         test-xalloc-die.sh: make the code agree with the commit log
26712         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
26713         at the end, just in case you happen to have a test-xalloc-die
26714         program in some other PATH directory.
26715
26716         test-xalloc-die.sh: fix a portability bug
26717         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
26718         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
26719         Otherwise, argv[0] (as often seen in diagnostics) would be too
26720         system-dependent, sometimes with, and sometimes without the leading "./".
26721
26722         version-etc-fsf: relax license to LGPLv3+
26723         * modules/version-etc-fsf (License): Relax license.
26724
26725 2009-11-16  Eric Blake  <ebb9@byu.net>
26726
26727         xalloc-die-tests: avoid printing null pointer
26728         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
26729         shell script.
26730         * tests/test-xalloc-die.c (program_name): Declare.
26731         * tests/test-xalloc-die.sh (tmpfiles): New file.
26732
26733         setenv, unsetenv: work around various bugs
26734         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
26735         (setenv) [HAVE_SETENV]: Work around bugs.
26736         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
26737         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
26738         for bugs.
26739         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
26740         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
26741         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
26742         * modules/stdlib (Makefile.am): Update substitutions.
26743         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
26744         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
26745         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
26746         * modules/setenv-tests: New test.
26747         * modules/unsetenv-tests: Likewise.
26748         * tests/test-setenv.c: New file.
26749         * tests/test-unsetenv.c: Likewise.
26750
26751 2009-11-16  Jim Meyering  <meyering@redhat.com>
26752
26753         version-etc: relax license to LGPLv3+
26754         * modules/version-etc (License): Relax license.
26755
26756         better AC_REQUIRE expanded-before-required-warning avoidance
26757         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
26758         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
26759         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
26760         which is no longer needed.
26761
26762 2009-11-16  Eric Blake  <ebb9@byu.net>
26763
26764         test-freading: clean up temporary file
26765         * tests/test-freading.c (main): Remove file on success, and use
26766         ASSERT more liberally.
26767         Reported by Jim Meyering.
26768
26769 2009-11-16  Jim Meyering  <meyering@redhat.com>
26770
26771         avoid new AC_REQUIRE expanded-before-required warnings
26772         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
26773         merely using it.
26774         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
26775         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
26776
26777 2009-11-15  Simon Josefsson  <simon@josefsson.org>
26778
26779         * tests/test-xalloc-die.c: New file.
26780         * modules/xalloc-die-tests: New file.
26781         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
26782         XFAIL_TESTS so it can be appended by modules.
26783
26784 2009-11-15  Simon Josefsson  <simon@josefsson.org>
26785
26786         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
26787         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
26788
26789 2009-11-14  Eric Blake  <ebb9@byu.net>
26790
26791         fnmatch: avoid compiler warning
26792         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
26793         to silence compiler warning about mismatch signedness in ?:.
26794         Reported by Robert Millan.
26795
26796         intprops: add double-inclusion guard
26797         * lib/intprops.h: Allow idempotent includes.
26798         Suggested by Bruce Korb.
26799
26800         openat: detect Solaris fchownat bug
26801         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
26802         penalizing glibc chownat when only lchownat is broken.
26803         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
26804         trailing slash bugs.
26805         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
26806         * modules/openat-tests (Files): Include more files.
26807         (Depends-on): Add mgetgroups, sleep, stat-time.
26808         (configure.ac): Add additional checks.
26809         (Makefile.am): Build new test.
26810         * tests/test-fchownat.c: New file.
26811
26812         lchown: detect Solaris and FreeBSD bug
26813         * lib/lchown.c (rpl_lchown): Work around bug.
26814         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
26815         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
26816         * modules/unistd (Makefile.am): Populate it.
26817         * lib/unistd.in.h (lchown): Update declaration.
26818         * doc/posix-functions/lchown.texi (lchown): Document the bug.
26819         * modules/lchown-tests: New file.
26820         * tests/test-lchown.h (test_lchown): Likewise.
26821         * tests/test-lchown.c (main): Likewise.
26822
26823         chown: detect Solaris and FreeBSD bug
26824         * lib/chown.c (rpl_chown): Work around bug.
26825         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
26826         (gl_PREREQ_CHOWN): Delete.
26827         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
26828         * modules/unistd (Makefile.am): Populate it.
26829         * lib/unistd.in.h (chown): Update declaration.
26830         * lib/lchown.c (chown): Update client.
26831         * modules/lchown (Depends-on): Add lstat.
26832         * doc/posix-functions/chown.texi (chown): Document the bug.
26833         * doc/posix-functions/getgroups.texi (getgroups): Document
26834         getgroups pitfall.
26835         * modules/chown-tests: New file.
26836         * tests/test-chown.h (test_chown): Likewise.
26837         * tests/test-chown.c (main): Likewise.
26838
26839 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
26840
26841         gnulib-tool: correctly detect absence of m4 directories
26842         * gnulib-tool: Avoid extra newline on data passed to wc -l.
26843
26844 2009-11-14  Jim Meyering  <meyering@redhat.com>
26845
26846         maint.mk: Prohibit inclusion of "xalloc.h" without use.
26847         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
26848
26849 2009-11-14  John W. Eaton  <jwe@gnu.org>
26850
26851         strftime.h: wrap funtion declaration in extern "C" block
26852         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
26853
26854 2009-11-13  Eric Blake  <ebb9@byu.net>
26855
26856         getgroups: avoid compiler warning
26857         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
26858
26859         getgroups: work around FreeBSD bug
26860         * lib/getgroups.c (rpl_getgroups): Work around the bug.
26861         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
26862         * doc/posix-functions/getgroups.texi (getgroups): Document it.
26863         * tests/test-getgroups.c (main): Fix buffer overrun.
26864
26865         getgroups: avoid compilation failure
26866         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
26867         * modules/getgroups (Depends-on): Add stdint.
26868
26869 2009-11-13  Jim Meyering  <meyering@redhat.com>
26870
26871         test-getgroups: avoid compilation failure
26872         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
26873
26874 2009-11-13  Eric Blake  <ebb9@byu.net>
26875
26876         mgetgroups: new module, taken from coreutils
26877         * modules/mgetgroups: New file.
26878         * lib/mgetgroups.h: Likewise.
26879         * lib/mgetgroups.c (mgetgroups): Likewise.
26880         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
26881         * MODULES.html.sh (Users and groups): Mention it.
26882
26883         getgroups: don't expose GETGROUPS_T to user
26884         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
26885         an element at a time if GETGROUPS_T is wrong size.
26886         * lib/getugroups.h (getugroups): Change signature.
26887         * lib/unistd.in.h (getgroups): Likewise.
26888         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
26889         signature needs fixing.
26890         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
26891         AC_TYPE_GETGROUPS.
26892         * modules/group-member (Depends-on): Add getgroups.
26893         * lib/group-member.c (group_info, get_group_info): Use gid_t.
26894         (group_member): Rely on getgroups replacement.
26895         * lib/getugroups.c (getugroups): Use gid_t.
26896         * tests/test-getgroups.c (main): Likewise.
26897         * NEWS: Mention the signature change.
26898         * doc/posix-functions/getgroups.texi (getgroups): Mention the
26899         problem with signature.
26900         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
26901         GETGROUPS_T is still useful for setgroups.
26902
26903         getgroups, getugroups: provide stubs for mingw
26904         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
26905         * lib/getugroups.c (getugroups): Likewise.
26906         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
26907         function.  Modernize replacement scheme.
26908         (gl_PREREQ_GETGROUPS): Delete.
26909         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
26910         * modules/getgroups (configure.ac): Declare witness.
26911         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
26912         * modules/unistd (Depends-on): Substitute witness.
26913         * lib/unistd.in.h (getgroups): Declare replacement.
26914
26915         getgroups: avoid calling exit
26916         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
26917         drop xalloc.
26918         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
26919         dependencies.
26920         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
26921         exiting, in the rare case of malloc failure.
26922
26923         getgroups: fix logic error
26924         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
26925         has more than 20 groups.
26926         * modules/getgroups-tests: New test.
26927         * tests/test-getgroups.c: New file.
26928
26929 2009-11-13  Simon Josefsson  <simon@josefsson.org>
26930
26931         * tests/test-base64.c: Improve.
26932
26933 2009-11-13  Simon Josefsson  <simon@josefsson.org>
26934
26935         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
26936         Blake <ebb9@byu.net>.
26937
26938 2009-11-13  Simon Josefsson  <simon@josefsson.org>
26939
26940         * tests/test-xvasprintf.c: Add %s%s related checks.
26941
26942 2009-11-12  Eric Blake  <ebb9@byu.net>
26943
26944         version-etc: match standards.texi style
26945         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
26946         and use <> only for URLs.
26947
26948 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
26949
26950         fts: do not fail on a submount during traversal
26951         * lib/fts.c (fts_build): Read the stat info again after opening
26952         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
26953         Original report at http://bugzilla.redhat.com/501848.
26954
26955 2009-11-12  Jim Meyering  <meyering@redhat.com>
26956
26957         bootstrap: sync from coreutils
26958         * build-aux/bootstrap (bootstrap_epilogue): New function.
26959         Use git_modules_config in one more place.  This make bootstrap's
26960         --gnulib-srcdir option more useful for testing.
26961
26962         bootstrap: generalize autoheader check
26963         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
26964         AC_CONFIG_HEADERS.
26965
26966 2009-11-11  Eric Blake  <ebb9@byu.net>
26967
26968         mkfifoat: use new modules for Solaris and BSD bugs
26969         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
26970         * lib/mkfifoat.c (mknodat): Split...
26971         * lib/mknodat.c (mknodat): ...into new file.
26972         * modules/mkfifoat (Files): Ship new file.
26973         (Depends-on): Add mkfifo, mknod.
26974         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
26975         (Depends-on): Add symlink.
26976         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
26977         redundant with test_mkfifo.h.
26978         (do_mkfifoat, do_mknodat): New helpers.
26979
26980         mknod: new module
26981         * modules/mknod: New file.
26982         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
26983         * lib/mknod.c (mknod): Likewise.
26984         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
26985         defaults.
26986         * modules/sys_stat (Makefile.am): Substitute them.
26987         * lib/sys_stat.in.h (mknod): Declare replacement.
26988         * MODULES.html.sh (Support for systems lacking POSIX:2008):
26989         Document it.
26990         * doc/posix-functions/mknod.texi (mknod): Likewise.
26991         * modules/mknod-tests: New test.
26992         * tests/test-mknod.c: Likewise.
26993
26994         mkfifo: new module
26995         * modules/mkfifo: New file.
26996         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
26997         * lib/mkfifo.c (mkfifo): Likewise.
26998         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
26999         defaults.
27000         * modules/sys_stat (Makefile.am): Substitute them.
27001         * lib/sys_stat.in.h (mkfifo): Declare replacement.
27002         * MODULES.html.sh (Support for systems lacking POSIX:2008):
27003         Document it.
27004         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
27005         * modules/mkfifo-tests: New test.
27006         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
27007         from test-mkfifoat.c.
27008         * tests/test-mkfifo.c: New file.
27009
27010         readlink: detect FreeBSD bug
27011         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
27012         slash on symlink.
27013         * doc/posix-functions/readlink.texi (readlink): Document the bug.
27014         * tests/test-readlink.h (test_readlink): Enhance test.
27015
27016         symlink: detect FreeBSD bug
27017         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
27018         slash on symlink.
27019         * doc/posix-functions/symlink.texi (symlink): Document the bug.
27020         * tests/test-symlink.h (test_symlink): Enhance test.
27021
27022 2009-11-10  Eric Blake  <ebb9@byu.net>
27023
27024         link: detect FreeBSD bug
27025         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
27026         symlink.
27027         * doc/posix-functions/link.texi (link): Document the bug.
27028         * tests/test-link.h (test_link): Enhance test.
27029         * tests/test-linkat.c (main): Update caller.
27030
27031         unlink, remove: detect FreeBSD bug
27032         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
27033         slash on symlink.
27034         * doc/posix-functions/unlink.texi (unlink): Document the bug.
27035         * doc/posix-functions/remove.texi (remove): Likewise.
27036         * tests/test-unlink.h (test_unlink): Enhance test.
27037         * tests/test-remove.c (main): Likewise.
27038
27039 2009-11-09  Eric Blake  <ebb9@byu.net>
27040
27041         rename: detect FreeBSD bug
27042         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
27043         slash on symlink.
27044         * modules/renameat-tests (Depends-on): Add filenamecat.
27045         * tests/test-rename.h (test_rename): Allow one more errno.
27046         * tests/test-renameat.c (main): Likewise.
27047         * doc/posix-functions/rename.texi (rename): Document the bug.
27048
27049         open: detect FreeBSD bug
27050         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
27051         symlink.
27052         * doc/posix-functions/open.texi (open): Document the bug.
27053         * doc/posix-functions/utimes.texi (utimes): Likewise.
27054         * tests/test-open.h (test_open): Add parameters, and test symlink
27055         handling.
27056         * tests/test-open.c (main): Adjust caller.
27057         * tests/test-fcntl-safer.c (main): Likewise.
27058         * modules/open-tests (Depends-on): Add stdbool, symlink.
27059         * modules/fcntl-safer-tests (Depends-on): Likewise.
27060         * tests/test-openat.c (main): Add test-open tests.
27061
27062         stat: detect FreeBSD bug
27063         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
27064         symlink.
27065         * doc/posix-functions/stat.texi (stat): Document the bug.
27066         * tests/test-stat.h (test_stat_func): Add argument.
27067         * tests/test-stat.c (main): Adjust caller.
27068         * tests/test-fstatat.c (main): Likewise.
27069         * modules/stat-tests (Depends-on): Add stdbool, symlink.
27070         Reported by Jim Meyering.
27071
27072 2009-11-09  James Youngman  <jay@gnu.org>
27073
27074         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
27075         * lib/strftime.c: Correct placement of #include "ignore-value.h".
27076
27077 2009-11-08  Jim Meyering  <meyering@redhat.com>
27078
27079         utimens: remove invalid futimesat call
27080         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
27081         It used the file descriptor of the target file as the DIR_FD
27082         parameter and NULL as the file name.  That caused failure with
27083         errno == EFAULT on FreeBSD-8.0-rc2
27084
27085 2009-11-07  Eric Blake  <ebb9@byu.net>
27086
27087         fflush, freadseek: use fseeko, not fseek
27088         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
27089         (clear_ungetc_buffer): Avoid potential problems on large files.
27090         * lib/freadseek.c (freadseek): Likewise.
27091         * modules/freadseek (Depends-on): Add fseeko.
27092         * modules/fseek (configure.ac): Set a witness.
27093         * tests/test-fflush.c (main): Use fseeko.
27094         * tests/test-fpurge.c (fseek): Disable link warning.
27095         * tests/test-freadable.c (fseek): Likewise.
27096         * tests/test-freading.c (fseek): Likewise.
27097         * tests/test-fseeko.c (fseek): Likewise.
27098         * tests/test-ftell.c (fseek): Likewise.
27099         * tests/test-ftello.c (fseek): Likewise.
27100         * tests/test-fwritable.c (fseek): Likewise.
27101         * tests/test-fwriting.c (fseek): Likewise.
27102
27103 2009-11-06  Simon Josefsson  <simon@josefsson.org>
27104
27105         * modules/memchr (Depends-on): Drop getpagesize dependency.
27106
27107 2009-11-06  Simon Josefsson  <simon@josefsson.org>
27108
27109         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
27110         Reported by Ludovic Courtès.
27111         * build-aux/pmccabe2html: Improve example usage.
27112         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
27113
27114 2009-11-06  Jim Meyering  <meyering@redhat.com>
27115
27116         do-release-commit-and-tag: New module.
27117         Automate the release-commit and tag process.
27118         * build-aux/do-release-commit-and-tag: New script, from coreutils.
27119         * modules/do-release-commit-and-tag: New file.
27120         * MODULES.html.sh (Support for maintaining and releasing): Add it.
27121
27122 2009-11-06  Simon Josefsson  <simon@josefsson.org>
27123
27124         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
27125         because test-select.c uses inet_pton.
27126
27127 2009-11-06  Simon Josefsson  <simon@josefsson.org>
27128
27129         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
27130         GETADDRINFO_LIB.  Bump serial number.
27131         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
27132         Suggested by Eric Blake <ebb9@byu.net>.
27133
27134 2009-11-05  Eric Blake  <ebb9@byu.net>
27135
27136         strtod: detect darwin bug
27137         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
27138         Reported by Leo Davis.
27139
27140         freopen-safer: new module
27141         * modules/freopen-safer: New module.
27142         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
27143         * lib/freopen-safer.c (freopen_safer): New file.
27144         * lib/stdio-safer.h (freopen_safer): New declaration.
27145         * lib/stdio--.h (freopen): New override.
27146         * MODULES.html.sh (File stream based Input/Output): Mention it.
27147         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
27148         freopen-safer module.
27149         * doc/posix-functions/stderr.texi (stderr): Likewise.
27150         * doc/posix-functions/stdin.texi (stdin): Likewise.
27151         * doc/posix-functions/stdout.texi (stdout): Likewise.
27152         * modules/freopen-safer-tests: New test.
27153         * tests/test-reopen-safer.c: New file.
27154
27155 2009-11-05  Jim Meyering  <meyering@redhat.com>
27156
27157         maint.mk: Prohibit inclusion of "close-stream.h" without use.
27158         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
27159
27160 2009-11-05  Simon Josefsson  <simon@josefsson.org>
27161
27162         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
27163
27164 2009-11-05  Simon Josefsson  <simon@josefsson.org>
27165
27166         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
27167
27168 2009-11-05  Simon Josefsson  <simon@josefsson.org>
27169
27170         Fix link error.
27171         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
27172         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
27173
27174 2009-11-05  Simon Josefsson  <simon@josefsson.org>
27175
27176         * tests/test-func.c: Also test value of __func__.
27177
27178 2009-11-05  Simon Josefsson  <simon@josefsson.org>
27179
27180         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
27181         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
27182
27183 2009-11-05  Bruno Haible  <bruno@clisp.org>
27184
27185         Fix link error.
27186         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
27187         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
27188         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
27189
27190 2009-11-05  Bruno Haible  <bruno@clisp.org>
27191
27192         Tests for module 'inet_pton'.
27193         * modules/inet_pton-tests: New file.
27194         * tests/test-inet_pton.c: New file.
27195
27196 2009-11-05  Bruno Haible  <bruno@clisp.org>
27197
27198         Tests for module 'inet_ntop'.
27199         * modules/inet_ntop-tests: New file.
27200         * tests/test-inet_ntop.c: New file.
27201
27202 2009-11-04  Eric Blake  <ebb9@byu.net>
27203
27204         stdlib-safer: wrap all mkstemp variants
27205         * modules/mkostemp (configure.ac): Set witness.
27206         * modules/mkostemps (configure.ac): Likewise.
27207         * modules/mkstemps (configure.ac): Likewise.
27208         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
27209         (mkstemps_safer): Wrap more functions.
27210         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
27211         wrapping.
27212         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
27213         (mkstemps_safer): Implement the wrappers.
27214
27215         mkstemps, mkostemps: new modules
27216         * modules/mkostemps: New module.
27217         * modules/mkstemps: Likewise.
27218         * lib/mkostemps.c (mkostemps): New file.
27219         * lib/mkstemps.c (mkstemps): Likewise.
27220         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
27221         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
27222         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
27223         * modules/stdlib (Makefile.am): Substitute them.
27224         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
27225         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
27226         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
27227         * doc/gnulib.texi (Glibc stdlib.h): Include them.
27228         * MODULES.html.sh (File system functions): Mention them.
27229
27230         tempname: resync from glibc
27231         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
27232         same values for __GT_FILE as glibc.  Abort even when assertions
27233         are disabled.
27234         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
27235         match its value otherwise.  Allow idempotent inclusion.
27236         * lib/mkdtemp.c (mkdtemp): Adjust caller.
27237         * lib/mkostemp.c (mkostemp): Likewise.
27238         * lib/mkstemp.c (mkstemp): Likewise.
27239         * lib/tmpfile.c (tmpfile): Likewise.
27240         * NEWS: Document this.
27241
27242         utimens: fix use of futimens on older Linux
27243         * lib/utimens.c (fdutimens): Use updated, rather than original,
27244         timespec to avoid bug in older Linux kernel.
27245         Reported by Simon Josefsson.
27246
27247 2009-11-04  Bruno Haible  <bruno@clisp.org>
27248
27249         Make num_processors more flexible and consistent.
27250         * lib/nproc.h (enum nproc_query): New type.
27251         (num_processors): Add a 'query' argument.
27252         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
27253         (num_processors): Add a 'query' argument. Test the value of the
27254         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
27255         mingw, count the number of CPUs available for the current process.
27256         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
27257         Check for sched_getaffinity and sched_getaffinity_np.
27258         * modules/nproc (Depends-on): Add c-ctype, extensions.
27259         * NEWS: Mention the change.
27260
27261 2009-11-03  Bruno Haible  <bruno@clisp.org>
27262
27263         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
27264
27265 2009-11-03  Jim Meyering  <meyering@redhat.com>
27266
27267         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
27268         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
27269         if it is defined.
27270
27271 2009-11-02  Eric Blake  <ebb9@byu.net>
27272
27273         mktime, timegm: share common declaration
27274         * lib/mktime-internal.h: New file.
27275         * lib/mktime.c: Use it rather than open-coding a declaration.
27276         * lib/timegm.c: Likewise.
27277         * modules/mktime (Files): Ship it.
27278         * modules/timegm (Files): Likewise.
27279         Suggested by Bruno Haible.
27280
27281         test-update-copyright: update test to match script changes
27282         * tests/test-update-copyright.sh: Avoid hard-coding perl
27283         location.  Don't update *.bak created by earlier runs.
27284
27285 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
27286             Simon Josefsson  <simon@josefsson.org>
27287             Bruno Haible  <bruno@clisp.org>
27288
27289         Fix link error on Solaris 8.
27290         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
27291         also in libnsl. Define also INET_PTON_LIB.
27292         * modules/inet_pton (Link): New section.
27293
27294 2009-11-02  Simon Josefsson  <simon@josefsson.org>
27295             Bruno Haible  <bruno@clisp.org>
27296
27297         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
27298         * modules/inet_ntop (Link): New section.
27299         Reported by Boyan Kasarov <bkasarov@gmail.com>.
27300
27301 2009-11-02  Eric Blake  <ebb9@byu.net>
27302
27303         maint: avoid compiler warnings in m4 macros
27304         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
27305         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
27306
27307 2009-11-02  Simon Josefsson  <simon@josefsson.org>
27308
27309         * m4/pmccabe2html.m4: Remove file.
27310         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
27311         function.  Change maintainer.
27312         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
27313         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
27314         Courtès).
27315
27316 2009-10-31  Eric Blake  <ebb9@byu.net>
27317
27318         fseeko: fix m4 regression
27319         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
27320         regression from 2009-10-27.
27321         Reported by Ralf Wildenhues.
27322
27323 2009-10-31  Jim Meyering  <meyering@redhat.com>
27324
27325         inttostr: aesthetics and improved (compile-time) safety
27326         Define inttype_is_signed rather than inttype_is_unsigned,
27327         since the sole use is via "#if inttype_is_signed".
27328         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
27329         inttype_is_unsigned.
27330         * lib/offtostr.c (inttype_is_signed): Likewise.
27331         * lib/uinttostr.c (inttype_is_signed): Likewise.
27332         * lib/umaxtostr.c (inttype_is_signed): Likewise.
27333         * lib/inttostr.c (inttostr): Use verify to cross-check the
27334         inttype_is_signed value and the signedness of the actual type.
27335         * modules/inttostr (Depends-on): Add verify.
27336
27337 2009-10-30  Eric Blake  <ebb9@byu.net>
27338
27339         build: avoid compiler warnings
27340         * lib/fchmodat.c (lchmod): Mark unused variables.
27341         * lib/getopt.c (_getopt_initialize): Likewise.
27342         * lib/mktime.c (__mktime_internal): Provide prototype.
27343         * lib/inttostr.c (inttostr): Avoid compiler warning even with
27344         older gcc that do not understand #pragma GCC diagnostic.
27345         * lib/uinttostr.c (inttype_is_unsigned): Define.
27346         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
27347
27348 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
27349
27350         stat: fix compilation on AIX
27351         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
27352         only see struct stat64.
27353
27354 2009-10-30  Eric Blake  <ebb9@byu.net>
27355
27356         exclude: make more robust
27357         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
27358         rather than masking a coding bug.
27359         Suggested by Bruno Haible.
27360
27361 2009-10-30  Jim Meyering  <meyering@redhat.com>
27362
27363         perl scripts: remove #!/usr/bin/perl in favor of more portable...
27364         Rather than putting #!/usr/bin/perl on the first line,
27365         start with a variant of what's recommended by "man perlrun" that
27366         invokes the first "perl" program from your shell's search path.
27367         * build-aux/gitlog-to-changelog: Replace #!... as above.
27368         Add a "Local Variables" perl mode setting.
27369         Prompted by a patch from Ludovic Courtès.
27370         Improved by Eric Blake.
27371         * build-aux/useless-if-before-free: Likewise.
27372         * build-aux/announce-gen: Likewise.
27373         * build-aux/update-copyright: Likewise.
27374
27375 2009-10-29  Eric Blake  <ebb9@byu.net>
27376
27377         filenamecat-lgpl: adjust clients
27378         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
27379         filenamecat.
27380         * modules/renameat (Depends-on): Likewise.
27381
27382         filenamecat: split into filenamecat-lgpl
27383         * modules/filenamecat-lgpl: New module.
27384         * modules/filenamecat (Files): Move library-safe files into
27385         filenamecat-lgpl.
27386         (Depends-on): Add filenamecat-lgpl.
27387         (configure.ac): Declare witness.
27388         * lib/filenamecat.h (file_name_concat): Only declare when using
27389         GPL module.
27390         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
27391         Move...
27392         * lib/filenamecat-lgpl.c: ...into new file.
27393         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
27394         (gl_FILE_NAME_CONCAT): Use it.
27395         * MODULES.html.sh (File system functions): Mention new module.
27396
27397         argp: avoid memory leak
27398         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
27399         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
27400         base_name, since the latter malloc()s and can call exit().
27401         Leak introduced 2006-07-03.
27402
27403         dirname-lgpl: adjust clients that don't need full dirname
27404         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
27405         * modules/filenamecat (Depends-on): Likewise.
27406         * modules/linkat (Depends-on): Likewise.
27407         * modules/mkancesdirs (Depends-on): Likewise.
27408         * modules/mkdir (Depends-on): Likewise.
27409         * modules/openat (Depends-on): Likewise.
27410         * modules/savewd (Depends-on): Likewise.
27411         * modules/rename (Depends-on): Likewise.
27412         (License): Relax license.
27413         * modules/mkdir-tests (Depends-on): Drop progname.
27414         (Makefile.am): Delete unneeded LDADD.
27415         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
27416
27417         dirname: split into dirname-lgpl
27418         * modules/dirname-lgpl: New module.
27419         * modules/dirname (Files): Move library-safe files into
27420         dirname-lgpl.
27421         (Depends-on): Add dirname-lgpl.
27422         (configure.ac): Declare witness.
27423         * modules/double-slash-root (License): Relax license.
27424         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
27425         module.
27426         * lib/dirname.c (dir_len, mdir_name): Move...
27427         * lib/dirname-lgpl.c: ...into new file.
27428         * lib/basename.c (last_component, base_len): Move...
27429         * lib/basename-lgpl.c: ...into new file.
27430         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
27431         (gl_DIRNAME): Use it.
27432         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
27433         Mention new module.
27434         * modules/dirname-tests (Depends-on): Add progname.
27435         * tests/test-dirname.c (program_name): Delete.
27436
27437         mkdir: make safe for libraries
27438         * modules/mkdir (Depends-on): Drop xalloc.
27439         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
27440         exit.
27441
27442         tests: avoid some compiler warnings
27443         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
27444         literals.
27445         * tests/test-memchr.c (main): Avoid type mismatch.
27446         * tests/test-arpa_inet.c (main): Avoid unused parameters.
27447         * tests/test-base64.c (main): Likewise.
27448         * tests/test-getdelim.c (main): Likewise.
27449         * tests/test-gethostname.c (main): Likewise.
27450         * tests/test-getline.c (main): Likewise.
27451         * tests/test-netinet_in.c (main): Likewise.
27452         * tests/test-select.c (open_server_socket, main): Likewise.
27453         * tests/test-select-stdin.c (main): Likewise.
27454         * tests/test-sockets.c (main): Likewise.
27455         * tests/test-strsignal.c (main): Likewise.
27456         * tests/test-sys_select.c (main): Likewise.
27457         * tests/test-sys_socket.c (main): Likewise.
27458         * tests/test-u64.c (main): Likewise.
27459         * tests/test-xfprintf-posix.c (main): Likewise.
27460         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
27461
27462         sockets: avoid compiler warning
27463         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
27464
27465         maint: detect usage(1) and other suspicious exits
27466         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
27467
27468 2009-10-29  Jim Meyering  <meyering@redhat.com>
27469
27470         timespec: long-to-int truncation could make timespec_cmp malfunction
27471         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
27472         a multiple of 2^32 nanoseconds as no difference.
27473
27474 2009-10-28  Jim Meyering  <meyering@redhat.com>
27475
27476         fprintftime: wrap macro code argument in "do {...} while(0)"
27477         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
27478         cpy macro must be a statement that can be followed by a semicolon.
27479         Now that the else clause contains a comment and is hence longer
27480         than one line, I require curly braces.  That in turn requires
27481         that we wrap this code block in the standard do...while(0).
27482
27483         fprintftime: remove stray semicolon from previous change
27484         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
27485
27486         fprintftime: avoid a warning about ignored fwrite return value
27487         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
27488         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
27489         that is unsafe.
27490         * modules/fprintftime (Depends-on): Add ignore-value.
27491
27492         exclude: avoid an unwarranted warning
27493         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
27494
27495 2009-10-27  Eric Blake  <ebb9@byu.net>
27496
27497         fseek: avoid compilation failure when fflush is replaced
27498         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
27499         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
27500         module is in use.
27501         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
27502         module is not in use; since REPLACE_FSEEK worked otherwise.
27503         (GNULIB_FTELLO): Likewise for ftell.
27504         Reported by Ian Beckwith and others.
27505
27506 2009-10-27  Bruno Haible  <bruno@clisp.org>
27507
27508         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
27509         Reported by Jim Meyering.
27510
27511 2009-10-27  Jim Meyering  <jim@meyering.net>
27512             Bruno Haible  <bruno@clisp.org>
27513
27514         Avoid warning despite dropping the return value of fwrite.
27515         * lib/unicodeio.c: Include ignore-value.h.
27516         (fwrite_success_callback): Explicitly ignore fwrite's return value.
27517         * modules/unicodeio (Depends-on): Add ignore-value.
27518
27519 2009-10-26  Eric Blake  <ebb9@byu.net>
27520
27521         areadlinkat: fix fallback path
27522         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
27523         pointer and zero.
27524
27525 2009-10-22  Pádraig Brady  <P@draigBrady.com>
27526
27527         Use a better IO block size for modern systems
27528         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
27529         * lib/md2.c: Likewise.
27530         * lib/md4.c: Likewise.
27531         * lib/md5.c: Likewise.
27532         * lib/sha1.c: Likewise.
27533         * lib/sha256.c: Likewise.
27534         * lib/sha512.c: Likewise.
27535
27536 2009-10-22  Eric Blake  <ebb9@byu.net>
27537
27538         tests: avoid several compiler warnings
27539         * tests/test-getcwd.c (main): Avoid buffer underflow.
27540         * tests/test-getdate.c (main): String literals are not safe with
27541         putenv, so use setenv.  Declare unused argument.
27542         * modules/getdate-tests (Depends-on): Add setenv.
27543         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
27544         problems with string literals in char *.
27545         * tests/test-hash.c (main): Avoid shadowing declaration.
27546         (insert_new): Treat string literals as char const *.
27547         * tests/test-getopt.h (test_getopt): Likewise.
27548         (getopt_loop): Alter types to minimize casting elsewhere.
27549         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
27550         (test_getopt_long_posix): Likewise.
27551         (do_getopt_long): Add wrapper to minimize casting.
27552         * tests/test-atexit.c (clear_temp_file): Use void.
27553         * tests/test-areadlink-with-size.c (main): Declare unused
27554         arguments.
27555         * tests/test-areadlink.c (main): Likewise.
27556         * tests/test-areadlinkat-with-size.c (main): Likewise.
27557         * tests/test-areadlinkat.c (main): Likewise.
27558         * tests/test-canonicalize-lgpl.c (main): Likewise.
27559         * tests/test-canonicalize.c (main): Likewise.
27560         * tests/test-dirent-safer.c (main): Likewise.
27561         * tests/test-dirname.c (main): Likewise.
27562         * tests/test-dup2.c (main): Likewise.
27563         * tests/test-fchdir.c (main): Likewise.
27564         * tests/test-fcntl-h.c (main): Likewise.
27565         * tests/test-fcntl-safer.c (main): Likewise.
27566         * tests/test-fdopendir.c (main): Likewise.
27567         * tests/test-fdutimensat.c (main): Likewise.
27568         * tests/test-fflush.c (main): Likewise.
27569         * tests/test-filenamecat.c (main): Likewise.
27570         * tests/test-filevercmp.c (main): Likewise.
27571         * tests/test-fopen-safer.c (main): Likewise.
27572         * tests/test-fopen.c (main): Likewise.
27573         * tests/test-fpending.c (main): Likewise.
27574         * tests/test-fpurge.c (main): Likewise.
27575         * tests/test-freading.c (main): Likewise.
27576         * tests/test-fstatat.c (main): Likewise.
27577         * tests/test-fsync.c (main): Likewise.
27578         * tests/test-futimens.c (main): Likewise.
27579         * tests/test-getndelim2.c (main): Likewise.
27580         * tests/test-gettimeofday.c (main): Likewise.
27581         * tests/test-getopt.c (main): Likewise.
27582         * tests/test-i-ring.c (main): Likewise.
27583         * tests/test-inttypes.c (main): Likewise.
27584         * tests/test-link.c (main): Likewise.
27585         * tests/test-lstat.c (main): Likewise.
27586         * tests/test-math.c (main): Likewise.
27587         * tests/test-md5.c (main): Likewise.
27588         * tests/test-memchr2.c (main): Likewise.
27589         * tests/test-memrchr.c (main): Likewise.
27590         * tests/test-mkdir.c (main): Likewise.
27591         * tests/test-mkdirat.c (main): Likewise.
27592         * tests/test-mkfifoat.c (main): Likewise.
27593         * tests/test-open.c (main): Likewise.
27594         * tests/test-openat-safer.c (main): Likewise.
27595         * tests/test-openat.c (main): Likewise.
27596         * tests/test-quotearg.c (main): Likewise.
27597         * tests/test-rawmemchr.c (main): Likewise.
27598         * tests/test-readlink.c (main): Likewise.
27599         * tests/test-remove.c (main): Likewise.
27600         * tests/test-rename.c (main): Likewise.
27601         * tests/test-renameat.c (main): Likewise.
27602         * tests/test-rmdir.c (main): Likewise.
27603         * tests/test-sha1.c (main): Likewise.
27604         * tests/test-signal.c (main): Likewise.
27605         * tests/test-sigaction.c (main): Likewise.
27606         * tests/test-stat.c (main): Likewise.
27607         * tests/test-stat-time.c (main): Likewise.
27608         * tests/test-stddef.c (main): Likewise.
27609         * tests/test-stdint.c (main): Likewise.
27610         * tests/test-stdio.c (main): Likewise.
27611         * tests/test-stdlib.c (main): Likewise.
27612         * tests/test-strchrnul.c (main): Likewise.
27613         * tests/test-strerror.c (main): Likewise.
27614         * tests/test-string.c (main): Likewise.
27615         * tests/test-strtod.c (main): Likewise.
27616         * tests/test-strverscmp.c (main): Likewise.
27617         * tests/test-symlink.c (main): Likewise.
27618         * tests/test-symlinkat.c (main): Likewise.
27619         * tests/test-sys_stat.c (main): Likewise.
27620         * tests/test-sys_time.c (main): Likewise.
27621         * tests/test-time.c (main): Likewise.
27622         * tests/test-unistd.c (main): Likewise.
27623         * tests/test-unlink.c (main): Likewise.
27624         * tests/test-unlinkat.c (main): Likewise.
27625         * tests/test-utimens.c (main): Likewise.
27626         * tests/test-utimensat.c (main): Likewise.
27627         * tests/test-version-etc.c (main): Likewise.
27628         * tests/test-wchar.c (main): Likewise.
27629         * tests/test-wctype.c (main): Likewise.
27630         * tests/test-xprintf-posix.c (main): Likewise.
27631         * tests/test-posixtm.c (main): Likewise.
27632         (STREQ): Delete unused macro.
27633         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
27634         shadowed variables.
27635         * tests/test-memchr.c (main): Likewise.
27636
27637 2009-10-21  Eric Blake  <ebb9@byu.net>
27638
27639         areadlinkat: avoid failure on older glibc
27640         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
27641         rather than mis-comparing 0 against FUNC_RESULT of char*.
27642
27643 2009-10-21  Bruno Haible  <bruno@clisp.org>
27644
27645         * modules/stpncpy (License): Relicense under LGPLv2+.
27646         Reported by David Lutterkort <lutter@redhat.com>.
27647
27648 2009-10-20  Eric Blake  <ebb9@byu.net>
27649
27650         utimensat: work around Solaris 9 bug
27651         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
27652         has trailing slash bugs.
27653         * tests/test-lutimens.h (test_lutimens): Enhance test.
27654         * tests/test-utimens.h (test_utimens): Likewise.
27655         * doc/posix-functions/utime.texi (utime): Enhance documentation.
27656         * doc/posix-functions/utimes.texi (utimes): Likewise.
27657         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
27658         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
27659         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
27660         * doc/posix-functions/futimens.texi (futimens): Likewise.
27661
27662         fdutimensat: new module
27663         * modules/fdutimensat: New file.
27664         * lib/fdutimensat.c (fdutimensat): Likewise.
27665         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
27666         * MODULES.html.sh (File system functions): Mention module.
27667         * modules/fdutimensat-tests: New test.
27668         * tests/test-fdutimensat.c: Likewise.
27669
27670         doc: regenerate INSTALL
27671         * doc/INSTALL: Reflect recent autoconf update.
27672         * doc/INSTALL.ISO: Likewise.
27673         * doc/INSTALL.UTF-8: Likewise.
27674
27675 2009-10-20  Pádraig Brady  <P@draigBrady.com>
27676
27677         acl: warn if ACL support is not detected
27678         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
27679
27680 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
27681
27682         * lib/nproc.h: Add extern "C" block for C++.
27683
27684 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
27685             Bruno Haible  <bruno@clisp.org>
27686
27687         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
27688         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
27689         * doc/posix-functions/isalpha.texi: Likewise.
27690         * doc/posix-functions/isblank.texi: Likewise.
27691         * doc/posix-functions/iscntrl.texi: Likewise.
27692         * doc/posix-functions/isdigit.texi: Likewise.
27693         * doc/posix-functions/isgraph.texi: Likewise.
27694         * doc/posix-functions/islower.texi: Likewise.
27695         * doc/posix-functions/isprint.texi: Likewise.
27696         * doc/posix-functions/ispunct.texi: Likewise.
27697         * doc/posix-functions/isspace.texi: Likewise.
27698         * doc/posix-functions/isupper.texi: Likewise.
27699         * doc/posix-functions/isxdigit.texi: Likewise.
27700
27701 2009-10-18  Bruno Haible  <bruno@clisp.org>
27702
27703         Tests for module 'isblank'.
27704         * modules/isblank-tests: New file.
27705         * tests/test-isblank.c: New file.
27706
27707         New module 'isblank'.
27708         * lib/isblank.c: New file.
27709         * m4/isblank.m4: New file.
27710         * modules/isblank: New file.
27711         * doc/posix-functions/isblank.texi: Mention the new module.
27712
27713 2009-10-18  Bruno Haible  <bruno@clisp.org>
27714
27715         New module 'ctype'.
27716         * lib/ctype.in.h: New file.
27717         * m4/ctype.m4: New file.
27718         * modules/ctype: New file.
27719         * doc/posix-headers/ctype.texi: Mention the new module.
27720
27721 2009-10-18  Jim Meyering  <meyering@redhat.com>
27722
27723         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
27724         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
27725         right after its initialization, rather than farther down.
27726         Keeping these in close proximity makes it easier to ensure
27727         that each such variable is initialized.  E.g.,
27728
27729             LIB_CLOCK_GETTIME=
27730             AC_SUBST([LIB_CLOCK_GETTIME])
27731
27732         This change also increments these serial numbers.
27733         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
27734         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
27735         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
27736
27737 2009-10-18  Bruno Haible  <bruno@clisp.org>
27738
27739         Don't let environment variables perturb build.
27740         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
27741         (gl_PREREQ_GETHRXTIME): ... not here.
27742
27743 2009-10-18  Bruno Haible  <bruno@clisp.org>
27744
27745         Avoid symlink attack in localcharset module.
27746         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
27747         (O_NOFOLLOW): Define fallback.
27748         (get_charset_aliases): Don't open the file if it is a symbolic link.
27749         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
27750         gl_FCNTL_H.
27751         (gl_FCNTL_H): Require it.
27752         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
27753         * modules/localcharset (Files): Add m4/fcntl_h.m4.
27754         Reported by Fergal Glynn <fglynn@veracode.com>.
27755
27756 2009-10-18  Bruno Haible  <bruno@clisp.org>
27757
27758         Implement nproc for mingw.
27759         * lib/nproc.c: Include <windows.h>
27760         (num_processors): On native Windows platforms, try GetSystemInfo.
27761
27762 2009-10-18  Bruno Haible  <bruno@clisp.org>
27763
27764         Implement nproc for IRIX.
27765         * lib/nproc.c: Include <sys/sysmp.h>.
27766         (num_processors): On IRIX systems, try sysmp.
27767         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
27768
27769 2009-10-18  Bruno Haible  <bruno@clisp.org>
27770
27771         Implement nproc for HP-UX.
27772         * lib/nproc.c: Include <sys/pstat.h>
27773         (num_processors): On HP-UX systems, try pstat_getdynamic.
27774         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
27775         pstat_getdynamic.
27776
27777 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
27778             Bruno Haible  <bruno@clisp.org>
27779
27780         Implement nproc for NetBSD, OpenBSD.
27781         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
27782         (ARRAY_SIZE): New macro.
27783         (num_processors): On BSD systems, try sysctl of HW_NCPU.
27784         * m4/nproc.m4: New file.
27785         * modules/nproc (Files): Add m4/nproc.m4.
27786         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
27787         (Makefile.am): Instead, augment lib_SOURCES.
27788
27789 2009-10-18  Bruno Haible  <bruno@clisp.org>
27790
27791         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
27792         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
27793         sys/param.h.
27794
27795 2009-10-16  Eric Blake  <ebb9@byu.net>
27796
27797         utimensat: new module
27798         * modules/utimensat: New file.
27799         * lib/utimensat.c (utimensat): Likewise.
27800         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
27801         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
27802         so we can work around Linux bugs.
27803         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
27804         * modules/sys_stat (Makefile.am): Substitute them.
27805         * lib/sys_stat.in.h (utimensat): Declare it.
27806         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
27807         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
27808         * modules/utimensat-tests: New test.
27809         * tests/test-utimensat.c: Likewise.
27810
27811         utimens: let lutimens work on non-symlinks
27812         * lib/utimens.c (lutimens): Fall back to utimens rather than
27813         failing with ENOSYS, when file is not a symlink.
27814         (utimens): Reduce redirection.
27815         * tests/test-lutimens.h (test_lutimens): Update test to cover
27816         non-symlinks.
27817         * tests/test-utimens.h (test_utimens): Update test to cover
27818         symlinks.
27819         * tests/test-utimens.c (main): Update caller.
27820
27821         utimens: cache whether utimensat syscall works
27822         * lib/utimens.c (utimensat_works_really): New cache variable.
27823         (fdutimens, lutimens): Use it to avoid failing syscall.
27824
27825         test-stat-time, test-utimens: improve portability
27826         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
27827         ext4 on alpha, and for cygwin.
27828         * tests/test-utimens-common.h: New file.
27829         (nap): Factor delays into single function.
27830         * tests/test-lutimens.h (test_lutimens): Use new header.
27831         * tests/test-futimens.h (test_futimens): Likewise.
27832         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
27833         timestamps to occur from same machine, as was done previously for
27834         test_utimens.
27835         * modules/utimens-tests (Files): Ship new file.
27836         * modules/futimens-tests (Files): Likewise.
27837         Reported in part by Jim Meyering.
27838
27839         sys_stat: sort replacement declarations
27840         * lib/sys_stat.in.h: Sort declarations.
27841         * lib/futimens.c (futimens): Fix typo.
27842
27843 2009-10-15  Jim Meyering  <meyering@redhat.com>
27844
27845         don't let environment settings perturb build
27846         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
27847         could cause a configure-time and/or build-time malfunction.
27848         Typically, a configure-time function-in-library test is performed
27849         via code like this:
27850
27851           LIB_VAR=
27852           AC_SUBST([LIB_VAR])
27853           prefix_saved_LIBS=$LIBS
27854             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
27855                        [test "$ac_cv_search_FUNC" = "none required" ||
27856                         LIB_VAR=$ac_cv_search_FUNC])
27857           LIBS=$prefix_saved_LIBS
27858
27859         However, in each of the files affected by this change, the LIB_VAR=
27860         initialization was omitted.  Thus, when set in the environment, its
27861         value would propagate into generated Makefiles when FUNC is not found
27862         in LIB_NAME.
27863         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
27864         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
27865         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
27866
27867 2009-10-14  Eric Blake  <ebb9@byu.net>
27868
27869         fchdir: avoid infinite recursion in mingw
27870         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
27871         recursing.
27872
27873         test-stat-time: port to mingw
27874         * tests/test-stat-time.c (force_unlink): Return a value.
27875         (test_ctime) [W32]: Fix compilation error.
27876         (nap): Don't call usleep with too large an argument.  Use
27877         force_unlink.
27878         * doc/pastposix-functions/usleep.texi (usleep): Document the
27879         portability issue.
27880
27881 2009-10-13  Jim Meyering  <meyering@redhat.com>
27882
27883         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
27884         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
27885         * modules/pipe-filter-ii: Likewise.
27886         * modules/sys_socket-tests: Likewise.
27887         * modules/tsearch-tests: Likewise.
27888         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
27889         (check): Depend on it.
27890
27891 2009-10-12  Eric Blake  <ebb9@byu.net>
27892
27893         utimens-tests: port to NFS file systems
27894         * tests/test-utimens.h (test_utimens): Refactor utimecmp
27895         comparisons to avoid spurious failures from timestamp drift
27896         between NFS machines.
27897
27898 2009-10-12  Eric Blake  <ebb9@byu.net>
27899
27900         stat-time-tests: minor cleanups
27901         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
27902         * tests/test-stat-time.c (nap): Separate assignment from call.
27903         Suggested by Paolo Bonzini and Bruno Haible.
27904
27905         sys_stat: guarantee struct timespec
27906         * lib/sys_stat.in.h (includes): Always include <time.h>
27907         * modules/sys_stat (Depends-on): Add time.
27908         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
27909         mode_t permission values.
27910         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
27911         get at subsecond timestamps.
27912
27913 2009-10-10  Eric Blake  <ebb9@byu.net>
27914
27915         futimens: new module
27916         * modules/futimens: New file.
27917         * lib/futimens.c (futimens): Likewise.
27918         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
27919         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
27920         we can work around Linux bugs.
27921         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
27922         * modules/sys_stat (Makefile.am): Substitute them.
27923         * lib/sys_stat.in.h (futimens): Declare it.
27924         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
27925         * doc/posix-functions/futimens.texi (futimens): Likewise.
27926         * modules/futimens-tests: New test.
27927         * tests/test-futimens.c: Likewise.
27928
27929         utimens: introduce fdutimens
27930         * lib/utimens.h (fdutimens): New prototype.
27931         * lib/utimens.c (gl_futimens): Move guts...
27932         (fdutimens): ...to new interface.
27933         * tests/test-utimens.c (do_fdutimens): Use it.
27934
27935         utimens: add UTIME_NOW and UTIME_OMIT support
27936         * lib/utimens.c (validate_timespec, update_timespec): New helper
27937         functions.
27938         (gl_futimens, lutimens): Use them.
27939         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
27940         stdbool, sys_stat.
27941         (Link): Mention resulting library dependency.
27942         * modules/utimecmp (Link): Likewise.
27943         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
27944         (Makefile.am): Pick up library dependency.
27945         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
27946         definition.
27947         * tests/test-sys_stat.c: Test the definitions.
27948         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
27949         * NEWS: Document library dependency.
27950
27951         utimecmp: support symlink timestamps
27952         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
27953         hashing when possible.  Use pathconf when available.
27954         (SYSCALL_RESOLUTION): Recognize tighter resolution.
27955         * modules/utimecmp (Depends-on): Add lstat.
27956
27957         utimens: add lutimens interface
27958         * lib/utimens.c (lutimens): New function.
27959         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
27960         * lib/utimens.h (lutimens): Declare new interface.
27961         * tests/test-utimens.c (main): Enhance test.
27962         * tests/test-lutimens.h (test_lutimens): New file.
27963         * modules/utimens-tests (Files): Distribute it.
27964         (Depends-on): Add symlink.
27965         (configure.ac): Check for usleep.
27966
27967         utimens: validate futimens usage
27968         * lib/utimens.c (gl_futimens): Require valid fd up front, using
27969         fewer syscalls on failure later on.  Avoid compiler warning on
27970         mingw.
27971         * modules/utimens (Depends-on): Add dup2.
27972
27973         utimens: add test
27974         * modules/utimens-tests: New test.
27975         * tests/test-utimens.h: New file.
27976         * tests/test-futimens.h: Likewise.
27977         * tests/test-utimens.c: Likewise.
27978
27979         doc: mention timestamp portability issues
27980         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
27981         instead.
27982         * doc/posix-functions/utime.texi (utime): Likewise.
27983         * doc/posix-functions/utimes.texi (utimes): Likewise.
27984         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
27985         instead.
27986         * doc/posix-functions/futimens.texi (futimens): Mention utimens
27987         module.
27988         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
27989         Mention weakness with symlink timestamps.
27990         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
27991         to utimensat/futimens instead.
27992         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
27993
27994         test-dup2: enhance test
27995         * tests/test-dup2.c (main): Also check AT_FDCWD.
27996
27997         test-stat-time: avoid more spurious failures
27998         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
27999         xfs; and avoid race if the two timestamps cross quantization edge.
28000
28001         relocatable: prefer 'file system' over 'filesystem'
28002         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
28003         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
28004         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
28005         * doc/relocatable.texi (Enabling Relocatability): Likewise.
28006         * lib/relocatable.c (compute_curr_prefix): Likewise.
28007
28008 2009-10-10  Jim Meyering  <meyering@redhat.com>
28009
28010         stat-time-tests: check for the usleep function
28011         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
28012
28013 2009-10-10  Bruno Haible  <bruno@clisp.org>
28014
28015         * modules/xnanosleep: Put the Link section after the Include section.
28016
28017 2009-10-09  Eric Blake  <ebb9@byu.net>
28018
28019         dup2: work around FreeBSD 6.1 bug
28020         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
28021         * doc/posix-functions/dup2.texi (dup2): Document it.
28022         Reported by Nelson H. F. Beebe and Jim Meyering.
28023
28024         test-stat-time: port to buggy NFS clients
28025         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
28026         (test_ctime): Also skip test if mtime and ctime are skewed.
28027
28028         maint: prefer 'file system' over 'filesystem'
28029         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
28030         * doc/posix-functions/lstat.texi (lstat): Likewise.
28031         * lib/file-has-acl.c (file_has_acl): Likewise.
28032         * lib/fwriteerror.c [TEST]: Likewise.
28033         * tests/test-areadlink.h (test_areadlink): Likewise.
28034         * tests/test-areadlinkat-with-size.c (main): Likewise.
28035         * tests/test-areadlinkat.c (main): Likewise.
28036         * tests/test-canonicalize-lgpl.c (main): Likewise.
28037         * tests/test-canonicalize.c (main): Likewise.
28038         * tests/test-fstatat.c (main): Likewise.
28039         * tests/test-linkat.c (main): Likewise.
28040         * tests/test-lstat.h (test_lstat_func): Likewise.
28041         * tests/test-mkdir.h (test_mkdir): Likewise.
28042         * tests/test-readlink.h (test_readlink): Likewise.
28043         * tests/test-remove.c (main): Likewise.
28044         * tests/test-rename.h (test_rename): Likewise.
28045         * tests/test-renameat.c (main): Likewise.
28046         * tests/test-rmdir.h (test_rmdir_func): Likewise.
28047         * tests/test-symlink.h (test_symlink): Likewise.
28048         * tests/test-symlinkat.c (main): Likewise.
28049         * tests/test-unlink.h (test_unlink_func): Likewise.
28050         * tests/test-unlinkat.c (main): Likewise.
28051
28052         maint: make realtime library usage explicit
28053         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
28054         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
28055         * modules/settime (Link): Likewise.
28056         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
28057
28058         test-stat-time: speed up execution
28059         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
28060         warning on mingw.
28061         (nap): New helper function.
28062         (prepare_test): Use it to reduce sleep time.
28063         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
28064         execution.
28065         * modules/stat-time-tests (configure.ac): Check for usleep.
28066
28067 2009-10-09  Jim Meyering  <meyering@redhat.com>
28068
28069         selinux-h: always use getfilecon wrappers
28070         * lib/getfilecon.c: New file.
28071         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
28072         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
28073         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
28074         (fgetfilecon): Provide a stub.
28075         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
28076         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
28077         file unconditionally.
28078         When <selinux/selinux.h> is found, arrange to use wrappers.
28079         * modules/selinux-h (Files): Add getfilecon.c.
28080         (Makefile.am): Substitute include-next-related bits
28081         into the now-always-generated selinux/selinux.h file.
28082         * doc/glibc-functions/lgetfilecon.texi: New file.
28083         * doc/glibc-functions/fgetfilecon.texi: New file.
28084         * doc/glibc-functions/getfilecon.texi: New file.
28085         * doc/glibc-functions/getfilecon-desc.texi: New file.
28086         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
28087         which to pull in the new files.
28088         * MODULES.html.sh (Misc): Add selinux-h.
28089
28090 2009-10-08  Jim Meyering  <meyering@redhat.com>
28091
28092         unistd: fix comment typo
28093         * lib/unistd.in.h (euidaccess): Fix a comment typo.
28094
28095 2009-10-08  Eric Blake  <ebb9@byu.net>
28096
28097         areadlink: use SIZE_MAX consistently
28098         * modules/areadlink (Depends-on): Add stdint.
28099         * modules/areadlink-with-size (Depends-on): Likewise.
28100         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
28101         gives NULL; drop sys/types, since unistd gives size_t; and add
28102         stdint for SIZE_MAX.
28103         (SIZE_MAX): Rely on headers.
28104         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
28105         and add stdint.
28106         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
28107         (SIZE_MAX): Likewise.
28108         (INITIAL_BUF_SIZE): Turn into enum.
28109         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
28110
28111 2009-10-08  Jim Meyering  <meyering@redhat.com>
28112
28113         areadlinkat: avoid compilation failure
28114         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
28115         Fix typo in comment.
28116
28117 2009-10-07  Eric Blake  <ebb9@byu.net>
28118
28119         areadlinkat-with-size: new module
28120         * modules/areadlinkat-with-size: New module.
28121         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
28122         * lib/areadlink.h (areadlinkat): Declare it.
28123         * MODULES.html.sh (File system functions): Mention it.
28124         * modules/areadlinkat-with-size-tests: New test.
28125         * tests/test-areadlinkat-with-size.c: New file.
28126
28127         xreadlinkat: new module
28128         * modules/xreadlinkat: New module.
28129         * lib/xreadlinkat.c (xreadlinkat): New file.
28130         * lib/xreadlink.h (xreadlinkat): Declare it.
28131         * MODULES.html.sh (File system functions): Mention it.
28132
28133         areadlinkat: new module
28134         * lib/at-func.c (FUNC_FAIL): New define.
28135         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
28136         * modules/areadlinkat: New module.
28137         * lib/linkat.c (areadlinkat): Move...
28138         * lib/areadlinkat.c (areadlinkat): ...to new file.
28139         * lib/areadlink.h (areadlinkat): Declare it.
28140         * modules/linkat (Depends-on): Add areadlinkat.
28141         * MODULES.html.sh (File system functions): Mention it.
28142         * modules/areadlinkat-tests: New test.
28143         * tests/test-areadlinkat.c: New file.
28144
28145         areadlink, areadlink-with-size: add tests
28146         * modules/areadlink-tests: New test.
28147         * modules/areadlink-with-size-tests: Likewise.
28148         * tests/test-areadlink.h: New file.
28149         * tests/test-areadlink.c: Likewise.
28150         * tests/test-areadlink-with-size.c: Likewise.
28151
28152         maint: minor cleanups
28153         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
28154         _UNUSED_PARAMETER_ instead.
28155         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
28156         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
28157         * modules/linkat-tests (Files): Distribute test-link.h.
28158
28159         openat, utimens: whitespace cleanup
28160         * lib/openat.c: Prefer space throughout, rather than mix of 8
28161         spaces vs. tabs.
28162         * lib/at-func.c: Likewise.
28163         * lib/utimens.c: Likewise.
28164
28165         openat: avoid using wrong fd
28166         * lib/openat.c (openat_permissive): Reject user's fd if saving the
28167         working directory chooses same fd.
28168         * lib/at-func.c (AT_FUNC_NAME): Likewise.
28169
28170         mkdir, mkdirat: fix cygwin 1.5.x bug
28171         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
28172         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
28173         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
28174         bug.
28175         (gl_PREREQ_MKDIR): Delete unused macro.
28176         * modules/mkdir (Files): Track file rename.
28177         (configure.ac): Update macro name.
28178         * modules/openat (Depends-on): Add mkdir.
28179         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
28180
28181         mkdir, mkdirat: add tests
28182         * modules/mkdir-tests: New test.
28183         * tests/test-mkdir.h: New file.
28184         * tests/test-mkdir.c: Likewise.
28185         * tests/test-mkdirat.c: Likewise.
28186         * modules/openat-tests (Files): Add new files.
28187         (Makefile.am): Run new test.
28188
28189 2009-10-06  Eric Blake  <ebb9@byu.net>
28190
28191         doc: tweak *at function documentation
28192         * doc/posix-functions/faccessat.texi (faccessat): Mention
28193         known issue with replacement.
28194         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
28195         * doc/posix-functions/linkat.texi (linkat): Likewise.
28196         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
28197         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
28198         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
28199         * doc/posix-functions/renameat.texi (renameat): Likewise.
28200         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
28201
28202         openat: fix GNU/Hurd bug in unlinkat
28203         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
28204         broken.
28205         * doc/posix-functions/unlink.texi (unlink): Document this.
28206         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
28207
28208         fdopendir: fix GNU/Hurd bug
28209         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
28210         allowing non-directory fds.
28211         * lib/fdopendir.c (rpl_fdopendir): Work around it.
28212         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
28213         * modules/dirent (Makefile.am): Substitute it.
28214         * lib/dirent.in.h (fdopendir): Declare replacement.
28215         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
28216         * tests/test-fdopendir.c (main): Test something other than
28217         /dev/null, since on Hurd that behaves like a directory.
28218
28219         test-symlink: port to GNU/Hurd
28220         * tests/test-symlink.h (test_symlink): Relax expected errno.
28221
28222         doc: tweak more cygwin information
28223         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
28224         now compatible with glibc.
28225         * doc/posix-functions/getopt.texi (getopt): Likewise.
28226
28227         getopt-gnu: add another test
28228         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
28229         guarantee behavior relied on by m4.
28230         * tests/test-getopt.c (main): Use it.
28231         * modules/getopt-posix-tests (Depends-on): Add setenv.
28232         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
28233
28234         getopt: fix compilation on darwin
28235         * lib/getopt.in.h (includes): Leave breadcrumbs during system
28236         include.
28237         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
28238         Reported by Ludovic Courtès.
28239
28240 2009-10-06  Bruno Haible  <bruno@clisp.org>
28241
28242         * modules/size_max (Description): Discourage its use.
28243         Reported by Simon Josefsson.
28244
28245 2009-10-06  Jim Meyering  <meyering@redhat.com>
28246
28247         linkat: avoid compilation failure
28248         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
28249
28250 2009-10-05  Eric Blake  <ebb9@byu.net>
28251
28252         linkat: support Linux 2.6.17
28253         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
28254         linkat on Linux, but allow cache variable override.
28255         * lib/linkat.c (rpl_linkat): Define override.
28256         * modules/linkat (Depends-on): Add symlinkat.
28257         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
28258         * modules/unistd (Makefile.am): Substitute it.
28259         * lib/unistd.in.h (linkat): Declare replacement.
28260         Reported by Pádraig Brady.
28261
28262         quotearg: port test to systems with C.UTF-8 locale
28263         * tests/test-quotearg.c (struct result_strings): Add another
28264         member, differentiating between C.ASCII and C.UTF-8 handling.
28265         (compare_strings): Add parameter.
28266         (main): Adjust all callers.
28267
28268         getopt: avoid clash with FreeBSD _getopt_internal
28269         * lib/getopt.in.h (_getopt_internal): Override the name.
28270         * lib/getopt_int.h (includes): Pick up any overrides.
28271         Reported by Reuben Thomas.
28272
28273         hash: allow C89 compilation
28274         * lib/hash.c (check_tuning): Move declaration before statement.
28275         Reported by Reuben Thomas.
28276
28277 2009-10-05  Karl Berry  <karl@gnu.org>
28278
28279         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
28280
28281 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
28282             Bruno Haible  <bruno@clisp.org>
28283
28284         * lib/uname.c (uname): Use a table-driven algorithm to compute
28285         Windows NT versions.
28286
28287 2009-10-04  Bruno Haible  <bruno@clisp.org>
28288
28289         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
28290         program_invocation_short_name.
28291         * modules/progname (configure.ac): Test for presence of
28292         program_invocation_short_name.
28293         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
28294
28295 2009-10-04  Bruno Haible  <bruno@clisp.org>
28296
28297         * lib/progname.c (set_program_name): Fix comment.
28298         Reported by Jim Meyering.
28299
28300 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
28301             Bruno Haible  <bruno@clisp.org>
28302
28303         * lib/uname.c: Include <string.h>.
28304         (uname): Do only one call to GetVersionEx in the common case.
28305
28306 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
28307             Bruno Haible  <bruno@clisp.org>
28308
28309         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
28310         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
28311         (uname): Add support for Windows CE and various non-x86 CPU types.
28312
28313 2009-10-03  Bruno Haible  <bruno@clisp.org>
28314
28315         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
28316         invocation to tests/configure.ac.
28317         Reported by Ian Beckwith <ianb@erislabs.net>.
28318
28319 2009-10-02  Eric Blake  <ebb9@byu.net>
28320
28321         fchdir: avoid compiler warning
28322         * lib/fchdir.c (canonicalize_file_name)
28323         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
28324
28325         test-open: support mingw errno values
28326         * tests/test-open.h (test_open): Relax test.
28327         * tests/test-fopen.h (test_fopen): Likewise.
28328         * tests/test-openat-safer.c (main): Likewise.
28329
28330         open: fix opening directory on mingw
28331         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
28332
28333         test-open: on GNU/Hurd, /dev/null is a directory
28334         * tests/test-fopen.h (main): Rename...
28335         (test_fopen): ...to this.  Use a guaranteed non-directory when
28336         confirming open behavior on trailing slash.
28337         * tests/test-openat-safer.c (main): Likewise.
28338         * tests/test-open.h (main): Likewise....
28339         (test_open): ...to this.
28340         * tests/test-fopen.c (main): Adjust caller.
28341         * tests/test-fopen-safer.c (main): Likewise.
28342         * tests/test-open.c (main): Likewise.
28343         * tests/test-fcntl-safer.c (main): Likewise.
28344         Reported by Samuel Thibault.
28345
28346         rename, fchdir: don't ignore chdir failure
28347         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
28348         * lib/rename.c (rpl_rename) [W32]: Likewise.
28349         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
28350         an empty destination directory if source cannot be renamed,
28351         although there is still possibility for failure.
28352         * doc/posix-functions/rename.texi (rename): Document the race.
28353         Reported by Jim Meyering.
28354
28355         maint: cleanup whitespace in recent commits
28356         * lib/rename.c (rpl_rename): Remove tabs.
28357         * tests/test-link.h (test_link): Likewise.
28358         * lib/fchdir.c (get_name): Likewise.
28359         Reported by Jim Meyering.
28360
28361 2009-10-02  Ben Pfaff  <blp@gnu.org>
28362
28363         relocatable-prog-wrapper: Add missing dependency on
28364         double-slash-root.
28365         * modules/relocatable-prog-wrapper: Add dependency.
28366         Reported by Ian Beckwith <ianb@erislabs.net>.
28367
28368 2009-10-02  Eric Blake  <ebb9@byu.net>
28369
28370         renameat: fix Solaris bugs
28371         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
28372         needed fixing.
28373         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
28374         * modules/stdio (Makefile.am): Substitute it.
28375         * lib/stdio.in.h (renameat): Declare replacement.
28376         * lib/renameat.c (rpl_renameat): Implement fix.
28377
28378         renameat: new module
28379         * modules/renameat: New file.
28380         * lib/renameat.c (renameat): Likewise.
28381         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
28382         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
28383         * modules/stdio (Makefile.am): Substitute them.
28384         * lib/stdio.in.h (renameat): Declare it.
28385         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
28386         * doc/posix-functions/renameat.texi (renameat): Likewise.
28387         * modules/renameat-tests: New test.
28388         * tests/test-renameat.c: Likewise.
28389
28390         rename: fix mingw bugs
28391         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
28392         directory overwrite bugs.
28393
28394         rename: fix another cygwin 1.5 bug
28395         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
28396         checks.
28397         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
28398         unnecessary cygwin workarounds.  Also work around bug with moving
28399         full directory onto an empty one.
28400         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
28401
28402         rename-dest-slash: merge into rename module
28403         * modules/rename-dest-slash (Status): Mark obsolete.
28404         (Depends-on): Add rename.
28405         (Files): Let rename do it all.
28406         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
28407         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
28408         * m4/rename-dest-slash.m4: ...so this file can be deleted.
28409         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
28410         * lib/rename.c (rpl_rename): Update comments.
28411
28412         rename: fix cygwin 1.5.x bugs
28413         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
28414         * lib/rename.c (rpl_rename): Work around them.
28415         * modules/rename (Depends-on): Add same-inode.
28416
28417         rename: fix Solaris 10 bug
28418         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
28419         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
28420         was the only bug.
28421
28422         rename: fix Solaris 9 bug
28423         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
28424         on non-directory.  Avoid calling exit.
28425         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
28426         strdup.
28427         * modules/rename-tests (Depends-on): Drop lstat.
28428         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
28429         (gl_PREREQ_RENAME): Delete unused macro.
28430
28431         rename-dest-slash: fix NetBSD bug
28432         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
28433         links.
28434         * modules/rename-dest-slash (Depends-on): Add same-inode.
28435
28436         rename-tests: new test, exposes several platform bugs
28437         * modules/rename-tests: New file.
28438         * tests/test-rename.h: Likewise.
28439         * tests/test-rename.c: Likewise.
28440         * doc/posix-functions/rename.texi (rename): Improve documentation,
28441         including bugs that will eventually be fixed in gnulib.
28442
28443 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
28444
28445         * lib/uname.c: Include <stdlib.h>
28446         (uname): Assume version info is available.
28447
28448 2009-10-02  Jim Meyering  <meyering@redhat.com>
28449
28450         gnu-web-doc-update: correct --help output
28451         * build-aux/gnu-web-doc-update: Make --help output relevant.
28452
28453         gnu-web-doc-update: add standard options
28454         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
28455
28456         gnu-web-doc-update: New module.
28457         Use this script to automatically update the on-line web documentation
28458         for your GNU project at http://www.gnu.org/software/$pkg/manual/
28459         * modules/gnu-web-doc-update: New file, from coreutils.
28460         * build-aux/gnu-web-doc-update: New script.
28461
28462 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
28463
28464         link: LoadLibrary is not needed.
28465         * lib/link.c: Use GetModuleHandle.
28466
28467 2009-10-01  Eric Blake  <ebb9@byu.net>
28468
28469         getopt: bump serial number
28470         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
28471         change.
28472
28473         tests: tighten link, rmdir, and remove tests
28474         * tests/test-link.h (includes): No need to use <config.h> here.
28475         Clean up if directory hard link was created, otherwise test for
28476         trailing '.'.
28477         * tests/test-linkat.c (main): Simplify.
28478         * tests/test-remove.c (main): Enhance test for trailing '.'.
28479         * tests/test-rmdir.h (test_rmdir_func): Likewise.
28480
28481 2009-10-01  Jim Meyering  <meyering@redhat.com>
28482
28483         maint.mk: requiring "make major" was annoying, for a "minor" release.
28484         What is intended is "stable", to contrast with alpha and beta,
28485         so require "make stable", not "make major".
28486         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
28487         (get_tool_versions): Likewise.
28488         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
28489
28490 2009-09-30  Ben Pfaff  <blp@gnu.org>
28491
28492         Fix broken build of replacement for Windows tmpfile().
28493         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
28494         flags argument added along with the 'mkostemp' module.
28495
28496 2009-09-28  Bruno Haible  <bruno@clisp.org>
28497
28498         Avoid identifier clash with POSIX function 'remove' defined as a macro.
28499         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
28500         to 'remove_elt'.
28501         (gl_list_remove): Update.
28502         * lib/gl_list.c (gl_list_remove): Update.
28503         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
28504         to 'remove_elt'.
28505         (gl_oset_remove): Update.
28506         * lib/gl_list.c (gl_oset_remove): Update.
28507         Reported by Eric Blake.
28508
28509 2009-09-28  Eric Blake  <ebb9@byu.net>
28510
28511         doc: mention yet more cygwin 1.7 status
28512         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
28513         cygwin.
28514         * doc/glibc-functions/execvpe.texi (execvpe): New file.
28515         * doc/gnulib.texi (Glibc unistd.h): Mention it.
28516
28517         argp: fix test failure
28518         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
28519         that are not upper-case.  Pass correct range to tolower.
28520
28521 2009-09-27  Jim Meyering  <meyering@redhat.com>
28522
28523         test-yesno: work around sparc-dash here-document infelicity
28524         Without this change, the literal \177 byte in a here document
28525         would make dash 0.5.5.1-3 access uninitialized memory.
28526         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
28527         Instead, use a marker, "@", and filter through tr to create the desired
28528         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
28529
28530 2009-09-27  Bruno Haible  <bruno@clisp.org>
28531
28532         Disable untested support for new flavours of ACLs on AIX.
28533         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
28534         progress.
28535         * lib/set-mode-acl.c (qset_acl): Likewise.
28536
28537 2008-12-07  Bruno Haible  <bruno@clisp.org>
28538
28539         Add support for new flavours of ACLs on AIX. (Untested.)
28540         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
28541         (file_has_acl): Add support for newer AIX.
28542         * lib/set-mode-acl.c (qset_acl): Likewise.
28543         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
28544         Rainer Tammer <tammer@tammer.net>.
28545
28546 2009-09-26  Eric Blake  <ebb9@byu.net>
28547
28548         argp: fix compilation of getopt
28549         * lib/getopt.in.h (includes): Use different guard than glibc.
28550         Reported by Sergey Poznyakoff.
28551
28552         doc: mention more cygwin 1.7 status
28553         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
28554         bug.
28555         * doc/posix-functions/execl.texi (execl): Likewise.
28556         * doc/posix-functions/execle.texi (execle): Likewise.
28557         * doc/posix-functions/execlp.texi (execlp): Likewise.
28558         * doc/posix-functions/execv.texi (execv): Likewise.
28559         * doc/posix-functions/execve.texi (execve): Likewise.
28560         * doc/posix-functions/execvp.texi (execvp): Likewise.
28561         * doc/glibc-functions/canonicalize_file_name.texi
28562         (canonicalize_file_name): Cygwin 1.7 now provides this.
28563         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
28564         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
28565         on AT_SYMLINK_NOFOLLOW.
28566
28567 2009-09-24  Eric Blake  <ebb9@byu.net>
28568
28569         test-linkat: make test more robust
28570         * tests/test-linkat.c (main): Avoid collision with EEXIST.
28571
28572         getopt: fix inclusion guards for cygwin
28573         * modules/getopt-posix (Depends-on): Add include-next.
28574         (Makefile.am): Substitute more items in replacement header.
28575         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
28576         <getopt.h>.
28577         * lib/getopt.in.h (includes): Use split inclusion guard, and
28578         prefer <getopt.h> over include <unistd.h> when one is present.
28579         (option): Also override name of 'struct option'.
28580
28581         same-inode: revert prior change; it is not yet ready
28582         * NEWS: Undo mention of this change.
28583         * lib/same-inode.h (same-inode.h): Undo tri-state change.
28584         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
28585         * lib/cycle-check.c (cycle_check): Likewise.
28586         * lib/same.c (same_name): Likewise.
28587         * lib/at-func2.c (at_func2): Likewise.
28588
28589 2009-09-23  Eric Blake  <ebb9@byu.net>
28590
28591         linkat: new module
28592         * modules/linkat: New file.
28593         * lib/at-func2.c (at_func2): Likewise.
28594         * lib/linkat.c (linkat): Likewise.
28595         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
28596         * lib/openat-priv.h (at_func2): Add declaration.
28597         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
28598         * modules/unistd (Makefile.am): Substitute them.
28599         * lib/unistd.in.h (linkat): Declare it.
28600         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
28601         * doc/posix-functions/linkat.texi (linkat): Likewise.
28602         * doc/posix-functions/link.texi (link): Tweak wording.
28603         * tests/test-link.c (main): Move guts...
28604         * tests/test-link.h (test_link): ...into new file.
28605         * modules/linkat-tests: New test.
28606         * tests/test-linkat.c: Likewise.
28607         * modules/link-tests (Files): Ship new file.
28608         (Depends-on): Add stdbool.
28609
28610         dirname: add library-safe mdir_name
28611         * lib/dirname.h (mdir_name): New prototype.
28612         * lib/dirname.c (dir_name): Move guts...
28613         (mdir_name): ...to new function that avoids xalloc_die.
28614
28615         fchdir: another mingw fix
28616         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
28617         * lib/fchdir.c (get_name): New helper method; skips canonicalize
28618         on mingw (where it has not yet been ported), and make it optional
28619         elsewhere.
28620         (_gl_register_fd): Use it.
28621
28622         same-inode: make SAME_INODE tri-state, to port to mingw
28623         * NEWS: Mention this change.
28624         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
28625         st_ino always being 0.
28626         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
28627         * lib/cycle-check.c (cycle_check): Likewise.
28628         * lib/same.c (same_name): Likewise.
28629
28630         lstat: avoid mingw compilation error
28631         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
28632         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
28633         lstat ourselves.
28634         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
28635         was adequate.
28636         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
28637         the checks for lstat.
28638         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
28639
28640         link: fix test failure on Solaris 9
28641         * lib/link.c (rpl_link): Don't assume link will catch bogus
28642         trailing slash on source.
28643
28644         test-symlinkat: enhance test
28645         * tests/test-readlink.c (main): Move guts...
28646         * tests/test-readlink.h (test_readlink): ...into new file.
28647         * tests/test-symlink.c (main): Move guts...
28648         * tests/test-symlink.h (test_symlink): ...into new file.
28649         * tests/test-symlinkat.c (main): Use new files for further
28650         coverage.
28651         (do_symlink, do_readlink): New helper functions.
28652         * modules/symlink-tests (Files): Ship new file.
28653         (Depends-on): Add stdbool.
28654         * modules/readlink-tests (Files): Ship new file.
28655         (Depends-on): Add stdbool.
28656         * modules/symlinkat-tests (Files): Use new files.
28657
28658 2009-09-23  Eric Blake  <ebb9@byu.net>
28659
28660         readlink: document portability issue with symlink length
28661         * doc/posix-functions/lstat.texi (lstat): Mention that some file
28662         systems have bogus st_size on symlinks, and mention the
28663         areadlink-with-size module.
28664         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
28665         * doc/posix-functions/readlink.texi (readlink): Mention the
28666         areadlink module, and ERANGE failure.
28667         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
28668         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
28669
28670         readlink: fix Solaris 9 bug with trailing slash
28671         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
28672         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
28673         * doc/posix-functions/readlink.texi (readlink): Document this.
28674         * modules/readlink-tests: New test.
28675         * tests/test-readlink.c: Likewise.
28676
28677         readlink: fix cygwin 1.5.x bug with return type
28678         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
28679         * lib/unistd.in.h (readlink): Use ssize_t.
28680         * lib/readlink.c (readlink): Likewise.
28681         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
28682         * modules/unistd (Makefile.am): Substitute it.
28683         * lib/unistd.in.h (readlink): Declare replacement.
28684         * doc/posix-functions/readlink.texi (readlink): Document this.
28685
28686         symlink: use throughout gnulib
28687         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
28688         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
28689         symlink is not used.
28690         * modules/symlinkat (Depends-on): Add symlink.
28691         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
28692         * modules/canonicalize-tests (Depends-on): Likewise.
28693         * modules/lstat-tests (Depends-on): Likewise.
28694         * modules/openat-tests (Depends-on): Likewise.
28695         * modules/remove-tests (Depends-on): Likewise.
28696         * modules/rmdir-tests (Depends-on): Likewise.
28697         * modules/unlink-tests (Depends-on): Likewise.
28698         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
28699         * tests/test-canonicalize.c (symlink): Likewise.
28700         * tests/test-fstatat.c (symlink): Likewise.
28701         * tests/test-lstat.c (symlink): Likewise.
28702         * tests/test-remove.c (symlink): Likewise.
28703         * tests/test-rmdir.c (symlink): Likewise.
28704         * tests/test-unlink.c (symlink): Likewise.
28705         * tests/test-unlinkat.c (symlink): Likewise.
28706
28707         symlink: new module, for Solaris 9 bug
28708         * modules/symlink: New file.
28709         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
28710         * lib/symlink.c: Likewise.
28711         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
28712         * modules/unistd (Makefile.am): Substitute them.
28713         * lib/unistd.in.h (symlink): Declare replacement.
28714         * MODULES.html.sh (File system functions): Mention it.
28715         * doc/posix-functions/symlink.texi (symlink): Likewise.
28716         * modules/symlink-tests: New test.
28717         * tests/test-symlink.c: Likewise.
28718
28719 2009-09-23  Bruno Haible  <bruno@clisp.org>
28720
28721         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
28722         when needed.
28723         Test case: gnulib-tool --import --with-tests atexit inttypes.
28724         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
28725
28726 2009-09-23  Bruno Haible  <bruno@clisp.org>
28727
28728         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
28729         subcommand, not in a subshell.
28730
28731 2009-09-22  Eric Blake  <ebb9@byu.net>
28732
28733         unistd: sort replacement declarations
28734         * lib/unistd.in.h: Sort declarations.
28735
28736         open, openat: minor optimization
28737         * lib/open.c (open): If open succeeded, len is non-zero.
28738         * lib/openat.c (rpl_openat): Likewise.
28739
28740         link-follow: ensure correct result
28741         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
28742         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
28743         distinguish between possible failures.
28744
28745 2009-09-21  Eric Blake  <ebb9@byu.net>
28746
28747         fts: avoid compiler warning
28748         * lib/fts.c (dirent_inode_sort_may_be_useful)
28749         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
28750
28751 2009-09-19  Bruno Haible  <bruno@clisp.org>
28752
28753         * lib/progreloc.c (canonicalize_file_name): New declaration.
28754
28755 2009-09-19  Eric Blake  <ebb9@byu.net>
28756
28757         link: fix quoting
28758         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
28759
28760         openat: fix openat bugs on Solaris 9
28761         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
28762         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
28763         * modules/openat (Depends-on): Add open.
28764         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
28765         * modules/fcntl-h (Makefile.am): Substitute it.
28766         * lib/fcntl.in.h (openat): Declare replacement.
28767         * doc/posix-functions/openat.texi (openat): Document this.
28768
28769         openat: move fstatat and unlinkat into correct files
28770         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
28771         compiled.
28772         * lib/openat.c (fstatat, unlinkat): Move...
28773         * lib/fstatat.c (fstatat): ...into correct files.
28774         * lib/unlinkat.c (unlinkat): Likewise.
28775
28776         openat: fix unlinkat bugs on Solaris 9
28777         * lib/unlinkat.c (unlinkat): New file.
28778         * modules/openat (Depends-on): Add unlink.
28779         (Files): Distribute it.
28780         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
28781         trailing slash behavior is broken.
28782         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
28783         * modules/unistd (Makefile.am): Substitute it.
28784         * lib/unistd.in.h (unlinkat): Declare replacement.
28785         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
28786
28787         openat: fix fstatat bugs on Solaris 9
28788         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
28789         stat.
28790         * doc/posix-functions/fstatat.texi (fstatat): Document this.
28791
28792         test-unlinkat: enhance test, to expose Solaris 9 bug
28793         * tests/test-unlink.c (main): Factor guts...
28794         * tests/test-unlink.h (test_rmdir_func): ...into new file.
28795         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
28796         * tests/test-rmdir.c (main): Adjust caller.
28797         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
28798         (unlinker): New helper function.
28799         (rmdirat): Enhance check.
28800         * modules/rmdir-tests (Depends-on): Add stdbool.
28801         * modules/unlink-tests (Depends-on): Likewise.
28802         (Files): Add test-unlink.h.
28803         * modules/openat-tests (Files): Likewise.
28804         (Depends-on): Add unlinkdir.
28805
28806         test-fstatat: new test, to expose Solaris 9 bugs
28807         * tests/test-stat.c (main): Factor guts...
28808         * tests/test-stat.h (test_stat_func): ...into new file.
28809         * tests/test-lstat.c (main): Factor guts...
28810         * tests/test-lstat.h (test_lstat_func): ...into new file.
28811         * tests/test-fstatat.c: New file.
28812         * modules/stat-tests (Files): Add test-stat.h.
28813         * modules/lstat-tests (Files): Add test-lstat.h.
28814         (Depends-on): Add stdbool.
28815         * modules/openat-tests (Depends-on): Add pathmax.
28816         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
28817         (Makefile.am): Run new test.
28818
28819         remove: new module, for mingw and Solaris 9 bugs
28820         * modules/remove: New file.
28821         * lib/remove.c: Likewise.
28822         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
28823         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
28824         * modules/stdio (Makefile.am): Use them.
28825         * lib/stdio.in.h (remove): Declare replacement.
28826         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
28827         * doc/posix-functions/remove.texi (remove): Likewise.
28828         * modules/remove-tests: New test.
28829         * tests/test-remove.c: Likewise.
28830
28831         unlink: new module, for Solaris 9 bug
28832         * modules/unlink: New file.
28833         * lib/unlink.c: Likewise.
28834         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
28835         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
28836         * modules/unistd (Makefile.am): Use them.
28837         * lib/unistd.in.h (stat): Declare replacement.
28838         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
28839         * doc/posix-functions/unlink.texi (unlink): Likewise.
28840         * modules/unlink-tests: New test.
28841         * tests/test-unlink.c: Likewise.
28842
28843         lstat: fix Solaris 9 bug
28844         * lib/lstat.c (lstat): Also check for trailing slash on
28845         non-symlink, non-directories.  Use stat module to simplify logic.
28846         * doc/posix-functions/lstat.texi (lstat): Document it.
28847         * modules/lstat-tests (Depends-on): Add errno, same-inode.
28848         (configure.ac): Check for symlink.
28849         * tests/test-lstat.c (main): Add more tests.
28850
28851         stat: add as dependency to other modules
28852         * modules/chown (Depends-on): Add stat.
28853         * modules/euidaccess (Depends-on): Likewise.
28854         * modules/fchdir (Depends-on): Likewise.
28855         * modules/isdir (Depends-on): Likewise.
28856         * modules/link (Depends-on): Likewise.
28857         * modules/lstat (Depends-on): Likewise.
28858         * modules/mkdir-p (Depends-on): Likewise.
28859         * modules/modechange (Depends-on): Likewise.
28860         * modules/open (Depends-on): Likewise.
28861         * modules/readlink (Depends-on): Likewise.
28862         * modules/same (Depends-on): Likewise.
28863
28864         stat: fix Solaris 9 bug
28865         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
28866         slash.
28867         * lib/stat.c (rpl_stat): Work around it.
28868         * doc/posix-functions/stat.texi (stat): Update documentation.
28869
28870         stat: new module, for mingw bug
28871         * modules/stat: New file.
28872         * lib/stat.c: Likewise.
28873         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
28874         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
28875         * modules/sys_stat (Makefile.am): Use them.
28876         * lib/sys_stat.in.h (stat): Declare replacement.
28877         * lib/openat.c (fstatat): Deal with lstat and stat being function
28878         macros.
28879         * modules/openat (Depends-on): Add inline.
28880         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
28881         * doc/posix-functions/stat.texi (stat): Likewise.
28882         * modules/stat-tests: New test.
28883         * tests/test-stat.c: Likewise.
28884
28885 2009-09-19  Jim Meyering  <meyering@redhat.com>
28886
28887         syntax-check: detect unnecessary inclusion of canonicalize.h
28888         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
28889
28890 2009-09-19  Eric Blake  <ebb9@byu.net>
28891
28892         canonicalize-lgpl: adjust clients to use correct header
28893         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
28894         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
28895         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
28896         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
28897         * lib/progreloc.c (includes): Likewise.
28898
28899 2009-09-19  Jim Meyering  <meyering@redhat.com>
28900
28901         test-posixtm.c: correct a comment
28902         * tests/test-posixtm.c: Correct first-line comment.
28903         Spotted by Eric Blake.
28904
28905 2009-09-16  Jim Meyering  <meyering@redhat.com>
28906
28907         posixtm-tests: make T const-correct; add a test case
28908         * tests/test-posixtm.c (T): Declare const.
28909         Add a test for -(2^31+1).
28910         Remove useless can-succeed-only-in-2002 test.
28911
28912         posixtm-tests: adjust the sole failing test
28913         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
28914         expected output matches what mktime now produces.  Cross-checked via
28915         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
28916
28917         posixtm: move #ifdef'd tests into a new module
28918         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
28919         * tests/test-posixtm.c: ... this new file.
28920         * modules/posixtm-tests: New module.
28921
28922 2009-09-19  Eric Blake  <ebb9@byu.net>
28923
28924         openat: simplify use of at-func.c
28925         * lib/at-func.c (includes): Include prerequisites here, to
28926         simplify requirements on client files.
28927         * lib/openat-priv.h: Add double-inclusion guard.
28928         * lib/faccessat.c (includes): Simplify.
28929         * lib/fchmodat.c (includes): Likewise.
28930         * lib/fchownat.c (includes): Likewise.
28931         * lib/mkdirat.c (includes): Likewise.
28932         * lib/mkfifoat.c (includes): Likewise.
28933         * lib/symlinkat.c (includes): Likewise.
28934
28935         openat: allow return of fd 0
28936         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
28937         * modules/save-cwd (Depends-on): Replace fcntl-safer with
28938         unistd-safer.
28939         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
28940         <fcntl.h>; this module does not leak fds.
28941         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
28942         must be allowed to return 0, leaving openat_safer to add the
28943         safety.
28944         (openat_permissive): Avoid writing to just-opened fd 2 if
28945         restoring the current directory fails.
28946         * lib/openat-die.c (openat_restore_fail): Add comment.
28947         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
28948         (save_cwd): Guarantee safe fd, but without use of open_safer.
28949         * tests/test-openat.c: New test.
28950         * modules/openat-tests (Files, Makefile.am): Distribute and build
28951         new file.
28952
28953         relocatable-prog-wrapper: fix build
28954         * modules/relocatable-prog-wrapper (Files): Update name of
28955         canonicalize m4 file, broken on 2009-09-17.
28956         Reported by emad hajjar <aleppos@hotmail.com>.
28957
28958 2009-09-19  Bruno Haible  <bruno@clisp.org>
28959
28960         * lib/safe-alloc.h: Use the standard header with GPL copyright.
28961         * lib/safe-alloc.c: Likewise.
28962         Reported by Ian Beckwith <ianb@erislabs.net>.
28963
28964 2009-09-18  Bruno Haible  <bruno@clisp.org>
28965
28966         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
28967         Reported by <erobles@sensacd.com.mx>.
28968
28969 2009-09-17  Eric Blake  <ebb9@byu.net>
28970
28971         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
28972         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
28973         slashes when checking if last component is missing.
28974         * tests/test-canonicalize.c (main): Test this.
28975
28976         canonicalize, canonicalize-lgpl: honor // if distinct from /
28977         * modules/canonicalize (Files): Add double-slash-root.m4.
28978         * modules/canonicalize-lgpl (Files): Likewise.
28979         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
28980         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
28981         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
28982         fallback definition.
28983         (canonicalize_filename_mode): Use it to protect //.
28984         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
28985         (__realpath): Likewise.
28986         * tests/test-canonicalize.c (main): Test this.
28987         * tests/test-canonicalize-lgpl.c (main): Likewise.
28988         * modules/canonicalize-tests (Depends-on): Add same-inode.
28989         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
28990
28991         canonicalize-lgpl: fix glibc bug with trailing slash
28992         * m4/canonicalize-lgpl.m4: Move contents...
28993         * m4/canonicalize.m4: ...here.
28994         (gl_CANONICALIZE_LGPL): Factor realpath check...
28995         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
28996         glibc 2.3.5 bug, fixed 2005-04-27.
28997         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
28998         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
28999         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
29000         * modules/canonicalize-lgpl (Files): Manage file rename.
29001         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
29002         * modules/stdlib (Makefile.am): Substitute witness.
29003         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
29004         is needed.
29005         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
29006         replacement is required.
29007         * lib/canonicalize.c (canonicalize_file_name): Likewise.
29008         * doc/glibc-functions/canonicalize_file_name.texi
29009         (canonicalize_file_name): Document this.
29010         * doc/posix-functions/realpath.texi (realpath): Likewise.
29011
29012         canonicalize-lgpl: reject non-directory with trailing slash
29013         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
29014         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
29015         catches failures in glibc 2.3.5.
29016         * tests/test-canonicalize.c (main): Likewise.
29017
29018         canonicalize-lgpl: use native realpath if it works
29019         * lib/canonicalize-lgpl.c (realpath): Guard with
29020         FUNC_REALPATH_WORKS.
29021         * lib/stdlib.in.h (realpath): Make declaration optional based on
29022         HAVE_REALPATH.
29023         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
29024         native realpath works.
29025         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
29026         * modules/stdlib (Makefile.am): Substitute witness.
29027
29028         canonicalize, canonicalize-lgpl: use <stdlib.h>
29029         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
29030         (Include): Mention <stdlib.h>.
29031         (configure.ac): Mention functions we provide.
29032         * modules/canonicalize (configure.ac): Likewise.
29033         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
29034         realpath if canonicalize_file_name is missing.
29035         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
29036         * modules/stdlib (Makefile.am): Substitute witnesses.
29037         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
29038         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
29039         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
29040         * NEWS: Document this.
29041         * doc/glibc-functions/canonicalize_file_name.texi
29042         (canonicalize_file_name): Likewise.
29043         * doc/posix-functions/realpath.texi (realpath): Likewise.
29044         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
29045
29046         test-canonicalize: consolidate into single C program
29047         * tests/test-canonicalize.sh: Delete; move setup into...
29048         * tests/test-canonicalize.c (main): ...the program, making it
29049         easier to run in debugger.  Add some tests.
29050         * modules/canonicalize-tests (Files): Remove unused file.
29051         (Depends-on): Add progname.
29052         (configure.ac, Makefile.am): Simplify.
29053
29054         test-canonicalize-lgpl: consolidate into single C program
29055         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
29056         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
29057         easier to run in debugger.  Add some tests.
29058         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
29059         (configure.ac, Makefile.am): Simplify.
29060
29061         canonicalize: avoid resolvepath
29062         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
29063         unnecessary checks.
29064         * lib/canonicalize.c (includes): Simplify.
29065         (canonicalize_file_name): Drop resolvepath implementation.
29066         * modules/canonicalize (Depends-on): Drop filenamecat.
29067
29068         canonicalize: don't lose errno
29069         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
29070         over calls to free.
29071
29072         canonicalize: simplify errno handling
29073         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
29074         assignment.
29075
29076         canonicalize, canonicalize-lgpl: update module dependencies
29077         * modules/canonicalize (Depends-on): Add extensions, lstat,
29078         pathmax, stdlib.
29079         (Files): Drop pathmax.h.
29080         (configure.ac): Adjust macro name.
29081         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
29082         lstat, stdlib, sys_stat.
29083         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
29084         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
29085         extensions.
29086         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
29087         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
29088         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
29089         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
29090         declaration, if available.
29091         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
29092         we can rely on the readlink module.
29093         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
29094         (includes): Use <unistd.h> unconditionally.
29095
29096 2009-09-17  Eric Blake  <ebb9@byu.net>
29097
29098         maint: make Include sections of modules consistent
29099         * modules/alloca: Use only header name; no need to list #include.
29100         * modules/alloca-opt: Likewise.
29101         * modules/arpa_inet: Likewise.
29102         * modules/canon-host: Likewise.
29103         * modules/configmake: Likewise.
29104         * modules/dirent: Likewise.
29105         * modules/eealloc: Likewise.
29106         * modules/environ: Likewise.
29107         * modules/fchdir: Likewise.
29108         * modules/fcntl: Likewise.
29109         * modules/fcntl-h: Likewise.
29110         * modules/gethrxtime: Likewise.
29111         * modules/gettime: Likewise.
29112         * modules/ignore-value: Likewise.
29113         * modules/inet_ntop: Likewise.
29114         * modules/inet_pton: Likewise.
29115         * modules/inttypes: Likewise.
29116         * modules/isnand-nolibm: Likewise.
29117         * modules/isnanf-nolibm: Likewise.
29118         * modules/mbchar: Likewise.
29119         * modules/mbfile: Likewise.
29120         * modules/mbiter: Likewise.
29121         * modules/mbuiter: Likewise.
29122         * modules/netdb: Likewise.
29123         * modules/netinet_in: Likewise.
29124         * modules/nproc: Likewise.
29125         * modules/pagealign_alloc: Likewise.
29126         * modules/poll: Likewise.
29127         * modules/printf-frexp: Likewise.
29128         * modules/pthread: Likewise.
29129         * modules/putenv: Likewise.
29130         * modules/random_r: Likewise.
29131         * modules/relocatable-prog: Likewise.
29132         * modules/search: Likewise.
29133         * modules/select: Likewise.
29134         * modules/selinux-h: Likewise.
29135         * modules/settime: Likewise.
29136         * modules/signal: Likewise.
29137         * modules/size_max: Likewise.
29138         * modules/socklen: Likewise.
29139         * modules/ssize_t: Likewise.
29140         * modules/stdarg: Likewise.
29141         * modules/stdbool: Likewise.
29142         * modules/stddef: Likewise.
29143         * modules/stdint: Likewise.
29144         * modules/stdio: Likewise.
29145         * modules/stdlib: Likewise.
29146         * modules/string: Likewise.
29147         * modules/strings: Likewise.
29148         * modules/sys_file: Likewise.
29149         * modules/sys_ioctl: Likewise.
29150         * modules/sys_select: Likewise.
29151         * modules/sys_socket: Likewise.
29152         * modules/sys_stat: Likewise.
29153         * modules/sys_time: Likewise.
29154         * modules/sys_times: Likewise.
29155         * modules/sys_utsname: Likewise.
29156         * modules/sys_wait: Likewise.
29157         * modules/sysexits: Likewise.
29158         * modules/time: Likewise.
29159         * modules/times: Likewise.
29160         * modules/tmpfile: Likewise.
29161         * modules/trim: Likewise.
29162         * modules/unistd: Likewise.
29163         * modules/wchar: Likewise.
29164         * modules/wctype: Likewise.
29165
29166 2009-09-17  Bruno Haible  <bruno@clisp.org>
29167
29168         Make getdate.y compile on QNX and NetBSD 5 / i386.
29169         * m4/getdate.m4 (gl_GETDATE): Conditionally define
29170         TIME_T_FITS_IN_LONG_INT.
29171         * lib/getdate.y (long_time_t): New type.
29172         (relative_time): Change type of 'seconds' field to long_time_t.
29173         (get_date): Update types of local variables. Check against overflow
29174         during conversion from long_time_t to time_t.
29175         Reported by Matt Kraai <kraai@ftbfs.org>
29176         and Hasso Tepper <hasso@netbsd.org>.
29177
29178 2009-09-17  Bruno Haible  <bruno@clisp.org>
29179
29180         * modules/COPYING: Update copyright years.
29181         * modules/README: Likeiwse.
29182         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
29183         Reported by Ian Beckwith <ianb@erislabs.net>.
29184
29185 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
29186
29187         * users.txt: Update references for gnuit package.
29188
29189 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
29190
29191         * m4/getdelim.m4: Fix typo in copyright line.
29192
29193 2009-09-17  Bruno Haible  <bruno@clisp.org>
29194
29195         * lib/atoll.c: Use the standard header with GPL copyright.
29196         * lib/argz.in.h: Likewise.
29197         * lib/glob.c: Likewise.
29198         * lib/glob-libc.h: Likewise.
29199         * lib/random_r.c: Likewise.
29200         * lib/siglist.h: Likewise.
29201         * lib/strsignal.c: Likewise.
29202         Reported by Ian Beckwith <ianb@erislabs.net>.
29203
29204 2009-09-17  Eric Blake  <ebb9@byu.net>
29205
29206         rmdir: ensure correct dependency order
29207         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
29208
29209 2009-09-17  Bruno Haible  <bruno@clisp.org>
29210
29211         Disable assertion that fails on NetBSD 5 / i386.
29212         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
29213         Reported by Sam Steingold <sds@gnu.org>
29214         and Hasso Tepper <hasso@netbsd.org>.
29215
29216 2009-09-16  Eric Blake  <ebb9@byu.net>
29217
29218         unlinkdir: port to mingw
29219         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
29220         on which no one can unlink a directory.
29221
29222         stdlib: sort witness names
29223         * modules/stdlib (Makefile.am): Sort replacements.
29224         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
29225         * lib/stdlib.in.h: Likewise.
29226
29227         parse-duration-tests: avoid link failure
29228         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
29229         LIBINTL.
29230         Reported by Tom G. Christensen.
29231
29232         openat-tests: ensure unlinkat behaves like rmdir
29233         * tests/test-rmdir.c (main): Factor guts...
29234         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
29235         * modules/rmdir-tests (Files): Ship new file.
29236         * modules/openat-tests: New test.
29237         * tests/test-unlinkat.c: Likewise.
29238
29239         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
29240         * modules/rmdir-errno (Status, Notice): Now obsolete.
29241
29242         rmdir: work around cygwin 1.5.x and mingw bugs
29243         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
29244         * lib/rmdir.c (rmdir): Work around it.
29245         * modules/rmdir (Status, Notice): No longer obsolete.
29246         (Files): Add dos.m4.
29247         (Depends-on): Add unistd.
29248         (configure.ac): Set witnesses.
29249         (License): Relax to LGPLv2+.
29250         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
29251         * modules/unistd (Makefile.am): Substitute witnesses.
29252         * lib/unistd.in.h (rmdir): Declare replacement.
29253         * doc/posix-functions/rmdir.texi (rmdir): Document this.
29254         * modules/rmdir-tests: New tests.
29255         * tests/test-rmdir.c: Likewise.
29256
29257 2009-09-15  Eric Blake  <ebb9@byu.net>
29258
29259         fchdir: improve use of replacement functions
29260         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
29261         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
29262         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
29263         REPLACE_CLOSEDIR.
29264         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
29265         * modules/sys_stat (Makefile.am): Substitute correct witness.
29266         * modules/dirent (Makefile.am): Likewise.
29267         * modules/unistd (Makefile.am): Likewise.
29268         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
29269         * lib/unistd.in.h (dup): Likewise.
29270         * lib/sys_stat.in.h (fstat): Likewise.
29271
29272         maint: ignore gnulib-tool temp files
29273         * .gitignore: Ignore files created during gnulib-tool --test.
29274
29275 2009-09-13  Jim Meyering  <meyering@redhat.com>
29276
29277         posixtm: don't reject a time that specify "60" as the number of seconds
29278         * lib/posixtm.c (posixtime): The code to reject invalid dates
29279         would also reject a time specified with the .60 suffix.
29280         But POSIX allows that, in order to accommodate leap seconds.
29281         So don't reject it.
29282         (main): Adjust tests accordingly.
29283         * modules/posixtm (Depends-on): Add stpcpy.
29284
29285 2009-09-11  Jim Meyering  <meyering@redhat.com>
29286
29287         announce-gen: include [$release_type] in emitted Subject:
29288         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
29289         e.g., [stable] in the emitted Subject: line.
29290
29291 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29292
29293         Remove obsolete macros from several modules.
29294         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
29295         obsolete Autoconf macros with their modern counterparts.
29296         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
29297         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
29298         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
29299         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
29300         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
29301         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
29302         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
29303         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
29304         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
29305         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
29306         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
29307         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
29308         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
29309         * m4/sockets.m4 (gl_SOCKETS): Likewise.
29310         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
29311         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
29312         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
29313         * m4/time_r.m4 (gl_TIME_R): Likewise.
29314         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
29315         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
29316         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
29317
29318         Fix copyright header in build-aux scripts.
29319         * build-aux/git-version-gen: Fix copyright header to match GPLv3
29320         recommendation.
29321         * build-aux/ncftpput-ftp: Likewise.
29322         * build-aux/update-copyright: Likewise.
29323
29324 2009-09-09  Eric Blake  <ebb9@byu.net>
29325
29326         test-link: allow Linux choice of errno
29327         * tests/test-link.c (main): Relax test for alternate error.
29328
29329         strndup: fix improper m4 caching
29330         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
29331         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
29332         (gl_PREREQ_STRNDUP): Delete.
29333         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
29334         * modules/string (Makefile.am): Substitute it.
29335         * lib/string.in.h (strndup): Modernize prototype.
29336
29337         getcwd: port to mingw
29338         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
29339         different from the POSIX assumptions made throughout the getcwd
29340         module; fortunately, the mingw getcwd does not need replacement.
29341         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
29342         * modules/getcwd-tests: New test.
29343         * tests/test-getcwd.c: Likewise.
29344
29345         link: fix platform bugs
29346         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
29347         * lib/link.c (link): Work around them.  Fix related mingw bug.
29348         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
29349         * modules/unistd (Makefile.am): Substitute it.
29350         * lib/unistd.in.h (link): Declare replacement.
29351         * doc/posix-functions/link.texi (link): Document this.
29352         * modules/link (Depends-on): Add strdup-posix, sys_stat.
29353
29354         test-link: consolidate into single C program, test more cases
29355         * tests/test-link.sh: Delete.
29356         * tests/test-link.c: Test more error conditions.  Exposes bugs on
29357         at least Cygwin and Solaris.
29358         * modules/link-tests (Files): Remove unused file.
29359         (Depends-on): Add errno, sys_stat.
29360         (Makefile.am): Simplify.
29361
29362 2009-09-08  Bruno Haible  <bruno@clisp.org>
29363
29364         Work around towlower, towupper bug on mingw.
29365         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
29366         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
29367         * doc/posix-functions/towlower.texi: Mention the mingw bug.
29368         * doc/posix-functions/towupper.texi: Likewise.
29369         Reported by Eric Blake.
29370
29371 2009-09-08  Jim Meyering  <meyering@redhat.com>
29372
29373         build: don't try to run autoheader if we don't use it
29374         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
29375         is not used in configure.ac.
29376
29377 2009-09-08  Eric Blake  <ebb9@byu.net>
29378
29379         euidaccess: fix compilation error
29380         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
29381
29382         rawmemchr: relax license
29383         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
29384         okay.
29385         Reported by Jim Meyering.
29386
29387         mkfifoat: new module
29388         * modules/mkfifoat: New file.
29389         * lib/mkfifoat.c: Likewise.
29390         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
29391         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
29392         * modules/sys_stat (Makefile.am): Use them.
29393         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
29394         * MODULES.html.sh (File system functions): Mention module.
29395         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
29396         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
29397         * modules/mkfifoat-tests: New test.
29398         * tests/test-mkfifoat.c: Likewise.
29399
29400         strchrnul: relax license
29401         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
29402         okay.
29403         Reported by Jim Meyering.
29404
29405 2009-09-08  Eric Blake  <ebb9@byu.net>
29406
29407         fstatat: fix compilation on Solaris
29408         * lib/fstatat.c (includes): Add fcntl.h.
29409         Reported by Pádraig Brady.
29410
29411 2009-09-07  Eric Blake  <ebb9@byu.net>
29412
29413         rename: modernize replacement
29414         * modules/rename (Depends-on): Add stdio.
29415         (configure.ac): Declare witness.
29416         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
29417         stdio take care of replacement.
29418         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
29419         * modules/stdio (Makefile.am): Substitute them.
29420         * lib/stdio.in.h (rename): Declare replacement.
29421         * lib/rename.c (includes): Allow cross-compilation to non-windows
29422         machines.
29423         * doc/posix-functions/rename.texi (rename): Improve
29424         documentation.
29425
29426         stdio: sort witness names
29427         * modules/stdio (Makefile.am): Sort replacements.
29428         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
29429         * lib/stdio.in.h: Likewise.
29430
29431         getcwd: minor cleanups
29432         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
29433         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
29434
29435         openat: provide more convenience names
29436         * modules/faccessat (configure.ac): Add C witness.
29437         * lib/unistd.in.h (readlinkat): Fix typo.
29438         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
29439         convenience wrappers.
29440         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
29441         wrappers in syntax checks.
29442
29443 2009-09-06  Eric Blake  <ebb9@byu.net>
29444
29445         doc: fix comments in recent patches
29446         * lib/faccessat.c: Mention correct function.
29447         * lib/fchmodat.c: Likewise.
29448         * lib/fchownat.c: Likewise.
29449         * lib/symlinkat.c: Likewise.
29450         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
29451         constants.
29452
29453         faccessat, symlinkat: continue cleanup of previous patch
29454         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
29455         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
29456         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
29457         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
29458         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
29459         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
29460         set.
29461
29462 2009-09-06  Bruno Haible  <bruno@clisp.org>
29463
29464         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
29465         (fstatat): Declare if GNULIB_FSTATAT is set.
29466         (mkdirat): Declare if GNULIB_MKDIRAT is set.
29467         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
29468         (unlinkat): Declare if GNULIB_UNLINKAT is set.
29469         * modules/fcntl-h (Files): Remove m4/openat.m4.
29470         * modules/sys_stat (Files): Remove m4/openat.m4.
29471         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
29472         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
29473         * modules/unistd (Files): Remove m4/openat.m4.
29474         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
29475         GNULIB_OPENAT.
29476         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
29477         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
29478         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
29479         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
29480         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
29481         gl_OPENAT_DEFAULTS.
29482         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
29483         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
29484         Don't require gl_OPENAT_DEFAULTS.
29485         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
29486         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
29487         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
29488         (gl_OPENAT_DEFAULTS): Remove macro.
29489
29490 2009-09-06  Bruno Haible  <bruno@clisp.org>
29491
29492         * modules/openat (configure.ac): Remove unneeded witness.
29493
29494 2009-09-06  Bruno Haible  <bruno@clisp.org>
29495
29496         Set errno to ENOSYS when a function is entirely unsupported.
29497         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
29498         EOPNOTSUPP.
29499         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
29500         * modules/chown (Depends-on): Remove errno.
29501
29502 2009-09-06  Bruno Haible  <bruno@clisp.org>
29503
29504         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
29505
29506 2009-09-06  Bruno Haible  <bruno@clisp.org>
29507
29508         * lib/sys_stat.in.h: Fix preprocessor command indentation.
29509
29510 2009-09-06  Ben Pfaff  <blp@gnu.org>
29511             Bruno Haible  <bruno@clisp.org>
29512
29513         Work around a glibc bug in strtok_r.
29514         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
29515         Undefine if UNDEFINE_STRTOK_R is set.
29516         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
29517         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
29518         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
29519         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
29520         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
29521         UNDEFINE_STRTOK_R.
29522         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
29523
29524 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
29525
29526         exclude: minor fix
29527         * lib/exclude.c: Include wctype.h
29528
29529 2009-09-06  Akim Demaille  <demaille@gostai.com>
29530
29531         bootstrap: improve error message
29532         * build-aux/bootstrap (find_tool): Upon failure, report the list
29533         of candidates.
29534         Honor the initial value of the envvar.
29535
29536 2009-09-05  Eric Blake  <ebb9@byu.net>
29537
29538         symlinkat: new module
29539         * modules/symlinkat: New file.
29540         * lib/symlinkat.c: Likewise.
29541         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
29542         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
29543         * modules/unistd (Makefile.am): Use them.
29544         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
29545         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
29546         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
29547         * MODULES.html.sh (File system functions): Mention module.
29548         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
29549         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
29550         * modules/symlinkat-tests: New test.
29551         * tests/test-symlinkat.c: Likewise.
29552
29553         test-openat-safer: add more checks
29554         * tests/test-openat-safer.c (main): Check more code paths.
29555
29556 2009-09-05  Jim Meyering  <meyering@redhat.com>
29557
29558         syntax-check: detect unnecessary inclusion of openat.h
29559         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
29560
29561 2009-09-05  Bruno Haible  <bruno@clisp.org>
29562
29563         Support towlower, towupper.
29564         * doc/posix-functions/towlower.texi: Mention module wctype.
29565         * doc/posix-functions/towupper.texi: Likewise.
29566         * lib/wctype.in.h (towlower, towupper): New functions.
29567         * tests/test-wctype.c: Include stdio.h, stdlib.h.
29568         (ASSERT): New macro.
29569         (e): New variable.
29570         (main): Test also towlower, towupper. Test WEOF argument.
29571         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
29572
29573 2009-09-05  Bruno Haible  <bruno@clisp.org>
29574
29575         Fix conversion behaviour when the input is invalid.
29576         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
29577         mark occurring in first pass of indirect conversion.
29578         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
29579         input.
29580         Found by clang's static analyzer.
29581
29582 2009-09-05  Bruno Haible  <bruno@clisp.org>
29583
29584         * tests/test-striconveh.c (main): Test indirect conversion on platforms
29585         where direct conversion is possible.
29586
29587 2009-09-04  Eric Blake  <ebb9@byu.net>
29588
29589         openat: fail with ENOENT on empty name
29590         * lib/openat-proc.c (openat_proc_name): Special-case the empty
29591         buffer.
29592
29593         link-follow: fix logic bug in prior patch
29594         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
29595         reversed sense of yes and no in prior patch.  Avoid confusing
29596         compilation failure with desired semantics.
29597
29598         link-follow: accomodate mingw and cross-compilation
29599         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
29600         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
29601         cross-compilation results to -1, to make linkat easier to
29602         implement when cross-compiling.  Trivially support mingw.
29603         * modules/link-follow (configure.ac): Call new name.
29604         * NEWS: Mention this.
29605
29606 2009-09-03  Eric Blake  <ebb9@byu.net>
29607
29608         faccessat: compile replacement
29609         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
29610         needed.
29611
29612         fts: fix compilation error
29613         * lib/fts.c (includes): Re-add "openat.h", for
29614         openat_needs_fchdir.
29615
29616         faccessat: new module
29617         * modules/faccessat: New file.
29618         * lib/faccessat.c: Likewise.
29619         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
29620         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
29621         * modules/unistd (Makefile.am): Use it.
29622         * lib/unistd.in.h (faccessat): Declare it.
29623         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
29624         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
29625         * MODULES.html.sh (File system functions): Mention it.
29626         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
29627         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
29628
29629         euidaccess: prefer POSIX over non-standard implementation
29630         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
29631         * lib/euidaccess.c (euidaccess): Use it if available.
29632
29633         openat: make template easier to use
29634         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
29635         AT_FUNC_F2 to be undefined.
29636         (VALIDATE_FLAG): New macro; use it to reject bad flags.
29637         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
29638         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
29639         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
29640         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
29641         Likewise.
29642         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
29643         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
29644         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
29645         Likewise.
29646
29647         openat: declare in POSIX headers
29648         * NEWS: Mention this.
29649         * modules/openat (configure.ac): Declare witnesses.
29650         (Depends-on): Add fcntl-h, sys_stat, unistd.
29651         (Include): Mention correct headers.
29652         * modules/fcntl-h (Depends-on): Add link-warning.
29653         (Files): Add openat.m4.
29654         (Makefile.am): Substitute witnesses.
29655         * modules/sys_stat (Files, Makefile.am): Likewise.
29656         * modules/unistd (Files, Makefile.am): Likewise.
29657         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
29658         (gl_OPENAT_DEFAULTS): New macro.
29659         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
29660         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
29661         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
29662         (SYS_STAT_H): Remove unused variable.
29663         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
29664         * lib/fcntl--.h (includes): Remove unneeded header.
29665         * lib/openat-safer.c (includes): Likewise.
29666         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
29667         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
29668         appropriate headers.
29669         (__OPENAT_PREFIX): Delete.
29670         * lib/fcntl.in.h (openat): Provide declaration.
29671         (AT_FDCWD): Fix Solaris bug.
29672         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
29673         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
29674         * lib/fchmodat.c (includes):  Adjust to find declaration.
29675         * lib/fchownat.c (includes): Likewise.
29676         * lib/mkdirat.c (includes): Likewise.
29677         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
29678         still visible.
29679
29680 2009-09-02  Eric Blake  <ebb9@byu.net>
29681
29682         errno: use consistently
29683         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
29684         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
29685         * lib/canonicalize.c (ELOOP): Likewise.
29686         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
29687         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
29688         * lib/lchown.c (EOPNOTSUPP): Likewise.
29689         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
29690         * lib/savewd.c (ESTALE): Likewise.
29691         * lib/settime.c (ENOSYS): Likewise.
29692         * lib/utimens.c (ENOSYS): Likewise.
29693         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
29694         * lib/chdir-safer.c (ELOOP): Likewise.
29695         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
29696         * modules/c-stack (Depends-on): Add errno.
29697         * modules/canonicalize (Depends-on): Likewise.
29698         * modules/chdir-safer (Depends-on): Likewise.
29699         * modules/fdopendir (Depends-on): Likewise.
29700         * modules/inet_ntop (Depends-on): Likewise.
29701         * modules/inet_pton (Depends-on): Likewise.
29702         * modules/lchown (Depends-on): Likewise.
29703         * modules/openat (Depends-on): Likewise.
29704         * modules/savewd (Depends-on): Likewise.
29705         * modules/settime (Depends-on): Likewise.
29706         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
29707
29708         fts: avoid leaking fds
29709         * modules/fts (Depends-on): Add cloexec.
29710         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
29711         flag.
29712
29713         fts: make directory fds more robust
29714         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
29715         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
29716
29717         backupfile, chdir-long, fts, savedir: make safer
29718         * lib/backupfile.c (includes): Use "dirent--.h", since
29719         numbered_backup can write to stderr during readdir.
29720         * lib/savedir.c (includes): Likewise.
29721         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
29722         emulation can write to stderr on failure.
29723         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
29724         * lib/getcwd.c: Document why opendir_safer is unused.
29725         * lib/glob.c: Likewise.
29726         * lib/scandir.c: Likewise.
29727         * lib/openat-proc.c: Likewise, for open_safer.
29728         * modules/backupfile (Depends-on): Add dirent-safer.
29729         * modules/savedir (Depends-on): Likewise.
29730         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
29731         * modules/chdir-long (Depends-on): Add openat-safer.
29732
29733         openat-safer: new module
29734         * modules/openat-safer: New file.
29735         * lib/openat-safer.c: Likewise.
29736         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
29737         * lib/fcntl-safer.h (openat_safer): Declare.
29738         * lib/fcntl--.h (openat): Override.
29739         * MODULES.html.sh (File descriptor based I/O): Mention it.
29740         * lib/openat.h: Add double-inclusion guards.
29741         * lib/openat.c (includes): Only include "fcntl-safer.h", not
29742         "fcntl--.h", so we can implement openat.
29743         * modules/openat-safer-tests: New test.
29744         * tests/test-openat-safer.c: New file.
29745
29746         dirent-safer: new module
29747         * modules/dirent-safer: New file.
29748         * lib/dirent--.h: Likewise.
29749         * lib/dirent-safer.h: Likewise.
29750         * lib/opendir-safer.c: Likewise.
29751         * m4/dirent-safer.m4: Likewise.
29752         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
29753         * modules/dirent-safer-tests: New test.
29754         * tests/test-dirent-safer.c: New file.
29755         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
29756
29757         fdopendir: optimize on mingw
29758         * lib/unistd.in.h (_gl_directory_name): New prototype.
29759         * lib/fchdir.c (_gl_directory_name): Implement it.
29760         (fchdir): Use it to simplify implementation.
29761         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
29762         fchdir, when available, to avoid calling [f]chdir().
29763
29764         fdopendir: split into its own module
29765         * lib/openat.c (fdopendir): Move...
29766         * lib/fdopendir.c: ...into new file.
29767         * modules/fdopendir: New module.
29768         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
29769         * modules/openat (Depends-on): Add fdopendir.
29770         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
29771         fdopendir here.
29772         * modules/savedir (Depends-on): Only need fdopendir, not full
29773         openat.
29774         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
29775         * lib/openat.h (fdopendir): Drop prototype.
29776         * lib/dirent.in.h (fdopendir): Provide prototype.
29777         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
29778         * modules/dirent (Makefile.am): Substitute them.
29779         * MODULES.html.sh (File system functions): Mention it.
29780         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
29781         * modules/fdopendir-tests: New file.
29782         * tests/test-fdopendir.c: Likewise.
29783
29784         fchdir: use more consistent macro convention
29785         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
29786         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
29787         REPLACE_FCHDIR, rather than relying on config.h macros.
29788         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
29789         inside a single make-time REPLACE_FCHDIR block, rather than using
29790         the config.h FCHDIR_REPLACEMENT.
29791         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
29792         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
29793         Manage fstat replacement.
29794         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
29795         REPLACE_FCHDIR.
29796         * modules/sys_stat (Files): Add m4/unistd_h.m4.
29797         (Makefile.am): Substitute REPLACE_FCHDIR.
29798         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
29799         FCHDIR_REPLACEMENT.
29800         * lib/dup-safer.c (dup_safer): Likewise.
29801         * lib/dup2.c (rpl_dup2): Likewise.
29802         * lib/dup3.c (rpl_dup3): Likewise.
29803         * lib/open.c (rpl_open): Likewise.
29804
29805         fchdir: simplify error handling, and support dup3
29806         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
29807         stdbool, malloc-posix, realloc-posix.
29808         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
29809         (ensure_dirs_slot): Return false on allocation failure.
29810         (rpl_dup2): Delete.
29811         (_gl_register_dup): New function.
29812         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
29813         (_gl_register_fd): Close fd on allocation failure.
29814         * lib/fcntl.in.h (_gl_register_fd): Update signature.
29815         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
29816         prototype.
29817         (rpl_dup2_fchdir): Delete prototype.
29818         * lib/open.c (open): Update caller.
29819         * lib/dup2.c (dup2): Track fchdir metadata.
29820         * lib/dup3.c (dup3): Likewise.
29821         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
29822         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
29823
29824 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29825
29826         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
29827         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
29828         don't pass arguments to AC_OUTPUT.
29829
29830 2009-09-02  Bruno Haible  <bruno@clisp.org>
29831
29832         * modules/mkdtemp (License): Relicense under LGPLv2+.
29833         Reported by Paolo Bonzini.
29834
29835 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29836
29837         Replace uses of obsolete autoconf macros in Jim's modules.
29838         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
29839         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
29840         can evoke a warning from autoconf when run with -Wobsolete
29841         enabled.  They were declared obsolete for good reasons (see
29842         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
29843         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
29844         should not continue using the deprecated macros.
29845         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
29846         obsolete Autoconf macros with modern counterparts.
29847         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
29848         * m4/dos.m4 (gl_AC_DOS): Likewise.
29849         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
29850         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
29851         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
29852         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
29853         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
29854         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
29855         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
29856         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
29857         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
29858         Likewise.
29859         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
29860         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
29861         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
29862         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
29863         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
29864         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
29865
29866 2009-09-01  Eric Blake  <ebb9@byu.net>
29867
29868         fchdir: fix off-by-one bug in previous patch
29869         * lib/fchdir.c (rpl_fstat): Use correct bounds.
29870         (_gl_unregister_fd): Delete useless if.
29871
29872 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
29873
29874         maint.mk: sort the list of syntax-check rules
29875         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
29876         easier to get a sense of progress when the rules are run sequentially
29877         and take a long time.
29878
29879 2009-09-01  Simon Josefsson  <simon@josefsson.org>
29880
29881         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
29882         * modules/netinet_in: Likewise.
29883         * modules/sys_file: Likewise.
29884         * modules/sys_ioctl: Likewise.
29885         * modules/sys_select: Likewise.
29886         * modules/sys_socket: Likewise.
29887         * modules/sys_stat: Likewise.
29888         * modules/sys_time: Likewise.
29889         * modules/sys_times: Likewise.
29890         * modules/sys_utsname: Likewise.
29891         * modules/sys_wait: Likewise.
29892
29893 2009-09-01  Jim Meyering  <meyering@redhat.com>
29894
29895         fts: help ensure that return values are not ignored
29896         * lib/fts_.h (__GNUC_PREREQ): Define.
29897         (__attribute_warn_unused_result__): Define.
29898         (fts_children, fts_close, fts_open, fts_read): Declare with
29899         __attribute_warn_unused_result__.
29900
29901         fts: fts_close now fails also when closing a dir file descriptor fails
29902         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
29903         and propagate to caller, along with errno.
29904
29905         announce-gen: correct formatting in --help output
29906         * build-aux/announce-gen (usage): Move the one-line description in
29907         --help output "up", to where it belongs, just after Usage:.
29908
29909 2009-08-31  Eric Blake  <ebb9@byu.net>
29910
29911         fchdir: port to mingw
29912         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
29913         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
29914         opened, then use a substitute.
29915         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
29916         replacement.
29917         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
29918         (_gl_register_fd): No need to check stat if open already filters
29919         all directories.
29920         (fchdir): Fix error condition to match POSIX.
29921         * modules/fchdir (Depends-on): Add sys_stat.
29922         * doc/posix-functions/open.texi (open): Document the limitation.
29923         * modules/fchdir-tests: New file.
29924         * tests/test-fchdir.c: Likewise.
29925
29926         canonicalize: allow cross-testing from cygwin to mingw
29927         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
29928         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
29929         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
29930         Likewise.
29931         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
29932         target does not support symlinks.
29933         * tests/test-canonicalize-lgpl.sh: Likewise.
29934
29935         chown: avoid compilation warning on mingw
29936         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
29937         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
29938         mingw.
29939         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
29940         * modules/chown (Depends-on): Add errno.
29941
29942 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
29943
29944         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
29945         command.
29946
29947 2009-08-31  Jim Meyering  <meyering@redhat.com>
29948
29949         canonicalize: remove useless initialization
29950         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
29951         initialization of local, "end".
29952
29953 2009-08-30  Bruno Haible  <bruno@clisp.org>
29954
29955         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
29956         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
29957         ENOSYS.
29958
29959 2009-08-30  Bruno Haible  <bruno@clisp.org>
29960
29961         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
29962         /usr/xpg4/bin/tr when it exists.
29963         * tests/test-pipe-filter-gi1.sh: Likewise.
29964
29965 2009-08-30  Bruno Haible  <bruno@clisp.org>
29966
29967         Work around deficient /usr/bin/id program on Solaris.
29968         * tests/test-file-has-acl.sh (ID): New variable.
29969         * tests/test-set-mode-acl.sh (ID): Likewise.
29970         * tests/test-copy-acl.sh (ID): Likewise.
29971         * tests/test-copy-file.sh (ID): Likewise.
29972
29973 2009-08-30  Bruno Haible  <bruno@clisp.org>
29974
29975         New module 'xstriconveh'.
29976         * lib/xstriconveh.h: New file.
29977         * lib/xstriconveh.c: New file.
29978         * modules/xstriconveh: New file.
29979
29980 2009-08-30  Bruno Haible  <bruno@clisp.org>
29981
29982         Make it easier to use mem_cd_iconveh.
29983         * lib/striconveh.h (iconveh_t): New type.
29984         (iconveh_open, iconveh_close): New declarations.
29985         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
29986         with a single 'const iconveh_t *' argument.
29987         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
29988         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
29989         with a single 'const iconveh_t *' argument.
29990         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
29991         * tests/test-striconveh.c (main): Update.
29992         * NEWS: Mention the change.
29993
29994 2009-08-30  Bruno Haible  <bruno@clisp.org>
29995
29996         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
29997         problem.
29998
29999 2009-08-30  Bruno Haible  <bruno@clisp.org>
30000
30001         Work around iconv_open problem on Solaris.
30002         * lib/iconv_open-solaris.gperf: New file.
30003         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
30004         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
30005         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
30006         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
30007         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
30008         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
30009
30010 2009-08-29  Jim Meyering  <meyering@redhat.com>
30011
30012         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
30013         * top/maint.mk (cvs-check): Remove target; it was just an alias
30014         to the better-named vc-diff-check.
30015         (maintainer-distcheck): Remove rule.  It was used only from
30016         the (alpha/beta/major) target, and all of its commands but one
30017         were coreutils-specific.
30018         (vc-dist): Remove rule.
30019         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
30020         Run vc-diff-check, not vc-dist.
30021         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
30022
30023 2009-08-27  Bruno Haible  <bruno@clisp.org>
30024
30025         * tests/test-bitrotate.c (main): Remove test that uses a shift count
30026         of 0.
30027
30028 2009-08-27  Bruno Haible  <bruno@clisp.org>
30029
30030         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
30031         compilers.
30032         * doc/func.texi: Document the SunPRO C bug.
30033
30034 2009-08-27  Bruno Haible  <bruno@clisp.org>
30035
30036         Fix link error on Solaris.
30037         * tests/test-parse-duration.c (xstrdup): Remove function.
30038
30039 2009-08-26  Pádraig Brady  <P@draigbrady.com>
30040
30041         ignore-value: handle pointer types, too
30042         * lib/ignore-value.h (__attribute__): Remove definition.
30043         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
30044         of a more concise and more-often effective "(void) i" statement.
30045         (ignore_ptr): New function to suppress warnings from functions that
30046         return pointers, and to make it explicit that one function doesn't
30047         handle all cases.
30048
30049 2009-08-25  Bruno Haible  <bruno@clisp.org>
30050
30051         dup2: work around a Linux bug.
30052         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
30053         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
30054         * doc/posix-functions/dup2.texi: Mention the Linux bug.
30055         Reported by Simon Josefsson.
30056
30057 2009-08-25  Jim Meyering  <meyering@redhat.com>
30058
30059         libguestfs uses gnulib
30060         * users.txt: Add libguestfs.
30061
30062 2009-08-24  Eric Blake  <ebb9@byu.net>
30063
30064         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
30065         * lib/pipe2.c (includes): Add binary-io.h.
30066         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
30067
30068 2009-08-24  Bruno Haible  <bruno@clisp.org>
30069
30070         Tolerate declared but missing accept4 syscall.
30071         * lib/accept4.c (accept4): Invoke original accept4 function first, if
30072         available.
30073         * lib/sys_socket.in.h (accept4): If the function is already present,
30074         override it.
30075         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
30076         * modules/accept4 (Makefile.am): Compile accept4.c always.
30077         Reported by Paolo Bonzini and Eric Blake.
30078
30079 2009-08-23  Bruno Haible  <bruno@clisp.org>
30080
30081         New module 'accept4'.
30082         * lib/sys_socket.in.h (accept4): New declaration.
30083         * lib/accept4.c: New file.
30084         * m4/accept4.m4: New file.
30085         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
30086         GNULIB_ACCEPT4, HAVE_ACCEPT4.
30087         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
30088         HAVE_ACCEPT4.
30089         * modules/accept4: New file.
30090         * doc/glibc-functions/accept4.texi: Mention the new module.
30091
30092 2009-08-24  Jim Meyering  <meyering@redhat.com>
30093
30094         progname: also set global program_invocation_name, when possible
30095         Before this change, a libtool-enabled program that calls glibc's
30096         error function would report the program name as
30097         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
30098         * modules/progname (configure.ac): Check for a declaration of
30099         program_invocation_name.
30100         * lib/progname.c:  Include <errno.h>.
30101         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
30102         Set program_invocation_name.
30103
30104 2009-08-23  Bruno Haible  <bruno@clisp.org>
30105
30106         * lib/dup3.c: Include <string.h>.
30107
30108 2009-08-23  Bruno Haible  <bruno@clisp.org>
30109
30110         * lib/dup3.c (dup3): Test only once whether the system actually exists.
30111         * lib/pipe2.c (pipe2): Likewise.
30112         Suggested by Eric Blake.
30113
30114 2009-08-23  Bruno Haible  <bruno@clisp.org>
30115
30116         Tolerate declared but missing dup3 syscall.
30117         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
30118         * lib/unistd.in.h (dup3): If the function is already present,
30119         override it.
30120         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
30121         * modules/dup3 (Makefile.am): Compile dup3.c always.
30122         Reported by Paolo Bonzini.
30123
30124 2009-08-23  Bruno Haible  <bruno@clisp.org>
30125
30126         Tolerate declared but missing pipe2 syscall.
30127         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
30128         available.
30129         * lib/unistd.in.h (pipe2): If the function is already present,
30130         override it.
30131         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
30132         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
30133         Reported by Paolo Bonzini.
30134
30135 2009-08-23  Bruno Haible  <bruno@clisp.org>
30136
30137         * lib/pipe2.c (pipe2): Move #ifs inside function.
30138
30139 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
30140
30141         quotearg: document limitations of quote_these_too
30142         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
30143         those limitations are created.
30144         * lib/quotearg.h (set_char_quoting): Document that digits and
30145         letters that are special after backslash are not permitted.
30146         (quotearg_char): Cross-reference set_char_quoting documentation.
30147
30148 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
30149
30150         quotearg: implement custom_quoting_style
30151         * lib/quotearg.c: (struct quoting_options): Add left_quote and
30152         right_quote fields.
30153         (set_custom_quoting): New public function.
30154         (quotearg_buffer_restyled): Add left_quote and right_quote
30155         arguments, handle them very much like locale quoting, and update
30156         all uses.
30157         (quotearg_n_custom): New public function.
30158         (quotearg_n_custom_mem): New public function.
30159         (quotearg_custom): New public function.
30160         (quotearg_custom_mem): New public function.
30161         * lib/quotearg.h: Prototype and document new public functions.
30162         (enum quoting_style): For escape_quoting_style and
30163         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
30164         ignored even though they're otherwise like c_quoting_style.
30165         Add custom_quoting_style member and document with comparison to
30166         clocale_quoting_style.
30167         * tests/test-quotearg.c (custom_quotes): New array.
30168         (custom_results): New array.
30169         (main): Extend to test custom quoting.
30170
30171 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
30172
30173         quotearg: fix right quote escaping when it's in quote_these_too
30174         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
30175         quote, be sure to prepend only one backslash.
30176         * tests/test-quotearg.c (use_quote_double_quotes): New function.
30177         (main): Test it.
30178
30179 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
30180
30181         quotearg-tests: test escaping of embedded locale quotes
30182         * tests/test-quotearg.c (struct result_strings): Add member for
30183         new input.
30184         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
30185         (inputs): Add new input.
30186         (results_g): Add expected results.
30187         (flag_results): Likewise.
30188         (locale_results): Likewise.
30189         (compare_strings): Check those.
30190
30191 2009-08-23  Bruno Haible  <bruno@clisp.org>
30192
30193         Tests for module 'dup3'.
30194         * modules/dup3-tests: New file.
30195         * tests/test-dup3.c: New file.
30196
30197         New module 'dup3'.
30198         * lib/unistd.in.h (dup3): New declaration.
30199         * lib/dup3.c: New file.
30200         * m4/dup3.m4: New file.
30201         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
30202         HAVE_DUP3.
30203         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
30204         * modules/dup3: New file.
30205         * doc/glibc-functions/dup3.texi: Mention the new module.
30206
30207 2009-08-23  Bruno Haible  <bruno@clisp.org>
30208
30209         Tweak the dup2 test.
30210         * tests/test-dup2.c (main): Create the test file empty. Verify that an
30211         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
30212         the test file is still empty. Fix argument order of lseek.
30213
30214 2009-08-23  Bruno Haible  <bruno@clisp.org>
30215
30216         Avoid test link errors when the modules getopt-gnu, gettext are used.
30217         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
30218         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30219
30220 2009-08-23  Bruno Haible  <bruno@clisp.org>
30221
30222         Fix getdtablesize() on mingw.
30223         * lib/getdtablesize.c (getdtablesize): Implement differently.
30224         * lib/unistd.in.h (getdtablesize): Improve comment.
30225
30226 2009-08-23  Bruno Haible  <bruno@clisp.org>
30227
30228         New module 'mkostemp'.
30229         Based on Ulrich Drepper's 2007-08-10 change in glibc.
30230         * lib/stdlib.in.h (mksotemp): New declaration.
30231         * lib/mkostemp.c: New file, from glibc with modifications.
30232         * lib/tempname.h (GT_FILE): Remove outdated comment.
30233         (gen_tempname): Add flags argument.
30234         * lib/tempname.c (__GT_BIGFILE): Remove macro.
30235         (__GT_FILE): Map to 1.
30236         (small_open, large_open): Remove macros.
30237         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
30238         * lib/mkstemp.c (mkstemp): Update.
30239         * lib/mkdtemp.c (mkdtemp): Likewise.
30240         * m4/mkostemp.m4: New file.
30241         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
30242         HAVE_MKOSTEMP.
30243         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
30244         HAVE_MKOSTEMP.
30245         * modules/mkostemp: New file, based on modules/mkstemp.
30246         * doc/glibc-functions/mkostemp.texi: Mention the new module.
30247         * NEWS: Mention the change.
30248
30249 2009-08-23  Bruno Haible  <bruno@clisp.org>
30250
30251         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
30252         Reported by Eric Blake.
30253
30254 2009-08-23  Bruno Haible  <bruno@clisp.org>
30255
30256         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
30257         Reported by Eric Blake.
30258
30259 2009-08-23  Bruno Haible  <bruno@clisp.org>
30260
30261         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
30262         * modules/pipe2 (Depends-on): Likewise.
30263
30264 2009-08-23  Eric Blake  <ebb9@byu.net>
30265
30266         fcntl-h: add O_TTY_INIT support
30267         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
30268         * tests/test-fcntl-h.c (o): Test it.
30269         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
30270
30271         fcntl-h: rename from fcntl, in preparation for fcntl(2)
30272         * modules/fcntl: Move <fcntl.h> header replacement...
30273         * modules/fcntl-h: ...to new name, so as not to collide with
30274         like-named function.
30275         * tests/test-fcntl.c: Rename...
30276         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
30277         * modules/fcntl-tests: Rename...
30278         * modules/fcntl-h-tests: ...to this.  Update test file name.
30279         * modules/chdir-long (Depends-on): Update clients.
30280         * modules/chdir-safer (Depends-on): Likewise.
30281         * modules/fcntl-safer (Depends-on): Likewise.
30282         * modules/fts (Depends-on): Likewise.
30283         * modules/mkancesdirs (Depends-on): Likewise.
30284         * modules/mkdir-p (Depends-on): Likewise.
30285         * modules/open (Depends-on): Likewise.
30286         * modules/savewd (Depends-on): Likewise.
30287         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
30288         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
30289
30290 2009-08-22  Bruno Haible  <bruno@clisp.org>
30291
30292         * modules/binary-io (License): Relicense under LGPL.
30293         * modules/pipe2 (License): Likewise.
30294
30295 2009-08-22  Bruno Haible  <bruno@clisp.org>
30296
30297         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
30298         return value.
30299         * lib/pipe-filter-gi.c (filter_init): Likewise.
30300         Reported by Eric Blake.
30301
30302 2009-08-22  Bruno Haible  <bruno@clisp.org>
30303
30304         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
30305         * modules/pipe (Depends-on): Add pipe2.
30306
30307 2009-08-22  Bruno Haible  <bruno@clisp.org>
30308
30309         Tests for module 'pipe2'.
30310         * modules/pipe2-tests: New file.
30311         * tests/test-pipe2.c: New file.
30312
30313         New module 'pipe2'.
30314         * lib/unistd.in.h (pipe2): New declaration.
30315         * lib/pipe2.c: New file.
30316         * m4/pipe2.m4: New file.
30317         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
30318         HAVE_PIPE2.
30319         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
30320         * modules/pipe2: New file.
30321         * doc/glibc-functions/pipe2.texi: Mention the new module.
30322
30323 2009-08-22  Bruno Haible  <bruno@clisp.org>
30324
30325         Reference some new glibc functions.
30326         * doc/glibc-functions/accept4.texi: New file.
30327         * doc/glibc-functions/dup3.texi: New file.
30328         * doc/glibc-functions/mkostemp.texi: New file.
30329         * doc/glibc-functions/pipe2.texi: New file.
30330         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
30331         (Glibc sys/socket.h): Refer to accept4.
30332         (Glibc unistd.h): Refer to dup3, pipe2.
30333         Reported by Eric Blake.
30334
30335 2009-08-22  Jim Meyering  <meyering@redhat.com>
30336             Bruno Haible  <bruno@clisp.org>
30337
30338         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
30339         This makes it so packages using automake-1.11's silent-rules option
30340         can print e.g., a single "GEN    configmake.h" line, rather than
30341         the 30+ statements that perform the job.  If you want to see the
30342         actual commands, you can still run "make V=1".
30343         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
30344         so that make output is abbreviated when those variables are defined
30345         appropriately.
30346         * modules/argz: Likewise.
30347         * modules/arpa_inet: Likewise.
30348         * modules/byteswap: Likewise.
30349         * modules/configmake: Likewise.
30350         * modules/dirent: Likewise.
30351         * modules/errno: Likewise.
30352         * modules/fcntl: Likewise.
30353         * modules/float: Likewise.
30354         * modules/fnmatch: Likewise.
30355         * modules/getopt-posix: Likewise.
30356         * modules/glob: Likewise.
30357         * modules/iconv_open: Likewise.
30358         * modules/inttypes: Likewise.
30359         * modules/localcharset: Likewise.
30360         * modules/locale: Likewise.
30361         * modules/math: Likewise.
30362         * modules/netdb: Likewise.
30363         * modules/netinet_in: Likewise.
30364         * modules/poll: Likewise.
30365         * modules/posix_spawnp-tests: Likewise.
30366         * modules/sched: Likewise.
30367         * modules/search: Likewise.
30368         * modules/selinux-h: Likewise.
30369         * modules/signal: Likewise.
30370         * modules/spawn: Likewise.
30371         * modules/stdarg: Likewise.
30372         * modules/stdbool: Likewise.
30373         * modules/stddef: Likewise.
30374         * modules/stdint: Likewise.
30375         * modules/stdio: Likewise.
30376         * modules/stdlib: Likewise.
30377         * modules/string: Likewise.
30378         * modules/strings: Likewise.
30379         * modules/sys_file: Likewise.
30380         * modules/sys_ioctl: Likewise.
30381         * modules/sys_select: Likewise.
30382         * modules/sys_socket: Likewise.
30383         * modules/sys_stat: Likewise.
30384         * modules/sys_time: Likewise.
30385         * modules/sys_times: Likewise.
30386         * modules/sys_utsname: Likewise.
30387         * modules/sys_wait: Likewise.
30388         * modules/sysexits: Likewise.
30389         * modules/time: Likewise.
30390         * modules/unistd: Likewise.
30391         * modules/wchar: Likewise.
30392         * modules/wctype: Likewise.
30393
30394 2009-08-22  Jim Meyering  <meyering@redhat.com>
30395
30396         announce-gen: detect write failure
30397         * build-aux/announce-gen: Add Coda at end.
30398         Remove equivalent-but-more-verbose block at top.
30399
30400 2009-08-19  Akim Demaille  <demaille@gostai.com>
30401
30402         bootstrap: --help to stdout.
30403         * bootstrap (usage): Don't send --help to stderr.
30404         Use a here doc instead of a long string.
30405
30406 2009-08-21  Eric Blake  <ebb9@byu.net>
30407
30408         test-popen-safer: split from test-popen
30409         * tests/test-popen.c (main): Move...
30410         * tests/test-popen.h: ...into new file.
30411         * tests/test-popen-safer2.c: New file.
30412         * modules/popen-tests (Files): Add test-popen.h.
30413         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
30414         Suggested by Bruno Haible.
30415
30416         test-fcntl-safer: split from test-open
30417         * tests/test-open.c (main): Move...
30418         * tests/test-open.h: ...into new file.
30419         * tests/test-fcntl-safer.c: New file.
30420         * modules/open-tests (Files): Add test-open.h.
30421         * modules/fcntl-safer-tests: New file.
30422         Suggested by Bruno Haible.
30423
30424         test-fopen-safer: split from test-fopen
30425         * tests/test-fopen.c (main): Move...
30426         * tests/test-fopen.h: ...into new file.
30427         * tests/test-fopen-safer.c: New file.
30428         * modules/fopen-tests (Files): Add test-fopen.h.
30429         * modules/fopen-safer-tests: New file.
30430         Suggested by Bruno Haible.
30431
30432 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
30433
30434         popen-safer: test O_CLOEXEC at run-time.
30435         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
30436
30437 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
30438
30439         fcntl: move more flags to the header
30440         * lib/cloexec.c: Do not define FD_CLOEXEC here.
30441         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
30442         * lib/fcntl.in.h: Do both things here.
30443
30444 2009-08-21  Jim Meyering  <meyering@redhat.com>
30445
30446         consistently remove $@-t before redirecting to it
30447         * modules/argz: Remove $@-t and $@ before redirecting to the former.
30448         * modules/alloca-opt: Likewise.
30449         * modules/byteswap: Likewise.
30450         * modules/fnmatch: Likewise.
30451         * modules/getopt-posix: Likewise.
30452         * modules/glob: Likewise.
30453         * modules/poll: Likewise.
30454         * modules/posix_spawnp-tests: Likewise.
30455         * modules/sys_socket: Likewise.
30456         * modules/sysexits: Likewise.
30457
30458 2009-08-21  Eric Blake  <ebb9@byu.net>
30459
30460         popen: simplify access to original popen
30461         * lib/popen.c (rpl_popen): No need to worry about popen being a
30462         macro.
30463         Reported by Bruno Haible.
30464
30465 2009-08-20  Eric Blake  <ebb9@byu.net>
30466
30467         build: avoid some compiler warnings
30468         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
30469         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
30470         type.
30471         (new_exclude_segment, excluded_file_pattern_p)
30472         (excluded_file_name_p): Reduce scope.
30473         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
30474         old-style declaration.
30475
30476 2009-08-20  Simon Josefsson  <simon@josefsson.org>
30477
30478         * tests/test-exclude1.sh: Handle Windows EOL.
30479         * tests/test-exclude2.sh: Likewise.
30480         * tests/test-exclude3.sh: Likewise.
30481         * tests/test-exclude4.sh: Likewise.
30482         * tests/test-exclude5.sh: Likewise.
30483         * tests/test-exclude6.sh: Likewise.
30484         * tests/test-exclude7.sh: Likewise.
30485
30486 2009-08-19  Akim Demaille  <demaille@gostai.com>
30487
30488         bootstrap: find sha1sum when named gsha1sum.
30489         * bootstrap (find_tool): New.
30490         ($SHA1SUM): New.
30491         Use it.
30492
30493 2009-08-20  Jim Meyering  <meyering@redhat.com>
30494
30495         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
30496         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
30497         expression that converts "." in a file name to "\." in the resulting
30498         regexp.  Start with a dummy statement, so that prior shell variable
30499         definitions are expanded portably.  Reported by Simon Josefsson.
30500
30501 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
30502
30503         Fix polling for writeability of a screen buffer.
30504         * lib/poll.c: Distinguish input and screen buffers for the
30505         Win32 implementation.
30506         * lib/select.c: Likewise.
30507
30508 2009-08-19  Eric Blake  <ebb9@byu.net>
30509
30510         popen-safer: prevent popen from clobbering std descriptors
30511         * modules/popen-safer: New file.
30512         * lib/popen-safer.c: Likewise.
30513         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
30514         * lib/stdio--.h (popen): Provide override.
30515         * lib/stdio-safer.h (popen_safer): Provide declaration.
30516         * tests/test-popen.c (includes): Partially test this.
30517         * modules/popen-safer-tests: New file, for more tests.
30518         * tests/test-popen-safer.c: Likewise.
30519         * MODULES.html.sh (file stream based Input/Output): Mention it.
30520
30521         tests: test some of the *-safer modules
30522         * modules/fopen-safer (Depends-on): Add fopen.
30523         * modules/fcntl-safer (Depends-on): Add fcntl.
30524         * modules/stdlib-safer (Depends-on): Add stdlib.
30525         (configure.ac): Set indicator.
30526         * modules/unistd-safer (configure.ac): Likewise.
30527         * modules/tmpfile-safer (configure.ac): Likewise.
30528         (Depends-on): Add tmpfile.
30529         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
30530         active.
30531         * tests/test-fopen.c (includes): Test safer versions when they are
30532         in use.
30533         * tests/test-open.c (includes): Likewise.
30534
30535         popen: fix cygwin 1.5 bug when stdin closed
30536         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
30537         * modules/popen: New file.
30538         * modules/popen-tests: Likewise.
30539         * tests/test-popen.c: Likewise.
30540         * m4/popen.m4: Likewise.
30541         * lib/popen.c: Likewise.
30542         * lib/stdio.in.h (popen): New declaration.
30543         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
30544         * modules/stdio (Makefile.am): Likewise.
30545         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
30546
30547 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
30548
30549         maint.mk: give full control over update-copyright exclusions
30550         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
30551         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
30552         (update-copyright): Don't force inclusion of top-level
30553         ChangeLog.  Don't force exclusion of all COPYING files, but make
30554         them the default exclusion instead.
30555
30556 2009-08-16  Bruno Haible  <bruno@clisp.org>
30557
30558         Fix test failures on Solaris 10.
30559         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
30560         tests when Solaris iconv() is used.
30561         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
30562         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
30563         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
30564         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
30565         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
30566
30567 2009-08-16  Bruno Haible  <bruno@clisp.org>
30568
30569         Fix test failures on Solaris 10.
30570         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
30571         'tr' program and pass it as first argument.
30572         * tests/test-pipe-filter-gi1.sh: Likewise.
30573         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
30574         program as first argument.
30575         * tests/test-pipe-filter-gi1.c (main): Likewise.
30576
30577 2009-08-16  Eric Blake  <ebb9@byu.net>
30578
30579         fpurge: fix previous commits
30580         * modules/fpurge (Makefile.am): Make replacement conditional,
30581         partially reverting 2007-04-29 change; missed in previous
30582         attempt.
30583         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
30584         is missing.
30585
30586 2009-08-16  Bruno Haible  <bruno@clisp.org>
30587
30588         Clarify fpurge's effect on the file position.
30589         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
30590         * tests/test-fpurge.c (main): Make a second pass for checking the file
30591         position.
30592
30593 2009-08-16  Bruno Haible  <bruno@clisp.org>
30594
30595         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
30596         declaration of fpurge is missing.
30597         * tests/test-fpurge.c (main): Check that the file has not more contents
30598         than expected. Close the file before removing it.
30599
30600 2009-08-15  Eric Blake  <ebb9@byu.net>
30601
30602         fpurge: don't wrap working cygwin implementation
30603         * lib/fpurge.c (fpurge): Fix comment typo.
30604         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
30605         1.7 to avoid replacement.
30606         * tests/test-fpurge.c (main): Enhance test.
30607
30608 2009-08-15  Eric Blake  <ebb9@byu.net>
30609         and Jim Meyering  <meyering@redhat.com>
30610
30611         test-update-copyright: skip if perl is insufficient
30612         * tests/test-update-copyright.sh: Failure to run maintainer tool
30613         should not cause testsuite failure on cygwin 1.5.
30614
30615 2009-08-14  Eric Blake  <ebb9@byu.net>
30616
30617         doc: mention more functions added in cygwin 1.7.0
30618         * doc/posix-headers/limits.texi (limits.h): Update for recent
30619         cygwin additions.
30620         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
30621         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
30622         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
30623         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
30624         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
30625
30626 2009-08-14  Eric Blake  <ebb9@byu.net>
30627
30628         maint.mk: simplify update-copyright rule
30629         * top/maint.mk (update-copyright-local): Delete, and document how
30630         to do it in cfg.mk instead.
30631         (update-copyright-exclude-regexp): Delete, and document how to do
30632         it in .x-update-copyright instead.
30633         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
30634         exclude ChangeLog.
30635
30636 2009-08-14  Bruno Haible  <bruno@clisp.org>
30637
30638         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
30639
30640 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
30641
30642         maint.mk: support update-copyright-env
30643         * top/maint.mk (update-copyright-env): Define place-holder.
30644         (update-copyright): Expand $(update-copyright-env) before
30645         invoking update-copyright.
30646
30647 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
30648
30649         update-copyright: implement forced reformatting
30650         * build-aux/update-copyright: Implement and document
30651         UPDATE_COPYRIGHT_FORCE.
30652         * tests/test-update-copyright.sh: Test it.
30653
30654 2009-08-14  Eric Blake  <ebb9@byu.net>
30655         and Bruno Haible  <bruno@clisp.org>
30656
30657         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
30658         * tests/test-locale.c: Revert previous patch related to NULL.
30659         * tests/test-stdio.c: Likewise.
30660         * tests/test-stdlib.c: Likewise.
30661         * tests/test-string.c: Likewise.
30662         * tests/test-unistd.c: Likewise.
30663         * modules/time-tests (Depends-on): Add verify.
30664         * modules/wchar-tests (Depends-on): Likewise.
30665         * tests/test-time.c: Test for NULL compliance.
30666         * tests/test-wchar.c: Likewise.
30667         * modules/locale (Depends-on): Add stddef.
30668         * modules/stdio (Depends-on): Likewise.
30669         * modules/stdlib (Depends-on): Likewise.
30670         * modules/string (Depends-on): Likewise.
30671         * modules/time (Depends-on): Likewise.
30672         * modules/unistd (Depends-on): Likewise.
30673         * modules/wchar (Depends-on): Likewise.
30674         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
30675         * lib/stdlib.in.h (includes): Likewise.
30676         * lib/string.in.h (includes): Likewise.
30677         * lib/time.in.h (includes): Likewise.
30678         * lib/unistd.in.h (includes): Likewise.
30679         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
30680         replaced.
30681         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
30682         * m4/stddef_h.m4: New file.
30683         * modules/stddef: Likewise.
30684         * lib/stddef.in.h: Likewise.
30685         * modules/stddef-tests: Likewise.
30686         * tests/test-stddef.c: Likewise.
30687         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
30688         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
30689         * doc/posix-headers/locale.texi (locale.h): Likewise.
30690         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
30691         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
30692         * doc/posix-headers/string.texi (string.h): Likewise.
30693         * doc/posix-headers/time.texi (time.h): Likewise.
30694         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
30695         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
30696
30697 2009-08-14  Eric Blake  <ebb9@byu.net>
30698
30699         doc: improve git diff of texinfo files
30700         * .gitattributes: Add rule for *.texi files, with hint on how to
30701         use it.
30702         Copied from m4, and based on a report by Bruno Haible.
30703
30704 2009-08-14  Bruno Haible  <bruno@clisp.org>
30705
30706         Disable multithread support by default on Cygwin 1.5.x for real.
30707         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
30708
30709 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
30710
30711         update-copyright: much ado about intervals
30712         * build-aux/update-copyright: Implement and document
30713         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
30714         of copyright year intervals.
30715         Also, document UPDATE_COPYRIGHT_YEAR.
30716         * tests/test-update-copyright.sh: Test it.
30717
30718         update-copyright: convert 2-digit to 4-digit years
30719         * build-aux/update-copyright: Implement and document.
30720         * tests/test-update-copyright.sh: Update.
30721
30722 2009-08-14  Jim Meyering  <meyering@redhat.com>
30723
30724         test-exclude: avoid coreutils "make check" failure
30725         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
30726         just as in test-argmatch.c.
30727
30728 2009-08-13  Eric Blake  <ebb9@byu.net>
30729
30730         test-dup2: fix bad assumption
30731         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
30732         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
30733
30734         test-version-etc: fix CRLF portability issue
30735         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
30736         recognize \r.
30737         * tests/test-argp-version-etc-1.sh: Likewise.
30738
30739         getopt: update client modules
30740         * modules/argp (Depends-on): Use getopt-gnu.
30741         * modules/git-merge-changelog (Depends-on): Likewise.
30742         * modules/long-options (Depends-on): Likewise.
30743         * modules/xstrtol (Depends-on): Likewise.
30744
30745 2009-08-13  Simon Josefsson  <simon@josefsson.org>
30746
30747         * tests/test-version-etc.sh: Don't fail on different
30748         project/version.  Don't fail on CRLF differences.  Rewrite to use
30749         multiple -e instead of multiple sed forks, suggested by Eric Blake
30750         <ebb9@byu.net>.
30751         * tests/test-argp-version-etc-1.sh: Likewise.
30752
30753 2009-08-13  Simon Josefsson  <simon@josefsson.org>
30754
30755         * tests/test-version-etc.sh: Don't fail on different
30756         project/version.
30757
30758 2009-08-12  Bruno Haible  <bruno@clisp.org>
30759
30760         Tests for modules 'getopt-posix', 'getopt-gnu'.
30761         * modules/getopt-posix-tests: New file.
30762         * tests/test-getopt.c: New file.
30763         * tests/test-getopt.h: New file.
30764         * tests/test-getopt_long.h: New file.
30765
30766         New modules 'getopt-posix', 'getopt-gnu'.
30767         * modules/getopt-gnu: New file, renamed from modules/getopt.
30768         * modules/getopt-posix: New file.
30769         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
30770         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
30771         (gl_GETOPT): Remove macro.
30772         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
30773         Disable the test against BSD systems that declare optreset. Test
30774         against mingw bug. Test against lack of support of optional arguments
30775         on many platforms.
30776         * doc/glibc-headers/getopt.texi: Update module name and list of
30777         relevant platforms.
30778         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
30779         'getopt-gnu' and more portability problems.
30780         * NEWS: Mention the changes.
30781
30782 2009-08-12  Bruno Haible  <bruno@clisp.org>
30783
30784         Ensure that optarg etc. get declared by <unistd.h>.
30785         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
30786         AC_USE_SYSTEM_EXTENSIONS.
30787         * modules/getopt (Depends-on): Add 'extensions'.
30788
30789 2009-08-12  Bruno Haible  <bruno@clisp.org>
30790
30791         Avoid test link errors.
30792         * modules/pipe-filter-ii-tests (Makefile.am): Define
30793         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
30794         * modules/pipe-filter-gi-tests (Makefile.am): Define
30795         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
30796         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30797
30798 2009-08-12  Bruno Haible  <bruno@clisp.org>
30799
30800         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
30801         gl_GETOPT_SUBSTITUTE before.
30802         (gl_GETOPT): Use it.
30803         * m4/argp.m4 (gl_ARGP): Update.
30804         Reported by Sergey Poznyakoff.
30805
30806         * m4/getopt.m4: Reorder macros.
30807         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
30808         (gl_GETOPT_SUBSTITUTE): Remove macro.
30809
30810 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
30811
30812         Minor improvement in gitlog-to-changelog
30813
30814         * build-aux/gitlog-to-changelog: New option `--format' makes
30815         output format string configurable.
30816
30817 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
30818
30819         Optimize exclude: use hash tables for non-wildcard patterns.
30820
30821         * lib/exclude.c: Include hash.h and mbuiter.h
30822         (struct exclude_pattern, exclude_segment): New data types.
30823         (struct exclude): Rewrite.
30824         (fnmatch_pattern_has_wildcards): New function.
30825         (new_exclude_segment, free_exclude_segment): New functions.
30826         (excluded_file_pattern_p, excluded_file_name_p): New functions.
30827         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
30828         * lib/exclude.h (is_fnmatch_pattern): New prototype.
30829         * modules/exclude: Depend on hash and mbuiter.
30830
30831         * modules/exclude-tests: New file.
30832         * tests/test-exclude.c: New file.
30833         * tests/test-exclude1.sh: New file.
30834         * tests/test-exclude2.sh: New file.
30835         * tests/test-exclude3.sh: New file.
30836         * tests/test-exclude4.sh: New file.
30837         * tests/test-exclude5.sh: New file.
30838         * tests/test-exclude6.sh: New file.
30839         * tests/test-exclude7.sh: New file.
30840
30841 2009-08-12  Bruno Haible  <bruno@clisp.org>
30842
30843         Ensure that getopt() gets declared by <unistd.h>.
30844         * lib/unistd.in.h: Conditionally include getopt.h.
30845         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
30846         Set GNULIB_UNISTD_H_GETOPT.
30847         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
30848         GNULIB_UNISTD_H_GETOPT.
30849         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
30850
30851 2009-08-12  Bruno Haible  <bruno@clisp.org>
30852
30853         Clarify logic.
30854         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
30855         gl_replace_getopt instead of GETOPT_H.
30856
30857 2009-08-12  Bruno Haible  <bruno@clisp.org>
30858
30859         * m4/getopt.m4: Add comments.
30860
30861 2009-08-12  Bruno Haible  <bruno@clisp.org>
30862
30863         Disable multithread support by default on Cygwin 1.5.x.
30864         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
30865         set gl_use_threads=no if not specified otherwise.
30866
30867 2009-08-11  Bruno Haible  <bruno@clisp.org>
30868
30869         Avoid compilation error on NetBSD 5.0.
30870         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
30871         * tests/test-stdio.c: Likewise.
30872         * tests/test-stdlib.c: Likewise.
30873         * tests/test-string.c: Likewise.
30874         * tests/test-unistd.c: Likewise.
30875         Reported by Greg Troxel <gdt@ir.bbn.com>
30876         at <https://savannah.gnu.org/support/?106973>.
30877
30878 2009-08-11  Bruno Haible  <bruno@clisp.org>
30879
30880         * modules/dup2-tests (Depends-on): Remove close.
30881
30882         Undo 2009-07-19 commit.
30883         * modules/acl-tests (Depends-on): Remove close.
30884         * modules/binary-io-tests (Depends-on): Likewise.
30885         * modules/closein-tests (Depends-on): Likewise.
30886         * modules/flock-tests (Depends-on): Likewise.
30887         * modules/fsync-tests (Depends-on): Likewise.
30888         * modules/lseek-tests (Depends-on): Likewise.
30889         * modules/pipe-tests (Depends-on): Likewise.
30890         * modules/posix_spawn-tests (Depends-on): Likewise.
30891         * modules/posix_spawnp-tests (Depends-on): Likewise.
30892         * modules/stat-time-tests (Depends-on): Likewise.
30893         * modules/yesno-tests (Depends-on): Likewise.
30894
30895 2009-08-10  Bruno Haible  <bruno@clisp.org>
30896
30897         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
30898
30899 2009-08-10  Bruno Haible  <bruno@clisp.org>
30900
30901         Fix a gcc warning.
30902         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
30903
30904 2009-08-10  Bruno Haible  <bruno@clisp.org>
30905
30906         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
30907         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
30908         not only the first time.
30909         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
30910         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
30911         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
30912         is 1, not only the the first time.
30913
30914 2009-08-10  Bruno Haible  <bruno@clisp.org>
30915
30916         Make it possible to use module 'gethostname' without module 'close'.
30917         * lib/unistd.in.h (close): Evoke a link error only if
30918         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
30919         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
30920         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
30921         * modules/unistd (Makefile.am): Substitute
30922         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
30923         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
30924         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
30925         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
30926         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
30927         * modules/sys_ioctl (Makefile.am): Substitute
30928         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
30929         * modules/socket (configure.ac): On native Windows, set
30930         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
30931         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
30932         Reported by Sam Steingold <sds@gnu.org>.
30933
30934 2009-08-10  Bruno Haible  <bruno@clisp.org>
30935
30936         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
30937         * modules/ioctl (configure.ac): Likewise.
30938
30939 2009-08-10  Bruno Haible  <bruno@clisp.org>
30940
30941         Avoid collision between gnulib wrapper and libintl wrapper.
30942         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
30943         already defined in intl/printf.c.
30944         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
30945         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
30946
30947 2009-08-09  Bruno Haible  <bruno@clisp.org>
30948
30949         Make <sys/select.h> really self-contained, also on Solaris 10.
30950         * lib/sys_select.in.h: Include <string.h>.
30951         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
30952         Solaris 10 problem.
30953         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
30954         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
30955         Reported by Jim Meyering.
30956
30957 2009-08-09  Bruno Haible  <bruno@clisp.org>
30958
30959         Avoid warnings from 'aclocal' that are due to a use of macro name
30960         AM_XGETTEXT_OPTION that is not defined in automake.
30961         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
30962         automake.
30963         * modules/error (configure.ac): Likewise.
30964         * modules/propername (configure.ac): Likewise.
30965         * modules/vasprintf (configure.ac): Likewise.
30966         * modules/verror (configure.ac): Likewise.
30967         * modules/xprintf (configure.ac): Likewise.
30968         * modules/xvasprintf (configure.ac): Likewise.
30969
30970 2009-08-08  Bruno Haible  <bruno@clisp.org>
30971
30972         Avoid compilation error in C++ mode.
30973         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
30974         Reported by Sam Steingold <sds@gnu.org>.
30975
30976 2009-08-08  Bruno Haible  <bruno@clisp.org>
30977
30978         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
30979         for the various Unix platforms.
30980         * doc/posix-headers/limits.texi: Update platforms list regarding
30981         HOST_NAME_MAX.
30982         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30983
30984 2009-08-07  Jim Meyering  <meyering@redhat.com>
30985
30986         selinux-at: fix typo in a comment
30987         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
30988         Spotted by Paolo Bonzini.
30989
30990         selinux-at: remove redundant m4 code, add documentation
30991         * modules/selinux-at (configure.ac): Remove redundant code.
30992         LIB_SELINUX is already set via the dependent module, selinux-h.
30993         (Include): Add quotes around selinux-at.h.
30994         * lib/selinux-at.h: Add documentation.
30995         Reported by Bruno Haible in
30996         http://marc.info/?l=gnulib-bug&m=124958988300749
30997
30998 2009-08-07  Bruno Haible  <bruno@clisp.org>
30999
31000         Avoid link error on MacOS X 10.3 and 10.4.
31001         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
31002         on non-ELF systems.
31003         * lib/argp-pv.c (argp_program_version): Likewise.
31004         Reported by Simon Josefsson.
31005
31006 2009-08-07  Simon Josefsson  <simon@josefsson.org>
31007
31008         * tests/test-version-etc.sh: Use $EXEEXT.
31009
31010 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
31011
31012         update-copyright: update documentation to point to maint.mk
31013         * build-aux/update-copyright: Here.
31014
31015 2009-08-06  Jim Meyering  <meyering@redhat.com>
31016
31017         maint.mk: support update-copyright-local
31018         * top/maint.mk (update-copyright-local): Define place-holder.
31019         (update-copyright): Depend on $(update-copyright-local).
31020
31021 2009-08-06  Jim Meyering  <meyering@redhat.com>
31022
31023         selinux-at: new module
31024         Initially written for coreutils, this module will soon be
31025         used by findutils, too.
31026         * MODULES.html.sh [Misc]: Add selinux-at.
31027         * lib/selinux-at.h: New file, from coreutils.
31028         * lib/selinux-at.c: Likewise.
31029         * modules/selinux-at: Likewise.
31030         (License): Change from LGPL to GPL, since it depends
31031         on the GPL'd openat module.
31032
31033         doc: update README
31034         * README: Remove references to cogito.
31035         Remove cvs-repo-updating instructions from 2007.
31036         Don't imply that CVS is better if you have limited disk space.
31037
31038 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
31039
31040         update-copyright: support C-style comments
31041         * build-aux/update-copyright: Implement and document.
31042         * tests/test-update-copyright.sh: Test.
31043
31044 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
31045
31046         update-copyright: support omitted "(C)"
31047         * build-aux/update-copyright: Implement and document.  Also,
31048         allow variable whitespace before "(C)".
31049         * tests/test-update-copyright.sh: Test.
31050
31051 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
31052
31053         update-copyright: don't trip on non-FSF copyright statements
31054         * build-aux/update-copyright: Fix so that the first correctly
31055         formatted FSF copyright statement is recognized no matter what
31056         appears before it.  Update documentation.
31057         * tests/test-update-copyright.sh: Test that.
31058
31059 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
31060
31061         update-copyright: clean up code a little
31062         * build-aux/update-copyright: Append "_re" to the name of any
31063         variable holding a regular expression.
31064         Replace "old" and "new" with "stmt" in variable names.
31065         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
31066         handled correctly.
31067         Format code more consistently.
31068
31069 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
31070
31071         update-copyright-tests: improve portability
31072         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
31073         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
31074
31075 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
31076
31077         update-copyright: support @copyright{} and &copy;
31078         * build-aux/update-copyright: Implement and document.
31079         * tests/test-update-copyright.sh: Test.
31080
31081 2009-08-04  Jim Meyering  <meyering@redhat.com>
31082
31083         update-copyright-tests: correctly test EOL=\r\n handling
31084         * tests/test-update-copyright.sh: Put \r at the end of some lines
31085         for the dos-eol tests.  Based on a patch by Joel E. Denny.
31086
31087         maint.mk: make update-copyright exclusion list more configurable
31088         * top/maint.mk (update-copyright): Default to excluding COPYING,
31089         but allow an override, in case someone does want to update that file.
31090
31091         maint.mk: don't update copyright date in COPYING
31092         * top/maint.mk (update-copyright): Exclude COPYING.
31093
31094         maint.mk: add a copyright-updating rule
31095         * top/maint.mk (update-copyright): New rule.
31096         Derived from coreutils/Makefile.am.
31097
31098         update-copyright: rename some variables
31099         * build-aux/update-copyright: Rename a few variables for clarity.
31100         Tweak syntax.  List Joel E. Denny as coauthor.
31101
31102 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
31103
31104         update-copyright: fix bug for 2-digit last year and add tests
31105         * build-aux/update-copyright: Fix bug.
31106         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
31107         specified.
31108         * modules/update-copyright-tests: New
31109         * tests/test-update-copyright.sh: New.
31110
31111 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
31112
31113         update-copyright: handle leading tabs in line prefix
31114         * build-aux/update-copyright: Count leading tabs as 8 spaces
31115         when computing margin.  This helps with the formatting of
31116         ChangeLogs, for example.
31117         Fix documentation a little.
31118
31119 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
31120
31121         update-copyright: support EOL=\r\n
31122         * build-aux/update-copyright: Implement that.
31123
31124 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
31125
31126         update-copyright: automatically format copyright statements
31127         * build-aux/update-copyright: Implement that.
31128         Also, be a little more predictable and safer by always failing
31129         when the full copyright format is not perfectly recognized as an
31130         unbroken whole.  Discussed at
31131         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
31132         Rewrite documentation.
31133
31134 2009-08-03  Bruno Haible  <bruno@clisp.org>
31135
31136         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
31137
31138 2009-08-02  Bruno Haible  <bruno@clisp.org>
31139
31140         Tests for module 'uname'.
31141         * modules/uname-tests: New file.
31142         * tests/test-uname.c: New file.
31143
31144         New module 'uname'.
31145         * lib/uname.c: New file.
31146         * m4/uname.m4: New file.
31147         * modules/uname: New file.
31148         * doc/posix-functions/uname.texi: Mention the new module.
31149
31150 2009-08-02  Bruno Haible  <bruno@clisp.org>
31151
31152         Tests for module 'sys_utsname'.
31153         * modules/sys_utsname-tests: New file.
31154         * tests/test-sys_utsname.c: New file.
31155
31156         New module 'sys_utsname'.
31157         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
31158         * m4/sys_utsname_h.m4: New file.
31159         * modules/sys_utsname: New file.
31160         * doc/posix-headers/sys_utsname.texi: Mention the new module.
31161
31162 2009-08-02  Bruno Haible  <bruno@clisp.org>
31163
31164         Implicitly initialize the sockets library.
31165         * lib/gethostname.c: Include sockets.h.
31166         (rpl_gethostname): Invoke gl_sockets_startup.
31167         * lib/socket.c: Include sockets.h.
31168         (rpl_socket): Invoke gl_sockets_startup.
31169         * modules/gethostname (Depends-on): Add sockets.
31170         * modules/socket (Depends-on): Likewise.
31171         * tests/test-poll.c: Don't include sockets.h.
31172         (main): Don't invoke gl_sockets_startup.
31173         * tests/test-select.c: Don't include sockets.h.
31174         (main): Don't invoke gl_sockets_startup.
31175
31176 2009-08-02  Bruno Haible  <bruno@clisp.org>
31177
31178         Allow multiple calls to gl_sockets_startup.
31179         * lib/sockets.c (initialized_sockets_version): New variable.
31180         (gl_sockets_startup): Do nothing if already called for this or a higher
31181         version.
31182         (gl_sockets_cleanup): Reset initialized_sockets_version.
31183
31184 2009-08-03  Simon Josefsson  <simon@josefsson.org>
31185
31186         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
31187         different project/version.
31188
31189 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
31190             Bruno Haible  <bruno@clisp.org>
31191
31192         Tests for module 'pipe-filter-gi'.
31193         * modules/pipe-filter-gi-tests: New file.
31194         * tests/test-pipe-filter-gi1.sh: New file.
31195         * tests/test-pipe-filter-gi1.c: New file.
31196         * tests/test-pipe-filter-gi2.sh: New file.
31197         * tests/test-pipe-filter-gi2-main.c: New file.
31198         * tests/test-pipe-filter-gi2-child.c: New file.
31199
31200         New module 'pipe-filter-gi'.
31201         * lib/pipe-filter-gi.c: New file.
31202         * modules/pipe-filter-gi: New file.
31203
31204 2009-08-02  Bruno Haible  <bruno@clisp.org>
31205             Paolo Bonzini  <bonzini@gnu.org>
31206
31207         Tests for module 'pipe-filter-ii'.
31208         * modules/pipe-filter-ii-tests: New file.
31209         * tests/test-pipe-filter-ii1.sh: New file.
31210         * tests/test-pipe-filter-ii1.c: New file.
31211         * tests/test-pipe-filter-ii2.sh: New file.
31212         * tests/test-pipe-filter-ii2-main.c: New file.
31213         * tests/test-pipe-filter-ii2-child.c: New file.
31214
31215         New module 'pipe-filter-ii'.
31216         * lib/pipe-filter.h: New file.
31217         * lib/pipe-filter-ii.c: New file.
31218         * lib/pipe-filter-aux.h: New file.
31219         * modules/pipe-filter-ii: New file.
31220
31221 2009-08-02  Simon Josefsson  <simon@josefsson.org>
31222
31223         * lib/gc-libgcrypt.c: Change copyright to FSF.
31224         * lib/gc-gnulib.c: Likewise.
31225
31226 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
31227
31228         * lib/gethostname.c: Include limits.h.
31229
31230 2009-08-02  Simon Josefsson  <simon@josefsson.org>
31231             Bruno Haible  <bruno@clisp.org>
31232
31233         Ensure HOST_NAME_MAX as part of the gethostname module.
31234         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
31235         define also HOST_NAME_MAX.
31236         * tests/test-gethostname.c: Include <limits.h>.
31237         (main): Check also HOST_NAME_MAX.
31238         * doc/posix-headers/limits.texi: Document the mingw problem.
31239
31240 2009-08-02  Bruno Haible  <bruno@clisp.org>
31241
31242         * lib/gethostname.c (gethostname): Fix handling of large len argument.
31243         Add comments.
31244
31245 2009-03-31  Simon Josefsson  <simon@josefsson.org>
31246
31247         * lib/gethostname.c: Add Windows wrapper.
31248         * m4/gethostname.m4: Look for gethostname in -lws2_32.
31249         * modules/gethostname: Depend on sys_socket & errno, for also
31250         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
31251         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
31252
31253 2009-07-31  Jim Meyering  <meyering@redhat.com>
31254
31255         getloadavg: fix symbol name in comment
31256         * lib/getloadavg.c: Correct a typo I introduced when adding
31257         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
31258         Matt Kraai spotted the problem.
31259
31260 2009-07-29  Matt Kraai  <mkraai@beckman.com>
31261
31262         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
31263         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
31264         code also if ! defined N_NAME_POINTER.
31265         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
31266         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
31267         but the n_name member is a 12-byte array.
31268
31269 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
31270
31271         update-copyright: generalize comment handling
31272         * build-aux/update-copyright: Handle copyright statements
31273         within more comment styles.
31274         Document usage.
31275         Report any file with an external copyright holder or parse failure.
31276
31277 2009-07-29  Jim Meyering  <meyering@redhat.com>
31278
31279         mktime: correct setting of REPLACE_MKTIME
31280         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
31281
31282         update-copyright: new module
31283         * modules/update-copyright: New file.
31284         * build-aux/update-copyright: New file.
31285         * MODULES.html.sh (maint+release support): Add update-copyright.
31286
31287 2009-07-27  Bruno Haible  <bruno@clisp.org>
31288
31289         Fix compilation error when <ctime> is used and mktime is replaced.
31290         * lib/time.in.h (mktime): New declaration.
31291         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
31292         REPLACE_MKTIME instead of defining mktime in config.h.
31293         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
31294         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
31295         Reported by Ross McFarland <rwmcfa1@neces.com>.
31296
31297 2009-07-27  Bruno Haible  <bruno@clisp.org>
31298
31299         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
31300         Reported by Matt Kraai <mkraai@beckman.com>.
31301
31302 2009-07-25  Jim Meyering  <meyering@redhat.com>
31303
31304         maint.mk: avoid warnings about missing files
31305         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
31306         diagnostic when .prev-version does not exist.
31307         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
31308         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
31309         nonexistent cfg.mk.
31310         Suggestions from Simon Josefsson.
31311
31312 2009-07-25  Bruno Haible  <bruno@clisp.org>
31313
31314         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
31315         defined as macros. Needed on QNX 6.4.1.
31316         Reported by Matt Kraai <mkraai@beckman.com>.
31317
31318 2009-07-23  Jim Meyering  <meyering@redhat.com>
31319
31320         maint.mk: invoke "make dist" with a working value of XZ_OPT
31321         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
31322
31323 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
31324
31325         Make fseeko.c compile on QNX.
31326         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
31327
31328 2009-07-22  Peter Simons  <simons@cryp.to>
31329
31330         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
31331         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
31332         * lib/md4.h: Likewise.
31333         * lib/md5.h: Likewise.
31334         * lib/sha1.h: Likewise.
31335         * lib/sha256.h: Likewise.
31336         * lib/sha512.h: Likewise.
31337
31338         tests-sha1: don't assign literal string to 'char *' variable
31339         * tests/test-sha1.c (main): Declare locals with "const" to match
31340         attributes of the right hand side.
31341
31342 2009-07-21  Eric Blake  <ebb9@byu.net>
31343
31344         dup2: fix more mingw problems
31345         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
31346         fd to itself.
31347         * doc/posix-functions/dup2.texi (dup2): Document the bug.
31348         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
31349         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
31350         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
31351         care of mingw bugs.
31352
31353 2009-07-21  Jim Meyering  <meyering@redhat.com>
31354
31355         vc-list-files: avoid failure when /bin/sh is dash
31356         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
31357         On some Debian based systems, /bin/sh is a symlink to dash, and running
31358         this command would omit the "/" following each 'tests' prefix:
31359           dash -x build-aux/vc-list-files -C . tests
31360         That is because bash and dash work differently:
31361           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
31362           bash ok
31363           dash odd
31364
31365 2009-07-21  Eric Blake  <ebb9@byu.net>
31366
31367         dup2-tests: test previous patch
31368         * modules/dup2-tests: New file.
31369         * tests/test-dup2.c: Likewise.
31370         * tests/test-open.c (main): Avoid unspecified behavior.
31371         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
31372         test.
31373
31374         dup2: work around mingw and cygwin 1.5 bug
31375         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
31376         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
31377         * modules/unistd (Makefile.am): Substitute it.
31378         * lib/unistd.in.h (dup2): Declare the replacement.
31379         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
31380         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
31381         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
31382         * modules/execute (Depends-on): Add dup2.
31383         * modules/fseterr (Depends-on): Likewise.
31384         * modules/pipe (Depends-on): Likewise.
31385         * modules/posix_spawn-internal (Depends-on): Likewise.
31386
31387 2009-07-21  Bruno Haible  <bruno@clisp.org>
31388
31389         * modules/.gitattributes: New file.
31390
31391 2009-07-20  Bruno Haible  <bruno@clisp.org>
31392
31393         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
31394         (main): Use it.
31395
31396 2009-07-20  Eric Blake  <ebb9@byu.net>
31397
31398         test-pipe: make a bit more robust.
31399         * tests/test-pipe.c (myerr): Allow error messages regardless of
31400         what we do to stderr.
31401         (test_pipe): Rearrange to avoid deadlock.
31402         (child_main): Try a larger read, to ensure we avoided deadlock.
31403         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
31404         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
31405         if misused.
31406
31407 2009-07-19  Jim Meyering  <meyering@redhat.com>
31408
31409         fts: avoid false-positive cycle-detection
31410         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
31411         for each new command line argument.
31412
31413 2009-07-19  Bruno Haible  <bruno@clisp.org>
31414
31415         Fix build error on mingw with the modules sys_select and unistd.
31416         * modules/acl-tests (Depends-on): Add close.
31417         * modules/binary-io-tests (Depends-on): Likewise.
31418         * modules/closein-tests (Depends-on): Likewise.
31419         * modules/flock-tests (Depends-on): Likewise.
31420         * modules/fsync-tests (Depends-on): Likewise.
31421         * modules/lseek-tests (Depends-on): Likewise.
31422         * modules/pipe-tests (Depends-on): Likewise.
31423         * modules/posix_spawn-tests (Depends-on): Likewise.
31424         * modules/posix_spawnp-tests (Depends-on): Likewise.
31425         * modules/stat-time-tests (Depends-on): Likewise.
31426         * modules/yesno-tests (Depends-on): Likewise.
31427
31428 2009-07-19  Bruno Haible  <bruno@clisp.org>
31429
31430         Unify conditionals.
31431         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
31432         macros, not at the compiler macros.
31433         * lib/pipe.c: Likewise.
31434         * lib/execute.c: Likewise.
31435         * lib/spawni.c: Likewise.
31436
31437 2009-07-19  Bruno Haible  <bruno@clisp.org>
31438
31439         Fix handling of closed stdin/stdout/stderr on mingw.
31440         * lib/w32spawn.h: Include unistd.h.
31441         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
31442         file descriptor with O_NOINHERIT flag.
31443         (fd_safer_noinherit): New function, based on fd-safer.c.
31444         (dup_safer_noinherit): New function, based on dup-safer.c.
31445         (undup_safer_noinherit): New function.
31446         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
31447         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
31448         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
31449         instead of fd_safer.
31450         * tests/test-pipe.c: Include <windows.h>.
31451         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
31452         result.
31453
31454         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
31455         from main.
31456         (test_pipe): Pass an extra argument for disambiguation.
31457         (main): Invoke parent_main or child_main.
31458
31459         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
31460         consistently.
31461
31462 2009-07-18  Eric Blake  <ebb9@byu.net>
31463
31464         test-pipe: fix mingw build
31465         * tests/test-pipe.c (main): Avoid fcntl on mingw.
31466
31467 2009-07-18  Bruno Haible  <bruno@clisp.org>
31468
31469         * modules/pipe-tests (Makefile.am): Fix typo.
31470
31471 2009-07-18  Eric Blake  <ebb9@byu.net>
31472
31473         error: fix mingw build
31474         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
31475         Reported by Bruno Haible.
31476
31477         error: avoid undefined use of stdout
31478         * lib/error.c (error, error_at_line): Check that fd 1 is open
31479         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
31480         is handling faults and the close_stdout module wants to report the
31481         detection of closed stdout as an error.
31482
31483 2009-07-17  Eric Blake  <ebb9@byu.net>
31484
31485         pipe: be robust in face of closed fds
31486         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
31487         should cause child to misbehave.
31488         * modules/pipe-tests: New module.
31489         * tests/test-pipe.c: New file.
31490         * tests/test-pipe.sh: New file.
31491         Reported by Akim Demaille.
31492
31493 2009-07-14  Bruno Haible  <bruno@clisp.org>
31494
31495         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
31496         Reported by anonymous kc.
31497
31498 2009-07-07  Jim Meyering  <meyering@redhat.com>
31499
31500         maint.mk: don't look for translatable strings in *.m4 or *.mk
31501         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
31502         when searching for translatable strings.
31503
31504 2009-07-05  Jim Meyering  <meyering@redhat.com>
31505
31506         remove superfluous parentheses in STREQ definition
31507         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
31508         * lib/getugroups.c (STREQ): Likewise.
31509         * lib/fnmatch.c (STREQ): Likewise.
31510         Spotted by Bruno Haible.
31511
31512 2009-07-04  Jim Meyering  <meyering@redhat.com>
31513
31514         argv-iter: new module
31515         * MODULES.html.sh: Add argv-iter.
31516         * lib/argv-iter.c, lib/argv-iter.h: New files.
31517         * modules/argv-iter: New file.
31518         * modules/argv-iter-tests: New file.
31519         * tests/test-argv-iter.c: Test it.
31520
31521 2009-07-04  Bruno Haible  <bruno@clisp.org>
31522
31523         Fix assertion.
31524         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
31525         contains more exact copies of a given entry than file2, leave the extra
31526         copies unpaired rather than aborting.
31527         Reported by Eric Blake.
31528
31529 2009-07-02  Bruno Haible  <bruno@clisp.org>
31530
31531         Speedup git-merge-changelog for git cherry-pick.
31532         * lib/git-merge-changelog.c (struct entries_mapping): New type.
31533         (entries_mapping_get): New function, extracted from compute_mapping.
31534         (entries_mapping_reverse_get): New function.
31535         (compute_mapping): Add a 'full' argument. Return the result in a
31536         'struct entries_mapping'.
31537         (main): Update. Access the mappings through entries_mapping_get.
31538         Reported by Eric Blake.
31539
31540 2009-07-02  Bruno Haible  <bruno@clisp.org>
31541
31542         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
31543         best_i.
31544
31545 2009-07-02  Bruno Haible  <bruno@clisp.org>
31546
31547         Speed up approximate search for matching ChangeLog entries.
31548         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
31549         argument. Call fstrcmp_bounded instead of fstrcmp.
31550         (compute_mapping, try_split_merged_entry, main): Update callers.
31551
31552 2009-07-02  Bruno Haible  <bruno@clisp.org>
31553
31554         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
31555
31556 2009-06-30  Bruno Haible  <bruno@clisp.org>
31557
31558         Reduce the number of uc_is_cased calls.
31559         * lib/unicase.h (casing_suffix_context_t): Add
31560         'first_char_except_ignorable' field.
31561         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
31562         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
31563         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
31564         Update initializer.
31565         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
31566         case-ignorable characters.
31567         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
31568         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
31569         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
31570         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
31571         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
31572
31573 2009-06-30  Bruno Haible  <bruno@clisp.org>
31574
31575         Tests for module 'unicase/ignorable'.
31576         * modules/unicase/ignorable-tests: New file.
31577         * tests/unicase/test-ignorable.c: New file, generated by
31578         gen-uni-tables.
31579
31580         Tests for module 'unicase/cased'.
31581         * modules/unicase/cased-tests: New file.
31582         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
31583         * tests/unicase/test-predicate-part1.h: New file, derived from
31584         tests/unictype/test-predicate-part1.h.
31585         * tests/unicase/test-predicate-part2.h: New file, same as
31586         tests/unictype/test-predicate-part2.h.
31587
31588         Fix evaluation of "Before C" condition of FINAL_SIGMA.
31589         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
31590         (output_casing_properties): New function.
31591         (main): Call it.
31592         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
31593         * lib/unicase/cased.c: Include unictype/bitmap.h.
31594         (uc_is_cased): Define through a bitmap lookup.
31595         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
31596         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
31597         (uc_is_case_ignorable): Define through a bitmap lookup.
31598         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
31599         lib/unictype/bitmap.h.
31600         (Depends-on): Add inline. Clean up.
31601         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
31602         lib/unictype/bitmap.h.
31603         (Depends-on): Add inline. Clean up.
31604         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
31605         recognition.
31606         * tests/unicase/test-u16-tolower.c (main): Likewise.
31607         * tests/unicase/test-u32-tolower.c (main): Likewise.
31608
31609 2009-06-30  Bruno Haible  <bruno@clisp.org>
31610
31611         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
31612         * lib/unicase/u16-casemap.c: Likewise.
31613         * lib/unicase/u32-casemap.c: Likewise.
31614
31615 2009-06-29  Bruno Haible  <bruno@clisp.org>
31616
31617         Define u32_casefold as a wrapper around u32_ct_casefold.
31618         * lib/unicase/u32-casefold.c: Update.
31619         * modules/unicase/u32-casefold (Depends-on): Add
31620         unicase/u32-ct-casefold, unicase/empty-prefix-context,
31621         unicase/empty-suffix-context. Clean up.
31622
31623         Define u16_casefold as a wrapper around u16_ct_casefold.
31624         * lib/unicase/u16-casefold.c: Update.
31625         * modules/unicase/u16-casefold (Depends-on): Add
31626         unicase/u16-ct-casefold, unicase/empty-prefix-context,
31627         unicase/empty-suffix-context. Clean up.
31628
31629         Define u8_casefold as a wrapper around u8_ct_casefold.
31630         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
31631         * lib/unicase/u8-casefold.c: Update.
31632         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
31633         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
31634
31635         Define u32_totitle as a wrapper around u32_ct_totitle.
31636         * lib/unicase/u32-totitle.c: Update.
31637         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
31638         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
31639
31640         Define u16_totitle as a wrapper around u16_ct_totitle.
31641         * lib/unicase/u16-totitle.c: Update.
31642         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
31643         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
31644
31645         Define u8_totitle as a wrapper around u8_ct_totitle.
31646         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
31647         functions.
31648         (FUNC): Delegate to U_CT_TOTITLE.
31649         * lib/unicase/u8-totitle.c: Update.
31650         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
31651         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
31652
31653         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
31654         invocation.
31655         * modules/unicase/u32-tolower (Depends-on): Add
31656         unicase/empty-prefix-context, unicase/empty-suffix-context.
31657
31658         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
31659         invocation.
31660         * modules/unicase/u16-tolower (Depends-on): Add
31661         unicase/empty-prefix-context, unicase/empty-suffix-context.
31662
31663         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
31664         * modules/unicase/u8-tolower (Depends-on): Add
31665         unicase/empty-prefix-context, unicase/empty-suffix-context.
31666
31667         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
31668         invocation.
31669         * modules/unicase/u32-toupper (Depends-on): Add
31670         unicase/empty-prefix-context, unicase/empty-suffix-context.
31671
31672         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
31673         invocation.
31674         * modules/unicase/u16-toupper (Depends-on): Add
31675         unicase/empty-prefix-context, unicase/empty-suffix-context.
31676
31677         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
31678         * modules/unicase/u8-toupper (Depends-on): Add
31679         unicase/empty-prefix-context, unicase/empty-suffix-context.
31680
31681         New module 'unicase/u32-ct-casefold'.
31682         * lib/unicase/u32-ct-casefold.c: New file.
31683         * modules/unicase/u32-ct-casefold: New file.
31684
31685         New module 'unicase/u16-ct-casefold'.
31686         * lib/unicase/u16-ct-casefold.c: New file.
31687         * modules/unicase/u16-ct-casefold: New file.
31688
31689         New module 'unicase/u8-ct-casefold'.
31690         * lib/unicase/u8-ct-casefold.c: New file.
31691         * lib/unicase/u-ct-casefold.h: New file, derived from
31692         lib/unicase/u-casefold.h.
31693         * modules/unicase/u8-ct-casefold: New file.
31694
31695         New module 'unicase/u32-ct-totitle'.
31696         * lib/unicase/u32-ct-totitle.c: New file.
31697         * modules/unicase/u32-ct-totitle: New file.
31698
31699         New module 'unicase/u16-ct-totitle'.
31700         * lib/unicase/u16-ct-totitle.c: New file.
31701         * modules/unicase/u16-ct-totitle: New file.
31702
31703         New module 'unicase/u8-ct-totitle'.
31704         * lib/unicase/u8-ct-totitle.c: New file.
31705         * lib/unicase/u-ct-totitle.h: New file, derived from
31706         lib/unicase/u-totitle.h.
31707         * modules/unicase/u8-ct-totitle: New file.
31708
31709         New module 'unicase/u32-ct-tolower'.
31710         * lib/unicase/u32-ct-tolower.c: New file.
31711         * modules/unicase/u32-ct-tolower: New file.
31712
31713         New module 'unicase/u16-ct-tolower'.
31714         * lib/unicase/u16-ct-tolower.c: New file.
31715         * modules/unicase/u16-ct-tolower: New file.
31716
31717         New module 'unicase/u8-ct-tolower'.
31718         * lib/unicase/u8-ct-tolower.c: New file.
31719         * modules/unicase/u8-ct-tolower: New file.
31720
31721         New module 'unicase/u32-ct-toupper'.
31722         * lib/unicase/u32-ct-toupper.c: New file.
31723         * modules/unicase/u32-ct-toupper: New file.
31724
31725         New module 'unicase/u16-ct-toupper'.
31726         * lib/unicase/u16-ct-toupper.c: New file.
31727         * modules/unicase/u16-ct-toupper: New file.
31728
31729         New module 'unicase/u8-ct-toupper'.
31730         * lib/unicase/u8-ct-toupper.c: New file.
31731         * modules/unicase/u8-ct-toupper: New file.
31732
31733         Add context arguments to u*_casemap functions.
31734         * lib/unicase/unicasemap.h: Include unicase.h.
31735         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
31736         suffix_context arguments.
31737         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
31738         functions.
31739         (FUNC): Add prefix_context and suffix_context arguments. Use
31740         uc_is_cased and uc_is_case_ignorable.
31741         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
31742         * lib/unicase/u16-casemap.c: Likewise.
31743         * lib/unicase/u32-casemap.c: Likewise.
31744         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
31745         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
31746         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
31747         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
31748         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
31749         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
31750
31751         New module 'unicase/u32-suffix-context'.
31752         * lib/unicase/u32-suffix-context.c: New file.
31753         * modules/unicase/u32-suffix-context: New file.
31754
31755         New module 'unicase/u16-suffix-context'.
31756         * lib/unicase/u16-suffix-context.c: New file.
31757         * modules/unicase/u16-suffix-context: New file.
31758
31759         New module 'unicase/u8-suffix-context'.
31760         * lib/unicase/u8-suffix-context.c: New file.
31761         * lib/unicase/u-suffix-context.h: New file.
31762         * modules/unicase/u8-suffix-context: New file.
31763
31764         New module 'unicase/empty-suffix-context'.
31765         * lib/unicase/empty-suffix-context.c: New file.
31766         * modules/unicase/empty-suffix-context: New file.
31767
31768         New module 'unicase/u32-prefix-context'.
31769         * lib/unicase/u32-prefix-context.c: New file.
31770         * modules/unicase/u32-prefix-context: New file.
31771
31772         New module 'unicase/u16-prefix-context'.
31773         * lib/unicase/u16-prefix-context.c: New file.
31774         * modules/unicase/u16-prefix-context: New file.
31775
31776         New module 'unicase/u8-prefix-context'.
31777         * lib/unicase/u8-prefix-context.c: New file.
31778         * lib/unicase/u-prefix-context.h: New file.
31779         * lib/unicase/context.h: New file.
31780         * modules/unicase/u8-prefix-context: New file.
31781
31782         New module 'unicase/empty-prefix-context'.
31783         * lib/unicase/empty-prefix-context.c: New file.
31784         * modules/unicase/empty-prefix-context: New file.
31785
31786         New module 'unicase/ignorable'.
31787         * lib/unicase/ignorable.c: New file.
31788         * modules/unicase/ignorable: New file.
31789
31790         New module 'unicase/cased'.
31791         * lib/unicase/caseprop.h: New file.
31792         * lib/unicase/cased.c: New file.
31793         * modules/unicase/cased: New file.
31794
31795         New functions for case mapping of substrings.
31796         * lib/unicase.h (casing_prefix_context_t): New type.
31797         (unicase_empty_prefix_context): New variable.
31798         (u8_casing_prefix_context, u16_casing_prefix_context,
31799         u32_casing_prefix_context, u8_casing_prefixes_context,
31800         u16_casing_prefixes_context, u32_casing_prefixes_context): New
31801         declarations.
31802         (casing_suffix_context_t): New type.
31803         (unicase_empty_suffix_context): New variable.
31804         (u8_casing_suffix_context, u16_casing_suffix_context,
31805         u32_casing_suffix_context, u8_casing_suffixes_context,
31806         u16_casing_suffixes_context, u32_casing_suffixes_context,
31807         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
31808         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
31809         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
31810         declarations.
31811
31812 2009-06-28  Jim Meyering  <meyering@redhat.com>
31813
31814         boostrap: indent only with spaces
31815         * build-aux/bootstrap: Indent only with spaces, never TABs.
31816
31817         bootstrap: split long lines
31818         * build-aux/bootstrap: Keep line length < 80.
31819
31820         bootstrap: sync from coreutils
31821         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
31822         just as autoreconf does.  Verify a list of prerequisite
31823         package-name,version-number pairs if defined in bootstrap.conf.
31824         Refer to README-prereq, if prerequisites are not satisfied.
31825
31826 2009-06-27  Eric Blake  <ebb9@byu.net>
31827
31828         tests: add test for bogus NULL definition
31829         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
31830         * tests/test-stdlib.c: Likewise.
31831         * tests/test-string.c: Likewise.
31832         * tests/test-locale.c: Likewise.
31833         * tests/test-unistd.c: Likewise.
31834         * modules/stdio-tests (Depends-on): Add verify.
31835         * modules/stdlib-tests (Depends-on): Likewise.
31836         * modules/string-tests (Depends-on): Likewise.
31837         * modules/locale-tests (Depends-on): Likewise.
31838         * modules/unistd-tests (Depends-on): Likewise.
31839
31840 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
31841
31842         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
31843         self-explaining comment.
31844         * m4/selinux-selinux-h: Update serial.
31845         (gl_LIBSELINUX): New macro, adding a warning for missing development
31846         packages to code extracted from...
31847         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
31848         Add warning for missing development packages here, too.
31849
31850 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
31851
31852         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
31853
31854 2009-06-25  Eric Blake  <ebb9@byu.net>
31855
31856         version-etc: fix regression
31857         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
31858         gcc.
31859         (version_etc): Use it, to catch bugs with trailing NULL.
31860         * lib/version-etc.c (version_etc_arn): Delete unused argument.
31861         (version_etc_va): Fix logic bug.
31862         * modules/version-etc-tests: Add test.
31863         * tests/test-version-etc.c: New file.
31864         * tests/test-version-etc.sh: Likewise.
31865
31866 2009-06-25  Sam Steingold  <sds@gnu.org>
31867
31868         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
31869         mbtowc declaration.
31870
31871 2009-06-25  Eric Blake  <ebb9@byu.net>
31872
31873         fpurge: migrate into <stdio.h>
31874         * lib/fpurge.h: Delete...
31875         * lib/stdio.in.h (fpurge): ...and declare here, instead.
31876         * lib/fpurge.c (fpurge): Change declaring header.
31877         * modules/fpurge (Files): Drop deleted file.
31878         (Depends-on): Add stdio.
31879         (configure.ac): Set witness.
31880         * modules/stdio (Makefile.am): Support fpurge macros.
31881         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
31882         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
31883         * lib/fflush.c: Update client.
31884         * tests/test-fpurge.c: Likewise.
31885         * NEWS: Mention the change.
31886
31887 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
31888
31889         * lib/argp-version-etc.c (program_authors): Add const
31890         qualifier.
31891         * lib/version-etc.c: Fix typos in the comments.
31892         * modules/argp-version-etc: Depends on version-etc.
31893
31894 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
31895
31896         argp-version-etc: new module.
31897
31898         * lib/argp-version-etc.c: New file.
31899         * lib/argp-version-etc.h: New file.
31900         * modules/argp-version-etc: New file.
31901         * modules/argp-version-etc-tests: New file.
31902         * tests/test-argp-version-etc.c: New test.
31903         * tests/test-argp-version-etc-1.sh: New test.
31904
31905 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
31906
31907         Provide additional interfaces and documentation for version-etc
31908         module.
31909
31910         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
31911         interfaces.
31912         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
31913         prototypes.
31914
31915 2009-06-24  Bruno Haible  <bruno@clisp.org>
31916
31917         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
31918         HAVE_LIB${NAME} macro.
31919         Reported by Sam Steingold <sds@gnu.org>.
31920
31921 2009-06-23  Simon Josefsson  <simon@josefsson.org>
31922
31923         * modules/hash-tests (test_hash_LDADD): Link to libintl when
31924         needed.
31925
31926 2009-06-21  Bruno Haible  <bruno@clisp.org>
31927
31928         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
31929         work.
31930         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
31931         together with LIB${NAME}, LTLIB${NAME}.
31932         Reported by Sam Steingold <sds@gnu.org>.
31933
31934 2009-06-20  Jim Meyering  <meyering@redhat.com>
31935
31936         tests: make sc_require_test_exit_idiom more generic
31937         * top/maint.mk (Exit_witness_file): New overridable variable.
31938         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
31939         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
31940
31941 2009-06-19  Jim Meyering  <meyering@redhat.com>
31942
31943         hash: reverse order of src/dst parameters in an internal interface
31944         * lib/hash.c (transfer_entries): Reverse order of parameters to
31945         put DST before SRC.  Adjust callers.
31946
31947         tests: test-hash: avoid wholesale duplication
31948         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
31949         Instead, use a loop and add a single conditional.
31950
31951         tests: test-hash: allow seed selection via a command line argument
31952         * tests/test-hash.c (get_seed): New function.
31953         (main): Use it.
31954
31955 2009-06-19  Eric Blake  <ebb9@byu.net>
31956
31957         hash: avoid memory leak on allocation failure
31958         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
31959         failure.  Factor repeated algorithm...
31960         (transfer_entries): ...into new helper routine.
31961         (hash_delete): React to hash_rehash return value.
31962
31963         hash: reduce memory pressure in hash_rehash no-op case
31964         * lib/hash.c (next_prime): Avoid overflow.
31965         (hash_initialize): Factor bucket size computation...
31966         (compute_bucket_size): ...into new helper function.
31967         (hash_rehash): Use new function and open coding to reduce memory
31968         pressure, and avoid a memory leak in USE_OBSTACK code.
31969         Reported by Jim Meyering.
31970
31971 2009-06-18  Eric Blake  <ebb9@byu.net>
31972
31973         hash: make rotation more obvious
31974         * modules/hash (Depends-on): Add bitrotate and stdint.
31975         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
31976         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
31977         (SIZE_MAX): Rely on headers for definition.
31978         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
31979         (raw_hasher): Use rotr_sz.
31980         Suggested by Jim Meyering.
31981
31982         hash: fix memory leak in last patch
31983         * lib/hash.c (hash_rehash): Avoid memory leak.
31984
31985         hash: avoid no-op rehashing
31986         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
31987
31988         hash: provide default callback functions
31989         * lib/hash.c (raw_hasher, raw_comparator): New functions.
31990         (hash_initialize): Use them as defaults.
31991         * tests/test-hash.c (main): Test this.
31992
31993         hash: minor optimization
31994         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
31995         when possible.
31996         (hash_initialize): Document this promise.
31997         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
31998         * tests/test-hash.c (hash_compare_strings): Test this.
31999
32000 2009-06-18  Bruno Haible  <bruno@clisp.org>
32001
32002         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
32003         going to be replaced anyway.
32004
32005 2009-06-18  Bruno Haible  <bruno@clisp.org>
32006
32007         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
32008         in one place.
32009         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
32010         be replaced anyway.
32011
32012 2009-06-18  Eric Blake  <ebb9@byu.net>
32013
32014         hash: check for resize before insertion
32015         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
32016         threshold before insertion, so that a pathological hash_rehash
32017         that fills every bucket can still trigger another rehash.
32018
32019 2009-06-18  Jim Meyering  <meyering@redhat.com>
32020
32021         hash-tests: add a loop around the small tests
32022         * tests/test-hash.c (main): Repeat small tests with selected
32023         small initial table sizes.
32024
32025 2009-06-17  Eric Blake  <ebb9@byu.net>
32026
32027         hash: minor cleanups
32028         * lib/hash.h (hash_entry): Make opaque, by moving...
32029         * lib/hash.c (hash_entry): ...here.
32030         (hash_insert): Clarify restrictions on what can be inserted.
32031         (hash_get_next): Clarify when it is safe to remove an element
32032         during traversal.
32033         (check_tuning): Skip verification when tuning is known safe.
32034         (hash_initialize): Clarify restrictions on tuning.
32035
32036 2009-06-17  Jim Meyering  <jim@meyering.net>
32037         and Eric Blake  <ebb9@byu.net>
32038
32039         hash-tests: new module
32040         * modules/hash-tests: New file.
32041         * tests/test-hash.c: New file.
32042
32043 2009-06-17  Eric Blake  <ebb9@byu.net>
32044
32045         strstr-simple: document new module
32046         * MODULES.html.sh: Document new module.
32047
32048         strstr, strcasestr: replace on platforms with broken memchr
32049         * modules/strstr: Split into...
32050         * modules/strstr-simple: ...new module that does not care about
32051         performance, but does care about glibc bug.
32052         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
32053         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
32054         if platform memchr is broken, per Debian bug 521737.
32055         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
32056         memchr.
32057         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
32058         * doc/posix-functions/strstr.texi (strstr): Document the fix.
32059         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
32060         * modules/mountlist (Depends-on): Add strstr-simple.
32061         * modules/gen-uni-tables (Depends-on): Likewise.
32062         * modules/argz (Depends-on): Add strstr.
32063
32064 2009-06-17  Bruno Haible  <bruno@clisp.org>
32065
32066         * modules/posix_spawn-internal (Depends-on): Add errno.
32067
32068 2009-06-17  Bruno Haible  <bruno@clisp.org>
32069
32070         Define missing ESTALE on Interix 3.5.
32071         * lib/errno.in.h (ESTALE): Assign a value if missing.
32072         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
32073         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
32074         missing.
32075         * doc/posix-headers/errno.texi: Mention the Interix bug.
32076         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
32077
32078 2009-06-15  Eric Blake  <ebb9@byu.net>
32079
32080         memchr, memchr2: add valgrind exception
32081         * lib/memchr.valgrind: New file.
32082         * lib/memchr2.valgrind: New file.
32083         * modules/memchr (Files): Distribute valgrind file.
32084         * modules/memchr2 (Files): Likewise.
32085
32086         docs: memchr is no longer obsolete
32087         * MODULES.html.sh: Move memchr from obsolete to string.h section.
32088         * lib/string.in.h (memchr): Simplify logic.
32089
32090 2009-06-14  Jim Meyering  <meyering@redhat.com>
32091
32092         link-follow: fix the "checking..." message to not mention trailing slash
32093         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
32094         never considered trailing slashes.
32095
32096 2009-06-14  Bruno Haible  <bruno@clisp.org>
32097
32098         * m4/memchr.m4: Mention also the bug on IA-64.
32099         * doc/posix-functions/memchr.texi: Likewise.
32100
32101 2009-06-12  Eric Blake  <ebb9@byu.net>
32102
32103         memchr: detect broken x86_64 and alpha implementations
32104         * modules/memchr-tests (Depends-on): Move mmap detection...
32105         * modules/memchr (Depends-on): ...here.
32106         (configure.ac): Set indicator.
32107         * lib/string.in.h (memchr): Declare replacement.
32108         * modules/string (Makefile.am): Trigger replacement.
32109         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
32110         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
32111         bugs.
32112         * doc/posix-functions/memchr.texi (memchr): Document the bug.
32113         * modules/getpagesize (License): Relax license.
32114
32115 2009-06-11  Bruno Haible  <bruno@clisp.org>
32116
32117         * lib/idpriv.h: Add more references.
32118
32119 2009-06-08  Bruno Haible  <bruno@clisp.org>
32120
32121         Tests for module 'idpriv-droptemp'.
32122         * modules/idpriv-droptemp-tests: New file.
32123         * tests/test-idpriv-droptemp.sh: New file.
32124         * tests/test-idpriv-droptemp.su.sh: New file.
32125         * tests/test-idpriv-droptemp.c: New file.
32126
32127         New module 'idpriv-droptemp'.
32128         * lib/idpriv-droptemp.c: New file.
32129         * modules/idpriv-droptemp: New file.
32130
32131 2009-06-08  Bruno Haible  <bruno@clisp.org>
32132
32133         Tests for module 'idpriv-drop'.
32134         * modules/idpriv-drop-tests: New file.
32135         * tests/test-idpriv-drop.sh: New file.
32136         * tests/test-idpriv-drop.su.sh: New file.
32137         * tests/test-idpriv-drop.c: New file.
32138
32139         New module 'idpriv-drop'.
32140         * lib/idpriv.h: New file.
32141         * lib-idpriv-drop.c: New file.
32142         * m4/idpriv.m4: New file.
32143         * modules/idpriv-drop: New file.
32144
32145 2009-06-08  Bruno Haible  <bruno@clisp.org>
32146
32147         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
32148         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
32149         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
32150         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
32151         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
32152         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
32153         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
32154
32155 2009-06-08  Eric Blake  <ebb9@byu.net>
32156
32157         test-strstr: use memory fence, when possible
32158         * tests/test-strstr.c (main): Use memory fence, in order to be
32159         more likely to trigger Debian bug 521737.
32160         * modules/strstr-tests (Files): Pull in additional files.
32161
32162         memchr: no longer obsolete, for wider field testing
32163         * modules/memchr (Status, Notice): Delete, this module is no
32164         longer obsolete.
32165         * modules/vasnprintf (Depends-on): Add memchr.
32166
32167 2009-06-07  Jim Meyering  <meyering@redhat.com>
32168
32169         hash: declare some functions with the warn_unused_result attribute
32170         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
32171
32172 2009-06-07  Bruno Haible  <bruno@clisp.org>
32173
32174         * tests/test-alignof.c: Don't test int64_t if it does not exist.
32175         Reported by Eric Blake.
32176
32177 2009-06-06  Eric Blake  <ebb9@byu.net>
32178
32179         test-alignof: fix typo with long double
32180         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
32181         compiler error.
32182
32183 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
32184
32185         Escape non-texinfo { and }s.
32186         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
32187         markup error.
32188
32189 2009-06-04  Jim Meyering  <meyering@redhat.com>
32190
32191         gitlog-to-changelog: don't infloop on an empty commit log
32192         * build-aux/gitlog-to-changelog: Warn about an empty log message.
32193         Reported by Boris Petersen <transacid@centerim.org>.
32194
32195 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
32196
32197         version-etc: extend for packagers
32198         Add three new configure options, intended for packagers:
32199           --with-packager="packager name"
32200           --with-packager-version="packager-specific version"
32201           --with-packager-bug-reports="packager bug reporting"
32202         An example with coreutils:
32203           $ ./configure \
32204             --with-packager=Gentoo \
32205             --with-packager-bug-report=http://bugs.gentoo.org/ \
32206             --with-packager-version="patchset 1.6"
32207           $ ./src/ls --version | head -n2
32208           ls (GNU coreutils) 7.1-dirty
32209           Packaged by Gentoo (patchset 1.6)
32210         Note that the bug reporting info via --help doesn't show up because
32211         coreutils uses its own custom emit_bug_reporting_address() implementation
32212         in src/system.h.  If it didn't, it'd look like:
32213           $ ./src/ls --help | tail -n4
32214           Report bugs to <bug-coreutils@gnu.org>.
32215           Report Gentoo bugs to <http://bugs.gentoo.org/>.
32216           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
32217           General help using GNU software: <http://www.gnu.org/gethelp/>.
32218         * lib/version-etc.c: Print new information, if provided.
32219         * m4/version-etc.m4: New file.
32220         * modules/version-etc (Files): Add m4/version-etc.m4.
32221         (configure.ac): Add gl_VERSION_ETC.
32222
32223 2009-05-31  Bruno Haible  <bruno@clisp.org>
32224
32225         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
32226         and 'int64_t'.
32227         * modules/alignof-tests (Dependencies): Add stdint.
32228         Reported by Eric Blake.
32229
32230 2009-05-31  Bruno Haible  <bruno@clisp.org>
32231
32232         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
32233         restriction due to compiler bugs.
32234         Reported by Eric Blake.
32235
32236 2009-05-31  Simon Josefsson  <simon@josefsson.org>
32237             Bruno Haible  <bruno@clisp.org>
32238
32239         Fix test-alignof failure.
32240         * lib/alignof.h (alignof_slot): New macro.
32241         (alignof_type): New macro, with the same semantics as the previous
32242         'alignof'.
32243         (alignof): Alias to alignof_slot.
32244         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
32245         check that the results are usable as constant expressions.
32246
32247 2009-05-31  Bruno Haible  <bruno@clisp.org>
32248
32249         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
32250         * tests/test-memchr.c (main): Check that memchr does not read past the
32251         first occurrence of the byte.
32252         * tests/test-strstr.c (main): Update comment.
32253         Suggested by Eric Blake.
32254
32255 2009-05-30  Bruno Haible  <bruno@clisp.org>
32256
32257         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
32258         detail how to use dumpbin.
32259         Reported by David Byron <dbyron@dbyron.com>.
32260
32261 2009-06-02  Simon Josefsson  <simon@josefsson.org>
32262
32263         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
32264
32265 2009-06-02  Simon Josefsson  <simon@josefsson.org>
32266
32267         * m4/manywarnings.m4: Add GCC 4.4 warnings.
32268
32269 2009-05-28  Bruno Haible  <bruno@clisp.org>
32270
32271         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
32272         build-aux/ files.
32273
32274 2009-05-28  Simon Josefsson  <simon@josefsson.org>
32275
32276         * gnulib-tool (func_import): Transform license on build-aux/ files too.
32277
32278 2009-05-27  Simon Josefsson  <simon@josefsson.org>
32279
32280         * gnulib-tool (sed_transform_main_lib_file)
32281         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
32282         regexps.
32283
32284 2009-05-26  Simon Josefsson  <simon@josefsson.org>
32285
32286         * tests/test-strstr.c: Add another self-test.
32287         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
32288         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
32289
32290 2009-05-23  Bruno Haible  <bruno@clisp.org>
32291
32292         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
32293         change.
32294
32295 2009-05-21  Bruno Haible  <bruno@clisp.org>
32296
32297         Simplify use of mode_t varargs.
32298         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
32299         uses 'mode_t' or 'int'.
32300         * lib/openat.c (openat): Likewise.
32301         * lib/open-safer.c (open_safer): Likewise.
32302         * m4/mode_t.m4: New file.
32303         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
32304         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
32305         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
32306         * modules/open (Files): Add m4/mode_t.m4.
32307         * modules/openat (Files): Likewise.
32308         * modules/fcntl-safer (Files): Likewise.
32309         Suggested by Eric Blake.
32310
32311 2009-05-21  Pádraig Brady  <P@draigbrady.com>
32312
32313         * doc/glibc-functions/fallocate.texi: New file.
32314         * doc/gnulib.texi: Include it.
32315
32316 2009-05-21  Eric Blake  <ebb9@byu.net>
32317             Bruno Haible  <bruno@clisp.org>
32318
32319         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
32320         invocations.
32321         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
32322
32323 2009-05-21  Eric Blake  <ebb9@byu.net>
32324             Bruno Haible  <bruno@clisp.org>
32325
32326         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
32327         include_next. Fix of 2008-11-20 commit.
32328         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
32329         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
32330         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
32331         NEXT_MATH_H.
32332         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
32333         instead of NEXT_MATH_H.
32334
32335 2009-05-21  Bruno Haible  <bruno@clisp.org>
32336
32337         Avoid redefinition warnings for SIZE_MAX.
32338         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
32339         Reported by Simon Josefsson.
32340
32341 2009-05-21  Bruno Haible  <bruno@clisp.org>
32342
32343         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
32344         AC_CACHE_VAL.
32345
32346 2009-05-20  Bruno Haible  <bruno@clisp.org>
32347
32348         Make zeroptr.h work on mingw.
32349         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
32350         mprotect.
32351         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
32352         * modules/memchr2-tests (configure.ac): Likewise.
32353         * modules/memcmp-tests (configure.ac): Likewise.
32354         * modules/memmem-tests (configure.ac): Likewise.
32355         * modules/memrchr-tests (configure.ac): Likewise.
32356         Reported by Simon Josefsson.
32357
32358 2009-05-20  Simon Josefsson  <simon@josefsson.org>
32359
32360         * tests/test-glob.c: Include string.h for strcmp prototype.
32361
32362 2009-05-20  Simon Josefsson  <simon@josefsson.org>
32363
32364         * modules/getdelim (Depends-on): Add explicit stdint, although it
32365         was implicitly already pulled in via realloc-posix.
32366         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
32367
32368 2009-05-20  Simon Josefsson  <simon@josefsson.org>
32369
32370         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
32371         G. Christensen" <tgc@jupiterrise.com>.
32372         * m4/sys_socket_h.m4: Check for sa_family_t.
32373         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
32374         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
32375         * tests/test-sys_socket.c: Check that sa_family_t works.
32376
32377 2009-05-18  Eric Blake  <ebb9@byu.net>
32378
32379         maint.mk: allow gnulib_dir in VPATH build
32380         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
32381
32382 2009-05-15  Jim Meyering  <meyering@redhat.com>
32383
32384         maint.mk: Give gnulib_dir a default definition.
32385         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
32386         Thus, most packages no longer need to specify this variable in cfg.mk
32387
32388 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
32389
32390         rename.m4: fix typos that would make non-mingw cross-configure fail
32391         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
32392
32393 2009-05-13  Eric Blake  <ebb9@byu.net>
32394
32395         mmap-anon: avoid out-of-order autoconf expansion
32396         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
32397         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
32398         * modules/memchr-tests (Depends-on): Add extensions.
32399         * modules/memchr2-tests (Depends-on): Add extensions.
32400         * modules/memcmp-tests (Depends-on): Add extensions.
32401         * modules/memmem-tests (Depends-on): Add extensions.
32402         * modules/memrchr-tests (Depends-on): Add extensions.
32403
32404 2009-05-13  Bruno Haible  <bruno@clisp.org>
32405
32406         Make some tests ISO C 99 compliant.
32407         * tests/zerosize-ptr.h: New file.
32408         * tests/test-memchr.c: Include zerosize-ptr.h.
32409         (main): Use a zero-size object pointer instead of NULL.
32410         * tests/test-memchr2.c: Include zerosize-ptr.h.
32411         (main): Use a zero-size object pointer instead of NULL.
32412         * tests/test-memcmp.c: Include zerosize-ptr.h.
32413         (main): Use a zero-size object pointer instead of NULL.
32414         * tests/test-memmem.c: Include zerosize-ptr.h.
32415         (main): Use a zero-size object pointer instead of NULL.
32416         * tests/test-memrchr.c: Include zerosize-ptr.h.
32417         (main): Use a zero-size object pointer instead of NULL.
32418         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
32419         m4/mmap-anon.m4.
32420         (Depends-on): Add getpagesize.
32421         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
32422         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
32423         m4/mmap-anon.m4.
32424         (Depends-on): Add getpagesize.
32425         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
32426         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
32427         m4/mmap-anon.m4.
32428         (Depends-on): Add getpagesize.
32429         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
32430         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
32431         m4/mmap-anon.m4.
32432         (Depends-on): Add getpagesize.
32433         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
32434         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
32435         m4/mmap-anon.m4.
32436         (Depends-on): Add getpagesize.
32437         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
32438
32439 2009-05-12  Bruno Haible  <bruno@clisp.org>
32440
32441         Tests for module 'alignof'.
32442         * modules/alignof-tests: New file.
32443         * tests/test-alignof.c: New file.
32444
32445 2009-05-12  Bruno Haible  <bruno@clisp.org>
32446
32447         Fix alignof macro.
32448         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
32449         vendor compilers that are always correct.
32450
32451 2009-05-12  Bruno Haible  <bruno@clisp.org>
32452
32453         Make the MAP_ANONYMOUS detection work on HP-UX 11.
32454         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
32455         not whether its fully works.
32456
32457 2009-05-12  Bruno Haible  <bruno@clisp.org>
32458
32459         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
32460
32461 2009-05-12  Jim Meyering  <meyering@redhat.com>
32462
32463         * top/maint.mk: Adjust backslash alignment.
32464
32465 2009-05-11  Simon Josefsson  <simon@josefsson.org>
32466
32467         * top/maint.mk: Make $(srcdir)/build-aux configurable.
32468
32469 2009-05-11  Eric Blake  <ebb9@byu.net>
32470
32471         argp: avoid undefined behavior
32472         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
32473         macros.
32474
32475 2009-05-08  Simon Josefsson  <simon@josefsson.org>
32476
32477         * tests/test-vc-list-files-git.sh: Do git config of user.email and
32478         user.name to prevent git commit from complaining.
32479
32480 2009-05-10  Bruno Haible  <bruno@clisp.org>
32481
32482         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
32483         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
32484         it rewrites every file name only once.
32485         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
32486
32487 2009-05-08  Bruno Haible  <bruno@clisp.org>
32488
32489         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
32490         instead of 'max'.
32491
32492 2009-05-08  Simon Josefsson  <simon@josefsson.org>
32493
32494         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
32495         sockaddr_storage test.
32496
32497 2009-05-07  Simon Josefsson  <simon@josefsson.org>
32498
32499         * modules/sys_socket (Makefile.am): Substitute
32500         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
32501         * m4/sys_socket_h.m4: Check for sockaddr_storage.
32502         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
32503         * tests/test-sys_socket.c: Check sockaddr_storage.
32504
32505 2009-05-08  Bruno Haible  <bruno@clisp.org>
32506
32507         New module 'alignof'.
32508         * lib/alignof.h: New file.
32509         * modules/alignof: New file.
32510
32511 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
32512             Bruno Haible  <bruno@clisp.org>
32513
32514         Fix test-file-has-acl on FreeBSD.
32515         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
32516         mask is implicitly added.
32517         * tests/test-file-has-acl.c: Include <signal.h>.
32518         (main): Terminate the test after 5 seconds.
32519         * modules/acl-tests (configure.ac): Check for alarm function.
32520
32521 2009-05-04  Bruno Haible  <bruno@clisp.org>
32522
32523         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
32524         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
32525         * modules/errno (configure.ac): Drop AC_REQUIRE.
32526         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
32527         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
32528
32529 2009-05-04  Simon Josefsson  <simon@josefsson.org>
32530
32531         * modules/glob-tests: New module.
32532         * tests/test-glob.c: Add.
32533
32534 2009-05-04  Simon Josefsson  <simon@josefsson.org>
32535
32536         * modules/fnmatch-tests: New module.
32537         * tests/test-fnmatch.c: Add.
32538
32539 2009-05-04  Eric Blake  <ebb9@byu.net>
32540
32541         maint: make the new no-submodule-changes rule VPATH-safe
32542         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
32543
32544 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
32545             Bruno Haible  <bruno@clisp.org>
32546
32547         acl: Fix infinite loop on FreeBSD.
32548         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
32549         of return value from acl_get_entry.
32550         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
32551         Likewise.
32552
32553 2009-05-03  Bruno Haible  <bruno@clisp.org>
32554
32555         * lib/acl-internal.h (acl_entries): Clarify return value.
32556         * lib/acl_entries.c (acl_entries): Likewise.
32557
32558 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
32559
32560         Bug fix in acl module.
32561         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
32562
32563 2009-05-03  Bruno Haible  <bruno@clisp.org>
32564
32565         Create gperf-generated file in the source dir, not in the build dir.
32566         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
32567         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
32568         * modules/unicase/locale-language (unicase/locale-languages.h):
32569         Likewise.
32570         * modules/unicase/special-casing (unicase/special-casing-table.h):
32571         Likewise.
32572         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
32573         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
32574         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
32575         Reported by Ralf Wildenhues.
32576
32577 2009-05-03  Bruno Haible  <bruno@clisp.org>
32578
32579         * modules/fnmatch (Description, configure.ac): Taken from
32580         fnmatch-posix.
32581         * modules/fnmatch-posix: Turn into a symbolic reference to the
32582         'fnmatch' module, and deprecate.
32583         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
32584
32585 2009-05-03  Bruno Haible  <bruno@clisp.org>
32586
32587         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
32588         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
32589         Reported by Ralf Wildenhues.
32590
32591 2009-05-04  Simon Josefsson  <simon@josefsson.org>
32592
32593         * m4/fnmatch.m4: Fix fnmatch re-define.
32594
32595 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
32596
32597         priv-set: new module and tests; adapt write-any-file
32598         * lib/priv-set.c: New file.
32599         * lib/priv-set.h: New file.
32600         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
32601         * lib/write-any-file.c: Simplify by using priv-set module.
32602         * m4/priv-set.m4: New file.
32603         * modules/priv-set: New file.
32604         * modules/unlinkdir: Add dependency on priv-set module.
32605         * modules/write-any-file: Likewise.
32606
32607         Tests for module 'priv-set'.
32608         * modules/priv-set-tests: New file.
32609         * tests/test-priv-set.c: New file.
32610
32611 2009-05-03  Jim Meyering  <meyering@redhat.com>
32612             Bruno Haible  <bruno@clisp.org>
32613
32614         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
32615         use the converted UTF-8 variant of the name instead.
32616
32617 2009-05-03  Jim Meyering  <meyering@redhat.com>
32618
32619         tests: tighten some getdate tests
32620         * tests/test-getdate.c (main): Tighten tests: require equality,
32621         not just greater than.  Set TZ envvar to UTC0.
32622
32623 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
32624
32625         getdate: correctly interpret "next monday" when run on a Monday
32626         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
32627         that e.g., "next tues" (when run on a tuesday) results in a date
32628         that is one week in the future, and not today's date.
32629         I.e., add a week when the wday is the same as the current one.
32630         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
32631         and earlier by Martin Bernreuther and Jan Minář.
32632         * tests/test-getdate.c (main): Check that "next DAY" is always in
32633         the future and that "last DAY" is always in the past.
32634
32635 2009-05-02  Jim Meyering  <meyering@redhat.com>
32636
32637         build: ensure that a release build fails when a submodule is unclean
32638         * top/maint.mk (no-submodule-changes): New rule.
32639         (alpha beta major): Depend on it.
32640
32641 2009-05-02  Bruno Haible  <bruno@clisp.org>
32642
32643         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
32644         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
32645         shell variable gl_fnmatch_required to detect which variant is
32646         requested.
32647         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
32648         gl_FUNC_FNMATCH_POSIX.
32649         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
32650         exclude fnmatch-posix.
32651
32652 2009-05-02  Bruno Haible  <bruno@clisp.org>
32653
32654         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
32655         * modules/mbsrtowcs (License): Change to LGPLv2+.
32656         * modules/strnlen1 (License): Likewise.
32657         Reported by Simon Josefsson.
32658
32659 2009-05-02  Bruno Haible  <bruno@clisp.org>
32660
32661         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
32662         "cross".
32663         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
32664         gnulib-tool was called with option --source-base=lib.
32665
32666 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32667
32668         Use automake *-local hooks without commands, for extensibility.
32669         * modules/localcharset (Makefile.am): Rename install-exec-local
32670         rule to install-exec-localcharset, and make it a prerequisite of
32671         install-exec-local.  Likewise, rename the uninstall-local rule to
32672         uninstall-localcharset, and make it a prerequisite of the former.
32673
32674 2009-05-01  Bruno Haible  <bruno@clisp.org>
32675
32676         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
32677         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
32678         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
32679         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
32680         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
32681         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
32682         m4/locale-zh.m4, m4/codeset.m4.
32683
32684         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
32685         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
32686         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
32687         m4/locale-zh.m4.
32688
32689         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
32690         REPLACE_WCRTOMB if mbstate_t must be replaced.
32691         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
32692         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
32693
32694 2009-05-01  Bruno Haible  <bruno@clisp.org>
32695
32696         Avoid compiler warnings when redefining macros defined by <libintl.h>.
32697         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
32698         dngettext, dcngettext, textdomain, bindtextdomain,
32699         bind_textdomain_codeset): Undefine before redefining.
32700
32701 2009-04-30  Bruno Haible  <bruno@clisp.org>
32702
32703         Fix bug introduced on 2009-04-25.
32704         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
32705         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
32706         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
32707         is defined.
32708         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
32709         is defined.
32710         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
32711         is defined.
32712         Reported by Elbert_Pol <elbert.pol@gmail.com>.
32713
32714 2009-04-28  Bruno Haible  <bruno@clisp.org>
32715
32716         Comment tweaks.
32717         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
32718         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
32719         * lib/unicase.h (u*_casexfrm): Likewise.
32720         Reported by Paolo Bonzini.
32721
32722 2009-04-28  Bruno Haible  <bruno@clisp.org>
32723
32724         Fix a compilation error.
32725         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
32726         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
32727         Reported by Jim Meyering.
32728
32729 2009-04-27  Bruno Haible  <bruno@clisp.org>
32730
32731         New module 'libunistring'.
32732         * modules/libunistring: New file.
32733         * m4/libunistring.m4: New file.
32734         * MODULES.html.sh (Unicode string functions): Add it.
32735
32736 2009-04-27  Eric Blake  <ebb9@byu.net>
32737
32738         maint.mk: allow package-specific header to provide <config.h>
32739         * top/maint.mk (sc_require_config_h): New variable.
32740         (sc_require_config_h, sc_require_config_h_first): Use it.
32741
32742 2009-04-27  Simon Josefsson  <simon@josefsson.org>
32743
32744         * top/maint.mk (sc_avoid_if_before_free): Except
32745         useless-if-before-free script.
32746
32747 2009-04-27  Eric Blake  <ebb9@byu.net>
32748
32749         maintainer-makefile: depend on all required helper scripts
32750         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
32751         useless-if-before-free.
32752         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
32753         version, rather than assuming gnulib checkout is available.
32754         Reported by Simen Josefsson.
32755
32756 2009-04-26  Bruno Haible  <bruno@clisp.org>
32757
32758         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
32759         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
32760         "../" or "..".
32761
32762 2009-04-26  Bruno Haible  <bruno@clisp.org>
32763
32764         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
32765         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
32766         AC_LIB_HAVE_LINKFLAGS.
32767
32768 2009-04-26  Bruno Haible  <bruno@clisp.org>
32769
32770         Simplify calling convention of u*_conv_from_encoding.
32771         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
32772         u32_conv_from_encoding): Expect a resultbuf argument and return the
32773         result directly as a pointer.
32774         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
32775         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
32776         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
32777         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
32778         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
32779         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
32780         Update.
32781         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
32782         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
32783         * lib/vasnprintf.c (VASNPRINTF): Update.
32784         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
32785         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
32786         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
32787         * NEWS: Mention the change.
32788
32789 2009-04-26  Bruno Haible  <bruno@clisp.org>
32790
32791         Simplify calling convention of u*_conv_to_encoding.
32792         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
32793         u32_conv_to_encoding): Expect a resultbuf argument and return the
32794         result directly as a pointer.
32795         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
32796         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
32797         freeing scaled_offsets if mem_iconveha failed.
32798         * lib/unicase/u-casexfrm.h (FUNC): Update.
32799         * lib/uninorm/u-normxfrm.h (FUNC): Update.
32800         * lib/vasnprintf.c (VASNPRINTF): Update.
32801         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
32802         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
32803         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
32804         * NEWS: Mention the change.
32805
32806 2009-04-26  Bruno Haible  <bruno@clisp.org>
32807
32808         Avoid test failures on AIX and OSF/1.
32809         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
32810         malloc(0).
32811         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
32812         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
32813         Likewise.
32814         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
32815         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
32816         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
32817         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
32818         * doc/posix-functions/malloc.texi: Document the portability problem
32819         related to malloc(0).
32820
32821 2009-04-26  Bruno Haible  <bruno@clisp.org>
32822
32823         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
32824         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
32825         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
32826
32827 2009-04-25  Bruno Haible  <bruno@clisp.org>
32828
32829         Avoid link error when creating a namespace clean library.
32830         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
32831         as macro with arguments if already defined as an alias.
32832         * lib/signbitf.c (gl_signbitf): Don't undefine.
32833         * lib/signbitd.c (gl_signbitd): Don't undefine.
32834         * lib/signbitl.c (gl_signbitl): Don't undefine.
32835
32836 2009-04-25  Jim Meyering  <meyering@redhat.com>
32837
32838         vc-list-files: fix another quoting bug
32839         * build-aux/vc-list-files: Avoid sed backslash expansion
32840         of pathological directory names.
32841
32842 2009-04-25  Eric Blake  <ebb9@byu.net>
32843
32844         vc-list-files: fix shell quoting error
32845         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
32846         timestamp.
32847
32848 2009-04-25  Jim Meyering  <meyering@redhat.com>
32849
32850         vc-list-files: restore lost functionality with subdir argument
32851         * build-aux/vc-list-files: When given a non-"." sub-directory
32852         argument, substitute the $dir/ prefix back onto each resulting name.
32853         Otherwise, coreutils' root_tests check would fail.
32854
32855 2009-04-24  Eric Blake  <ebb9@byu.net>
32856
32857         vc-list-files: ignore git symlinks
32858         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
32859         than ls-files, to ignore git symlinks.
32860
32861         maint.mk: import improvements from m4
32862         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
32863         (move_if_change): Delete unused macro.
32864         (news-date-check, vc-diff-check): Support VPATH builds.
32865         (announcement): Likewise.  Split --bootstrap-tools list...
32866         (boostrap-tools): ...into separate list, which can be overridden
32867         in cfg.mk.
32868         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
32869         requiring dependency on useless-if-before-free module.
32870         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
32871         Support VPATH builds.
32872
32873 2009-04-24  Jim Meyering  <meyering@redhat.com>
32874
32875         maint.mk: remove coreutils-specific rules and variables
32876         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
32877         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
32878         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
32879
32880         maint.mk: remove obsolete rule
32881         * top/maint.mk (rel-check): Remove rule.
32882         (WGET, WGETFLAGS): Remove now-unused variables.
32883
32884 2009-04-24  Simon Josefsson  <simon@josefsson.org>
32885
32886         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
32887         consistency.
32888
32889         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
32890         '$(PATH_SEPARATOR)' instead of ':'.
32891
32892 2009-04-24  Simon Josefsson  <simon@josefsson.org>
32893
32894         * lib/getopt1.c (main): Use 'const' for static array.
32895
32896 2009-04-24  Simon Josefsson  <simon@josefsson.org>
32897
32898         * top/maint.mk: Sync with coreutils.
32899         * NEWS: Explain incompatibilities.
32900
32901 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
32902             Bruno Haible  <bruno@clisp.org>
32903
32904         Fix cross-compilation results.
32905         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
32906         statement, as third argument of AC_TRY_RUN.
32907         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
32908         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
32909         Likewise.
32910         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
32911         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
32912         Likewise.
32913         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
32914         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
32915         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
32916
32917 2009-04-20  Bruno Haible  <bruno@clisp.org>
32918
32919         Avoid test failure on mingw.
32920         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
32921
32922 2009-04-20  Bruno Haible  <bruno@clisp.org>
32923
32924         Avoid compilation error on mingw.
32925         * modules/localename-tests (Depends-on): Add locale.
32926
32927 2009-04-19  Bruno Haible  <bruno@clisp.org>
32928
32929         Support for building a shared library on Windows platforms.
32930         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
32931         (main): Test the presence of UNINORM_NFC here.
32932         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
32933         (main): Test the presence of UNINORM_NFD here.
32934         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
32935         (main): Test the presence of UNINORM_NFKC here.
32936         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
32937         (main): Test the presence of UNINORM_NFKD here.
32938
32939 2009-04-19  Bruno Haible  <bruno@clisp.org>
32940
32941         Avoid a compiler warning.
32942         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
32943         Change type of variable 'sequence'.
32944
32945 2009-04-19  Bruno Haible  <bruno@clisp.org>
32946
32947         * modules/configmake (Makefile.am): When the contents of configmake.h
32948         does not change, arrange to preserve its modification time.
32949
32950 2009-04-17  Simon Josefsson  <simon@josefsson.org>
32951
32952         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
32953         gettext domain.
32954
32955 2009-04-16  Jim Meyering  <meyering@redhat.com>
32956
32957         useless-if-before-free: improve conversion code
32958         * build-aux/useless-if-before-free: Adjust code-in-comment to match
32959         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
32960
32961 2009-04-14  Bruno Haible  <bruno@clisp.org>
32962
32963         * modules/fcntl (Depends-on): Add extensions.
32964         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
32965
32966 2009-04-12  Ben Pfaff  <blp@gnu.org>
32967
32968         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
32969         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
32970
32971 2009-03-20  Ben Pfaff  <blp@gnu.org>
32972
32973         Make rename replace existing destinations on Windows.
32974         * m4/rename.m4: Add test for Mingw.
32975         * lib/rename.c: Add rename replacement that uses MoveFileEx with
32976         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
32977         * doc/posix-functions/rename.texi: Document.
32978
32979 2009-04-10  Bruno Haible  <bruno@clisp.org>
32980
32981         New include file "iconveh.h".
32982         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
32983         * lib/striconveh.h: Include it.
32984         (enum iconv_ilseq_handler): Remove definition.
32985         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
32986         striconveh.h.
32987         * lib/striconveha.c: Include striconveh.h.
32988         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
32989         * modules/striconveh (Files): Add lib/iconveh.h.
32990         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
32991         lib/striconveh.h.
32992
32993 2009-04-10  Bruno Haible  <bruno@clisp.org>
32994
32995         * lib/uniconv.h: Update comment.
32996
32997 2009-04-10  Bruno Haible  <bruno@clisp.org>
32998
32999         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
33000         always.
33001         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
33002         * lib/unistr/u16-mbtouc-aux.c: Likewise.
33003         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
33004         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
33005         "unistring-notinline.h", so that the function gets defined always.
33006         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
33007         * lib/unistr/u8-uctomb.c: Likewise.
33008         * lib/unistr/u16-mbtouc.c: Likewise.
33009         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
33010         * lib/unistr/u16-uctomb.c: Likewise.
33011         * lib/unistr/u32-mbtouc.c: Likewise.
33012         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
33013         * lib/unistr/u32-uctomb.c: Likewise.
33014
33015 2009-04-10  Bruno Haible  <bruno@clisp.org>
33016
33017         Mark 'utime' obsolete.
33018         * modules/utime (Status, Notice): New sections.
33019         Suggested by Jim Meyering.
33020
33021         Fix cross-compile guess for utime test.
33022         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
33023         autoconf.
33024         * doc/posix-functions/utime.texi: Give more precisions.
33025         Reported by Jan <ipif@ymail.com>.
33026
33027 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
33028
33029         filevercmp: correct today's change
33030         * lib/filevercmp.c: Also handle coreutils' test inputs.
33031         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
33032
33033         Fix regression in 'filevercmp' module. Thanks Sven Joachim
33034         for reporting it.
33035         * lib/filevercmp.c: Special handle for "", "." and "..".
33036         * tests/test-filevercmp.c: Enlarge the set suite.
33037
33038 2009-04-07  Jim Meyering  <meyering@redhat.com>
33039
33040         useless-if-before-free: show how to remove braced useless free, too
33041         * build-aux/useless-if-before-free: still only in a comment, though.
33042
33043 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
33044
33045         maint.mk: import changes to syntax-check macros from coreutils
33046         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
33047         Use them in the relevant macros.
33048
33049 2009-04-06  Bruno Haible  <bruno@clisp.org>
33050
33051         Fix unportable use of bit-fields.
33052         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
33053         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
33054         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
33055
33056 2009-04-06  Bruno Haible  <bruno@clisp.org>
33057
33058         Avoid test failures on AIX and OSF/1.
33059         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
33060         that malloc(0) = NULL.
33061         * tests/unicase/test-u8-tolower.c (check): Likewise.
33062         * tests/unicase/test-u8-totitle.c (check): Likewise.
33063         * tests/unicase/test-u8-toupper.c (check): Likewise.
33064         * tests/unicase/test-u16-casefold.c (check): Likewise.
33065         * tests/unicase/test-u16-tolower.c (check): Likewise.
33066         * tests/unicase/test-u16-totitle.c (check): Likewise.
33067         * tests/unicase/test-u16-toupper.c (check): Likewise.
33068         * tests/unicase/test-u32-casefold.c (check): Likewise.
33069         * tests/unicase/test-u32-tolower.c (check): Likewise.
33070         * tests/unicase/test-u32-totitle.c (check): Likewise.
33071         * tests/unicase/test-u32-toupper.c (check): Likewise.
33072         * tests/uninorm/test-u8-nfc.c (check): Likewise.
33073         * tests/uninorm/test-u8-nfd.c (check): Likewise.
33074         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
33075         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
33076         * tests/uninorm/test-u16-nfc.c (check): Likewise.
33077         * tests/uninorm/test-u16-nfd.c (check): Likewise.
33078         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
33079         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
33080         * tests/uninorm/test-u32-nfc.c (check): Likewise.
33081         * tests/uninorm/test-u32-nfd.c (check): Likewise.
33082         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
33083         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
33084
33085 2009-04-05  Bruno Haible  <bruno@clisp.org>
33086
33087         Work around an autoconf limitation.
33088         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
33089         comment line if it would be longer than 3 KB.
33090
33091 2009-04-05  Bruno Haible  <bruno@clisp.org>
33092
33093         Avoid test failure with libiconv-1.13.
33094         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
33095         of the expected test results.
33096
33097 2009-04-05  Bruno Haible  <bruno@clisp.org>
33098
33099         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
33100         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
33101         that it should be installed.
33102
33103 2009-04-05  Bruno Haible  <bruno@clisp.org>
33104
33105         * gnulib-tool: New option --copy-file.
33106         (func_usage): Document it.
33107         (func_dest_tmpfilename): Moved out of func_import.
33108         (func_add_file, func_update_file): New functions, extracted from
33109         func_import.
33110         (func_import): Update.
33111
33112 2009-04-05  Karl Berry  <karl@gnu.org>
33113
33114         * README: prominently mention gnulib-tool.
33115         Rearrange sections so getting the code is near the top.
33116
33117 2009-04-05  Bruno Haible  <bruno@clisp.org>
33118
33119         * lib/unicase.h: Mention u*_cmp2.
33120         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
33121         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
33122         * lib/unicase/ulc-casecmp.c: Likewise.
33123         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
33124         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
33125         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
33126         unistr/u8-cmp.
33127         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
33128         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
33129         unistr/u16-cmp.
33130         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
33131         unistr/u32-cmp.
33132
33133         * lib/uninorm.h: Mention u*_cmp2.
33134         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
33135         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
33136         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
33137         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
33138         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
33139         unistr/u8-cmp.
33140         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
33141         unistr/u16-cmp.
33142         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
33143         unistr/u32-cmp.
33144
33145         New module 'unistr/u32-cmp2'.
33146         * lib/unistr/u32-cmp2.c: New file.
33147         * modules/unistr/u32-cmp2: New file.
33148
33149         New module 'unistr/u16-cmp2'.
33150         * lib/unistr/u16-cmp2.c: New file.
33151         * modules/unistr/u16-cmp2: New file.
33152
33153         New module 'unistr/u8-cmp2'.
33154         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
33155         * lib/unistr/u8-cmp2.c: New file.
33156         * lib/unistr/u-cmp2.h: New file.
33157         * modules/unistr/u8-cmp2: New file.
33158
33159 2009-04-05  Bruno Haible  <bruno@clisp.org>
33160
33161         * lib/unictype.h (uc_property_is_valid): New macro.
33162         * tests/unictype/test-pr_byname.c (main): Use it.
33163
33164         * lib/unistr.h: Doc fixes.
33165         * lib/uniconv.h: Doc fixes.
33166         * lib/unictype.h: Doc fixes.
33167
33168 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
33169
33170         Port coreutils 7.2 to Solaris 8.
33171
33172         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
33173         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
33174         for Solaris 8.  This is a bit of a hack, as it means it's the
33175         caller's responsibility to add -lnsl if needed, but most likely it
33176         won't be needed since only getaddrinfo uses this and getaddrinfo
33177         isn't needed on Solaris 8.
33178
33179         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
33180         problem to Solaris 8 encountered with coreutils 7.2, which
33181         resulted in a message "fnmatch.c:292: warning: passing argument 4
33182         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
33183         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
33184
33185 2009-04-03  Simon Josefsson  <simon@josefsson.org>
33186
33187         * m4/ld-version-script.m4: Add FIXME comment.
33188
33189 2009-04-02  Simon Josefsson  <simon@josefsson.org>
33190
33191         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
33192         SOVERSION variable.
33193
33194 2009-04-02  Bruno Haible  <bruno@clisp.org>
33195
33196         * Makefile (info, html, dvi, pdf): Combine the rules.
33197         Suggested by Jim Meyering.
33198
33199 2009-04-01  Bruno Haible  <bruno@clisp.org>
33200
33201         * Makefile (info, html, dvi, pdf): New targets.
33202         Reported by Reuben Thomas <rrt@sc3d.org>.
33203
33204 2009-04-01  Bruno Haible  <bruno@clisp.org>
33205
33206         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
33207         can be put into PATH.
33208         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
33209
33210 2009-04-01  Bruno Haible  <bruno@clisp.org>
33211
33212         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
33213
33214 2009-04-01  Bruno Haible  <bruno@clisp.org>
33215
33216         Rename module 'visibility'.
33217         * modules/lib-symbol-visibility: Renamed from modules/visibility.
33218         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
33219         * doc/gnulib.texi: Update.
33220         * MODULES.html.sh (Misc): Update.
33221         * NEWS: Mention the change.
33222
33223 2009-04-01  Simon Josefsson  <simon@josefsson.org>
33224
33225         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
33226         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
33227         Eric Blake <ebb9@byu.net> for review.
33228         * MODULES.html.sh: Add lib-msvc-compat.
33229         * doc/gnulib.texi: Link to new section.
33230         * m4/ld-output-def.m4: New file.
33231         * doc/ld-output-def.texi: New file.
33232
33233 2009-04-01  Simon Josefsson  <simon@josefsson.org>
33234
33235         Rename ld-version-script to lib-symbol-versions.  Suggested by
33236         Bruno Haible <bruno@clisp.org>.
33237         * modules/ld-version-script: Renamed to lib-symbol-versions.
33238         * doc/ld-version-script.texi: Fix module name.
33239         * MODULES.html.sh: Add lib-symbol-versions.
33240
33241 2009-03-31  Simon Josefsson  <simon@josefsson.org>
33242
33243         * modules/u64-tests: New file.
33244         * tests/test-u64.c: New file.
33245
33246 2009-03-04  Simon Josefsson  <simon@josefsson.org>
33247
33248         * MODULES.html.sh: Mention u64.
33249         * modules/u64: New module.
33250         * modules/crypto/sha512: Depend on u64 module instead of providing
33251         u64.h.
33252
33253 2009-03-27  Eric Blake  <ebb9@byu.net>
33254
33255         test-strerror: make debugging EAI_SYSTEM easier
33256         * modules/getaddrinfo-tests (Depends-on): Add strerror.
33257         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
33258         failure was EAI_SYSTEM.
33259
33260 2009-03-25  Bruno Haible  <bruno@clisp.org>
33261
33262         Fix a problem with --enable-relocatable on Solaris 7.
33263         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
33264         since 2008-02-24.
33265
33266 2009-03-25  Eric Blake  <ebb9@byu.net>
33267
33268         test-sockets: avoid gcc warning
33269         * tests/test-sockets.c (main): Silence compiler warning.
33270
33271 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
33272
33273         New modules nproc, pthread, contributed by Glen Lenker.
33274
33275         * MODULES.html.sh: Add pthread, nproc.
33276         * lib/nproc.c: New file.
33277         * lib/nproc.h: New file.
33278         * lib/pthread.in.h: New file.
33279         * m4/pthread.m4: New file.
33280         * modules/nproc: New file.
33281         * modules/pthread: New file.
33282
33283 2009-03-24  Simon Josefsson  <simon@josefsson.org>
33284
33285         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
33286         New variable.
33287
33288 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
33289
33290         filevercmp: handle simple~ and numbered.~3~ backup suffixes
33291         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
33292         * tests/test-filevercmp.c: Add tests for backup suffixes.
33293
33294 2009-03-24  Simon Josefsson  <simon@josefsson.org>
33295
33296         * modules/stdlib (Depends-on): Add stdint, needed when defining
33297         struct random_data on, for example, HP-UX 10.20.  Reported by
33298         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
33299
33300 2009-03-24  Simon Josefsson  <simon@josefsson.org>
33301
33302         * lib/readline.c (readline): Call fflush on stdout after printing
33303         prompt.
33304
33305 2009-03-20  Bruno Haible  <bruno@clisp.org>
33306
33307         Remove dependency from 'close' module to -lws2_32 on native Windows.
33308         * lib/close-hook.h: New file.
33309         * lib/close-hook.c: New file.
33310         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
33311         w32sock.h.
33312         (_gl_close_fd_maybe_socket): Remove function.
33313         (rpl_close): Invoke execute_all_close_hooks instead of
33314         _gl_close_fd_maybe_socket.
33315         * lib/sockets.c: Include close-hook.h, w32sock.h.
33316         (close_fd_maybe_socket): New function, essentially from lib/close.c.
33317         (close_sockets_hook): New variable.
33318         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
33319         (gl_sockets_cleanup): Unregister it.
33320         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
33321         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
33322         * modules/close-hook: New file.
33323         * modules/close (Files): Remove lib/w32sock.h.
33324         (Depends-on): Add close-hook.
33325         (Link): Remove section.
33326         * modules/sockets (Files): Add lib/w32sock.h.
33327         (Depends-on): Add close-hook.
33328         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
33329         invocation.
33330         * NEWS: Mention that LIB_CLOSE is gone.
33331
33332 2009-03-23  Eric Blake  <ebb9@byu.net>
33333
33334         signal-tests: test previous patch
33335         * tests/test-signal.c: New file.
33336         * modules/signal-tests: Likewise.
33337
33338         signal.h: always support 'volatile sig_atomic_t'
33339         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
33340         (gl_SIGNAL_H_DEFAULTS): Add a default.
33341         * modules/signal (Makefile.am): Substitute if needed.
33342         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
33343         users can blindly add volatile.
33344         * doc/posix-headers/signal.texi (signal.h): Document it.
33345         Reported by Matthew Woehlke.
33346
33347 2009-03-23  Jim Meyering  <meyering@redhat.com>
33348
33349         pathmax: PATH_MAX: use pathconf only when available
33350         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
33351         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
33352         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
33353         This avoids a link failure in a PSP cross-compilation environment
33354         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
33355
33356         * lib/vasnprintf.c (divide): Fix typo in comment.
33357
33358 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33359
33360         * gnulib-tool (func_filter_filelist): Fix comment.
33361
33362 2009-03-20  Bruno Haible  <bruno@clisp.org>
33363
33364         Make sockets.h self-contained.
33365         * lib/sockets.c: Include sockets.h first.
33366         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
33367
33368 2009-03-19  Eric Blake  <ebb9@byu.net>
33369
33370         doc: mention more functions added in cygwin 1.7.0
33371         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
33372         addition.
33373         * doc/posix-functions/log2f.texi: Likewise.
33374
33375 2009-03-19  Jim Meyering  <meyering@redhat.com>
33376
33377         fsusage: avoid syntax error due to statement-before-declaration
33378         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
33379         after all declarations.  Reported by Matthew Woehlke in
33380         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
33381
33382 2009-03-18  Eric Blake  <ebb9@byu.net>
33383
33384         build-aux/compile: sync from automake
33385         * build-aux/compile: New file, from automake.
33386         * config/srclist.txt: Mention build-aux/compile.
33387
33388 2009-03-17  Bruno Haible  <bruno@clisp.org>
33389
33390         * lib/git-merge-changelog.c: Fix typo in comment.
33391         Reported by Reuben Thomas <rrt@sc3d.org>.
33392
33393 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
33394
33395         * m4/regex.m4: update and improve help for
33396         --without-included-regex.
33397
33398 2009-03-17  Simon Josefsson  <simon@josefsson.org>
33399
33400         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
33401         failure on missing include files.
33402
33403 2009-03-17  Eric Blake  <ebb9@byu.net>
33404
33405         doc: mention more functions added in cygwin 1.7.0
33406         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
33407         addition.
33408         * doc/posix-functions/fwscanf.texi: Likewise.
33409         * doc/posix-functions/swprintf.texi: Likewise.
33410         * doc/posix-functions/swscanf.texi: Likewise.
33411         * doc/posix-functions/vfwprintf.texi: Likewise.
33412         * doc/posix-functions/vfwscanf.texi: Likewise.
33413         * doc/posix-functions/vswprintf.texi: Likewise.
33414         * doc/posix-functions/vswscanf.texi: Likewise.
33415         * doc/posix-functions/vwprintf.texi: Likewise.
33416         * doc/posix-functions/vwscanf.texi: Likewise.
33417         * doc/posix-functions/wcscasecmp.texi: Likewise.
33418         * doc/posix-functions/wcsdup.texi: Likewise.
33419         * doc/posix-functions/wcsftime.texi: Likewise.
33420         * doc/posix-functions/wcsncasecmp.texi: Likewise.
33421         * doc/posix-functions/wprintf.texi: Likewise.
33422         * doc/posix-functions/wscanf.texi: Likewise.
33423         * doc/glibc-functions/gethostbyname2.texi: Likewise.
33424
33425 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33426
33427         maint.mk: really add $(AM_MAKEFLAGS)
33428         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
33429         was inadvertently omitted in the last commit.
33430         Spotted by Bruno Haible.
33431
33432         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
33433         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
33434         $(AM_MAKEFLAGS)' rather than plain `make'.
33435
33436         gnulib-tool: execute $MAKE not make
33437         * gnulib-tool: Default $MAKE to 'make'.
33438         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
33439         than make.  Initialize $MAKE in the do-autobuild script.
33440
33441         gnulib-tool: use $MAKE not make in generated files
33442         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
33443         make, in generated files.  Initialize $MAKE in the do-autobuild
33444         script.
33445
33446         * top/GNUmakefile (_have-git-version-gen): Fix typo.
33447
33448         GNUmakefile: disable parallelism only for multiple, recursive targets
33449         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
33450         additions in the Makefile.
33451         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
33452         by Automake.
33453         (.NOTPARALLEL): Only disable parallel builds if multiple targets
33454         are listed on the command line and at least one of them is
33455         listed in $(ALL_RECURSIVE_TARGETS).
33456
33457 2009-03-14  Bruno Haible  <bruno@clisp.org>
33458
33459         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
33460         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
33461         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
33462         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
33463         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
33464         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
33465         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
33466         unistr/u8-uctomb.
33467         * modules/unistr/u8-strchr (Depends-on): Likewise.
33468         * modules/unistr/u8-strrchr (Depends-on): Likewise.
33469         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
33470         unistr/u16-uctomb.
33471         * modules/unistr/u16-strchr (Depends-on): Likewise.
33472         * modules/unistr/u16-strrchr (Depends-on): Likewise.
33473
33474 2009-03-12  Bruno Haible  <bruno@clisp.org>
33475
33476         Work around select() bug on Interix 3.5.
33477         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
33478         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
33479         * m4/select.m4: New file.
33480         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
33481         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
33482         * modules/select (Files): Add m4/select.m4.
33483         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
33484         * modules/nanosleep (Depends-on): Add select.
33485         * modules/poll (Depends-on): Likewise.
33486         * doc/posix-functions/select.texi: Mention the Interix bug.
33487         Reported by Markus Duft <mduft@gentoo.org>.
33488
33489         * lib/select.c: Renamed from lib/winsock-select.c.
33490         * modules/select (Files): Add lib/select.c, remove
33491         lib/winsock-select.c.
33492         (configure.ac): Update.
33493
33494 2009-03-12  Jim Meyering  <meyering@redhat.com>
33495
33496         avoid gcc warnings about unused macro definitions
33497         * lib/readtokens.c (STREQ): Remove unused definition.
33498         * lib/xmalloc.c (SIZE_MAX): Likewise.
33499         * lib/openat-die.c (N_): Likewise.
33500         * lib/mountlist.c (SIZE_MAX): Remove definition.
33501         Instead, include <stdint.h>.
33502         * lib/readutmp.c: Likewise.
33503         * modules/readutmp (Depends-on): Add stdint.
33504         * modules/mountlist (Depends-on): Add stdint.
33505         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
33506
33507 2009-03-10  Bruno Haible  <bruno@clisp.org>
33508
33509         Tests for module 'mbmemcasecoll'.
33510         * modules/mbmemcasecoll-tests: New file.
33511         * tests/test-mbmemcasecoll1.sh: New file.
33512         * tests/test-mbmemcasecoll2.sh: New file.
33513         * tests/test-mbmemcasecoll3.sh: New file.
33514         * tests/test-mbmemcasecoll.c: New file.
33515
33516         New module 'mbmemcasecoll'.
33517         * lib/mbmemcasecoll.h: New file.
33518         * lib/mbmemcasecoll.c: New file.
33519         * modules/mbmemcasecoll: New file.
33520
33521         * tests/test-mbmemcasecmp.h: New file, extracted from
33522         tests/test-mbmemcasecmp.c.
33523         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
33524         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
33525         (main): Update.
33526         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
33527
33528 2009-03-09  Bruno Haible  <bruno@clisp.org>
33529
33530         Tests for module 'mbmemcasecmp'.
33531         * modules/mbmemcasecmp-tests: New file.
33532         * tests/test-mbmemcasecmp1.sh: New file.
33533         * tests/test-mbmemcasecmp2.sh: New file.
33534         * tests/test-mbmemcasecmp3.sh: New file.
33535         * tests/test-mbmemcasecmp.c: New file.
33536
33537         New module 'mbmemcasecmp'.
33538         * lib/mbmemcasecmp.h: New file.
33539         * lib/mbmemcasecmp.c: New file.
33540         * modules/mbmemcasecmp: New file.
33541
33542 2009-03-09  Bruno Haible  <bruno@clisp.org>
33543
33544         Tests for module 'unicase/ulc-casecoll'.
33545         * modules/unicase/ulc-casecoll-tests: New file.
33546         * tests/unicase/test-ulc-casecoll1.sh: New file.
33547         * tests/unicase/test-ulc-casecoll2.sh: New file.
33548         * tests/unicase/test-ulc-casecoll.c: New file.
33549
33550         New module 'unicase/ulc-casecoll'.
33551         * lib/unicase.h (ulc_casecoll): New declaration.
33552         * lib/unicase/ulc-casecoll.c: New file.
33553         * modules/unicase/ulc-casecoll: New file.
33554
33555         New module 'unicase/ulc-casexfrm'.
33556         * lib/unicase.h (ulc_casexfrm): New declaration.
33557         * lib/unicase/ulc-casexfrm.c: New file.
33558         * modules/unicase/ulc-casexfrm: New file.
33559
33560 2009-03-09  Bruno Haible  <bruno@clisp.org>
33561
33562         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
33563         invocations.
33564
33565         * m4/mbscasecmp.m4: Remove file.
33566         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
33567         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
33568
33569         * m4/mbscasestr.m4: Remove file.
33570         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
33571         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
33572
33573         * m4/mbschr.m4: Remove file.
33574         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
33575         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
33576
33577         * m4/mbscspn.m4: Remove file.
33578         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
33579         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
33580
33581         * m4/mbslen.m4: Remove file.
33582         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
33583         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
33584
33585         * m4/mbsncasecmp.m4: Remove file.
33586         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
33587         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
33588
33589         * m4/mbsnlen.m4: Remove file.
33590         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
33591         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
33592
33593         * m4/mbspbrk.m4: Remove file.
33594         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
33595         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
33596
33597         * m4/mbspcasecmp.m4: Remove file.
33598         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
33599         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
33600
33601         * m4/mbsrchr.m4: Remove file.
33602         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
33603         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
33604
33605         * m4/mbssep.m4: Remove file.
33606         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
33607         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
33608
33609         * m4/mbsspn.m4: Remove file.
33610         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
33611         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
33612
33613         * m4/mbsstr.m4: Remove file.
33614         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
33615         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
33616
33617         * m4/mbstok_r.m4: Remove file.
33618         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
33619         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
33620
33621         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
33622
33623         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
33624         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
33625
33626         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
33627
33628 2009-03-08  Bruno Haible  <bruno@clisp.org>
33629
33630         Tests for module 'unicase/ulc-casecmp'.
33631         * modules/unicase/ulc-casecmp-tests: New file.
33632         * tests/unicase/test-ulc-casecmp1.sh: New file.
33633         * tests/unicase/test-ulc-casecmp2.sh: New file.
33634         * tests/unicase/test-ulc-casecmp.c: New file.
33635
33636         New module 'unicase/ulc-casecmp'.
33637         * lib/unicase.h (ulc_casecmp): New declaration.
33638         * lib/unicase/ulc-casecmp.c: New file.
33639         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
33640         'const SRC_UNIT *'.
33641         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
33642         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
33643         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
33644         * modules/unicase/ulc-casecmp: New file.
33645
33646         Tests for module 'unicase/u32-is-cased'.
33647         * modules/unicase/u32-is-cased-tests: New file.
33648         * tests/unicase/test-u32-is-cased.c: New file.
33649
33650         Tests for module 'unicase/u16-is-cased'.
33651         * modules/unicase/u16-is-cased-tests: New file.
33652         * tests/unicase/test-u16-is-cased.c: New file.
33653
33654         Tests for module 'unicase/u8-is-cased'.
33655         * modules/unicase/u8-is-cased-tests: New file.
33656         * tests/unicase/test-u8-is-cased.c: New file.
33657         * tests/unicase/test-is-cased.h: New file.
33658
33659         New module 'unicase/u32-is-cased'.
33660         * lib/unicase/u32-is-cased.c: New file.
33661         * modules/unicase/u32-is-cased: New file.
33662
33663         New module 'unicase/u16-is-cased'.
33664         * lib/unicase/u16-is-cased.c: New file.
33665         * modules/unicase/u16-is-cased: New file.
33666
33667         New module 'unicase/u8-is-cased'.
33668         * lib/unicase/u8-is-cased.c: New file.
33669         * lib/unicase/u-is-cased.h: New file.
33670         * modules/unicase/u8-is-cased: New file.
33671
33672         Tests for module 'unicase/u32-is-casefolded'.
33673         * modules/unicase/u32-is-casefolded-tests: New file.
33674         * tests/unicase/test-u32-is-casefolded.c: New file.
33675
33676         Tests for module 'unicase/u16-is-casefolded'.
33677         * modules/unicase/u16-is-casefolded-tests: New file.
33678         * tests/unicase/test-u16-is-casefolded.c: New file.
33679
33680         Tests for module 'unicase/u8-is-casefolded'.
33681         * modules/unicase/u8-is-casefolded-tests: New file.
33682         * tests/unicase/test-u8-is-casefolded.c: New file.
33683         * tests/unicase/test-is-casefolded.h: New file.
33684
33685         New module 'unicase/u32-is-casefolded'.
33686         * lib/unicase/u32-is-casefolded.c: New file.
33687         * modules/unicase/u32-is-casefolded: New file.
33688
33689         New module 'unicase/u16-is-casefolded'.
33690         * lib/unicase/u16-is-casefolded.c: New file.
33691         * modules/unicase/u16-is-casefolded: New file.
33692
33693         New module 'unicase/u8-is-casefolded'.
33694         * lib/unicase/u8-is-casefolded.c: New file.
33695         * modules/unicase/u8-is-casefolded: New file.
33696
33697         Tests for module 'unicase/u32-is-titlecase'.
33698         * modules/unicase/u32-is-titlecase-tests: New file.
33699         * tests/unicase/test-u32-is-titlecase.c: New file.
33700
33701         Tests for module 'unicase/u16-is-titlecase'.
33702         * modules/unicase/u16-is-titlecase-tests: New file.
33703         * tests/unicase/test-u16-is-titlecase.c: New file.
33704
33705         Tests for module 'unicase/u8-is-titlecase'.
33706         * modules/unicase/u8-is-titlecase-tests: New file.
33707         * tests/unicase/test-u8-is-titlecase.c: New file.
33708         * tests/unicase/test-is-titlecase.h: New file.
33709
33710         New module 'unicase/u32-is-titlecase'.
33711         * lib/unicase/u32-is-titlecase.c: New file.
33712         * modules/unicase/u32-is-titlecase: New file.
33713
33714         New module 'unicase/u16-is-titlecase'.
33715         * lib/unicase/u16-is-titlecase.c: New file.
33716         * modules/unicase/u16-is-titlecase: New file.
33717
33718         New module 'unicase/u8-is-titlecase'.
33719         * lib/unicase/u8-is-titlecase.c: New file.
33720         * modules/unicase/u8-is-titlecase: New file.
33721
33722         Tests for module 'unicase/u32-is-lowercase'.
33723         * modules/unicase/u32-is-lowercase-tests: New file.
33724         * tests/unicase/test-u32-is-lowercase.c: New file.
33725
33726         Tests for module 'unicase/u16-is-lowercase'.
33727         * modules/unicase/u16-is-lowercase-tests: New file.
33728         * tests/unicase/test-u16-is-lowercase.c: New file.
33729
33730         Tests for module 'unicase/u8-is-lowercase'.
33731         * modules/unicase/u8-is-lowercase-tests: New file.
33732         * tests/unicase/test-u8-is-lowercase.c: New file.
33733         * tests/unicase/test-is-lowercase.h: New file.
33734
33735         New module 'unicase/u32-is-lowercase'.
33736         * lib/unicase/u32-is-lowercase.c: New file.
33737         * modules/unicase/u32-is-lowercase: New file.
33738
33739         New module 'unicase/u16-is-lowercase'.
33740         * lib/unicase/u16-is-lowercase.c: New file.
33741         * modules/unicase/u16-is-lowercase: New file.
33742
33743         New module 'unicase/u8-is-lowercase'.
33744         * lib/unicase/u8-is-lowercase.c: New file.
33745         * modules/unicase/u8-is-lowercase: New file.
33746
33747         Tests for module 'unicase/u32-is-uppercase'.
33748         * modules/unicase/u32-is-uppercase-tests: New file.
33749         * tests/unicase/test-u32-is-uppercase.c: New file.
33750
33751         Tests for module 'unicase/u16-is-uppercase'.
33752         * modules/unicase/u16-is-uppercase-tests: New file.
33753         * tests/unicase/test-u16-is-uppercase.c: New file.
33754
33755         Tests for module 'unicase/u8-is-uppercase'.
33756         * modules/unicase/u8-is-uppercase-tests: New file.
33757         * tests/unicase/test-u8-is-uppercase.c: New file.
33758         * tests/unicase/test-is-uppercase.h: New file.
33759
33760         New module 'unicase/u32-is-uppercase'.
33761         * lib/unicase/u32-is-uppercase.c: New file.
33762         * modules/unicase/u32-is-uppercase: New file.
33763
33764         New module 'unicase/u16-is-uppercase'.
33765         * lib/unicase/u16-is-uppercase.c: New file.
33766         * modules/unicase/u16-is-uppercase: New file.
33767
33768         New module 'unicase/u8-is-uppercase'.
33769         * lib/unicase/u8-is-uppercase.c: New file.
33770         * modules/unicase/u8-is-uppercase: New file.
33771
33772         New module 'unicase/u32-is-invariant'.
33773         * lib/unicase/u32-is-invariant.c: New file.
33774         * modules/unicase/u32-is-invariant: New file.
33775
33776         New module 'unicase/u16-is-invariant'.
33777         * lib/unicase/u16-is-invariant.c: New file.
33778         * modules/unicase/u16-is-invariant: New file.
33779
33780         New module 'unicase/u8-is-invariant'.
33781         * lib/unicase/u8-is-invariant.c: New file.
33782         * lib/unicase/invariant.h: New file.
33783         * lib/unicase/u-is-invariant.h: New file.
33784         * modules/unicase/u8-is-invariant: New file.
33785
33786         Tests for module 'unicase/u32-casecoll'.
33787         * modules/unicase/u32-casecoll-tests: New file.
33788         * tests/unicase/test-u32-casecoll.c: New file.
33789
33790         Tests for module 'unicase/u16-casecoll'.
33791         * modules/unicase/u16-casecoll-tests: New file.
33792         * tests/unicase/test-u16-casecoll.c: New file.
33793
33794         Tests for module 'unicase/u8-casecoll'.
33795         * modules/unicase/u8-casecoll-tests: New file.
33796         * tests/unicase/test-u8-casecoll.c: New file.
33797
33798         New module 'unicase/u32-casecoll'.
33799         * lib/unicase/u32-casecoll.c: New file.
33800         * modules/unicase/u32-casecoll: New file.
33801
33802         New module 'unicase/u16-casecoll'.
33803         * lib/unicase/u16-casecoll.c: New file.
33804         * modules/unicase/u16-casecoll: New file.
33805
33806         New module 'unicase/u8-casecoll'.
33807         * lib/unicase/u8-casecoll.c: New file.
33808         * lib/unicase/u-casecoll.h: New file.
33809         * modules/unicase/u8-casecoll: New file.
33810
33811         New module 'unicase/u32-casexfrm'.
33812         * lib/unicase/u32-casexfrm.c: New file.
33813         * modules/unicase/u32-casexfrm: New file.
33814
33815         New module 'unicase/u16-casexfrm'.
33816         * lib/unicase/u16-casexfrm.c: New file.
33817         * modules/unicase/u16-casexfrm: New file.
33818
33819         New module 'unicase/u8-casexfrm'.
33820         * lib/unicase/u8-casexfrm.c: New file.
33821         * lib/unicase/u-casexfrm.h: New file.
33822         * modules/unicase/u8-casexfrm: New file.
33823
33824         Tests for module 'unicase/u32-casecmp'.
33825         * modules/unicase/u32-casecmp-tests: New file.
33826         * tests/unicase/test-u32-casecmp.c: New file.
33827
33828         Tests for module 'unicase/u16-casecmp'.
33829         * modules/unicase/u16-casecmp-tests: New file.
33830         * tests/unicase/test-u16-casecmp.c: New file.
33831
33832         Tests for module 'unicase/u8-casecmp'.
33833         * modules/unicase/u8-casecmp-tests: New file.
33834         * tests/unicase/test-u8-casecmp.c: New file.
33835         * tests/unicase/test-casecmp.h: New file.
33836
33837         New module 'unicase/u32-casecmp'.
33838         * lib/unicase/u32-casecmp.c: New file.
33839         * modules/unicase/u32-casecmp: New file.
33840
33841         New module 'unicase/u16-casecmp'.
33842         * lib/unicase/u16-casecmp.c: New file.
33843         * modules/unicase/u16-casecmp: New file.
33844
33845         New module 'unicase/u8-casecmp'.
33846         * lib/unicase/u8-casecmp.c: New file.
33847         * lib/unicase/u-casecmp.h: New file.
33848         * modules/unicase/u8-casecmp: New file.
33849
33850         Tests for module 'unicase/u32-casefold'.
33851         * modules/unicase/u32-casefold-tests: New file.
33852         * tests/unicase/test-u32-casefold.c: New file.
33853
33854         Tests for module 'unicase/u16-casefold'.
33855         * modules/unicase/u16-casefold-tests: New file.
33856         * tests/unicase/test-u16-casefold.c: New file.
33857
33858         Tests for module 'unicase/u8-casefold'.
33859         * modules/unicase/u8-casefold-tests: New file.
33860         * tests/unicase/test-u8-casefold.c: New file.
33861
33862         New module 'unicase/u32-casefold'.
33863         * lib/unicase/u32-casefold.c: New file.
33864         * modules/unicase/u32-casefold: New file.
33865
33866         New module 'unicase/u16-casefold'.
33867         * lib/unicase/u16-casefold.c: New file.
33868         * modules/unicase/u16-casefold: New file.
33869
33870         New module 'unicase/u8-casefold'.
33871         * lib/unicase/u8-casefold.c: New file.
33872         * lib/unicase/u-casefold.h: New file.
33873         * modules/unicase/u8-casefold: New file.
33874
33875         New module 'unicase/tocasefold'.
33876         * lib/unicase/casefold.h: New file.
33877         * lib/unicase/tocasefold.c: New file.
33878         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
33879         * modules/unicase/tocasefold: New file.
33880
33881         Tests for module 'unicase/u32-totitle'.
33882         * modules/unicase/u32-totitle-tests: New file.
33883         * tests/unicase/test-u32-totitle.c: New file.
33884
33885         Tests for module 'unicase/u16-totitle'.
33886         * modules/unicase/u16-totitle-tests: New file.
33887         * tests/unicase/test-u16-totitle.c: New file.
33888
33889         Tests for module 'unicase/u8-totitle'.
33890         * modules/unicase/u8-totitle-tests: New file.
33891         * tests/unicase/test-u8-totitle.c: New file.
33892
33893         New module 'unicase/u32-totitle'.
33894         * lib/unicase/u32-totitle.c: New file.
33895         * modules/unicase/u32-totitle: New file.
33896
33897         New module 'unicase/u16-totitle'.
33898         * lib/unicase/u16-totitle.c: New file.
33899         * modules/unicase/u16-totitle: New file.
33900
33901         New module 'unicase/u8-totitle'.
33902         * lib/unicase/u8-totitle.c: New file.
33903         * lib/unicase/u-totitle.h: New file.
33904         * modules/unicase/u8-totitle: New file.
33905
33906         Tests for module 'unicase/u32-tolower'.
33907         * modules/unicase/u32-tolower-tests: New file.
33908         * tests/unicase/test-u32-tolower.c: New file.
33909
33910         Tests for module 'unicase/u16-tolower'.
33911         * modules/unicase/u16-tolower-tests: New file.
33912         * tests/unicase/test-u16-tolower.c: New file.
33913
33914         Tests for module 'unicase/u8-tolower'.
33915         * modules/unicase/u8-tolower-tests: New file.
33916         * tests/unicase/test-u8-tolower.c: New file.
33917
33918         New module 'unicase/u32-tolower'.
33919         * lib/unicase/u32-tolower.c: New file.
33920         * modules/unicase/u32-tolower: New file.
33921
33922         New module 'unicase/u16-tolower'.
33923         * lib/unicase/u16-tolower.c: New file.
33924         * modules/unicase/u16-tolower: New file.
33925
33926         New module 'unicase/u8-tolower'.
33927         * lib/unicase/u8-tolower.c: New file.
33928         * modules/unicase/u8-tolower: New file.
33929
33930         Tests for module 'unicase/u32-toupper'.
33931         * modules/unicase/u32-toupper-tests: New file.
33932         * tests/unicase/test-u32-toupper.c: New file.
33933
33934         Tests for module 'unicase/u16-toupper'.
33935         * modules/unicase/u16-toupper-tests: New file.
33936         * tests/unicase/test-u16-toupper.c: New file.
33937
33938         Tests for module 'unicase/u8-toupper'.
33939         * modules/unicase/u8-toupper-tests: New file.
33940         * tests/unicase/test-u8-toupper.c: New file.
33941
33942         New module 'unicase/u32-toupper'.
33943         * lib/unicase/u32-toupper.c: New file.
33944         * modules/unicase/u32-toupper: New file.
33945
33946         New module 'unicase/u16-toupper'.
33947         * lib/unicase/u16-toupper.c: New file.
33948         * modules/unicase/u16-toupper: New file.
33949
33950         New module 'unicase/u8-toupper'.
33951         * lib/unicase/u8-toupper.c: New file.
33952         * modules/unicase/u8-toupper: New file.
33953
33954         New module 'unicase/u32-casemap'.
33955         * lib/unicase/u32-casemap.c: New file.
33956         * modules/unicase/u32-casemap: New file.
33957
33958         New module 'unicase/u16-casemap'.
33959         * lib/unicase/u16-casemap.c: New file.
33960         * modules/unicase/u16-casemap: New file.
33961
33962         New module 'unicase/u8-casemap'.
33963         * lib/unicase/unicasemap.h: New file.
33964         * lib/unicase/u8-casemap.c: New file.
33965         * lib/unicase/u-casemap.h: New file.
33966         * modules/unicase/u8-casemap: New file.
33967
33968         New module 'unicase/special-casing'.
33969         * lib/unicase/special-casing.h: New file.
33970         * lib/unicase/special-casing.c: New file.
33971         * lib/unicase/special-casing-table.gperf: New file, generated by
33972         gen-uni-tables.c.
33973         * modules/unicase/special-casing: New file.
33974
33975         Tests for module 'unicase/locale-language'.
33976         * modules/unicase/locale-language-tests: New file.
33977         * tests/unicase/test-locale-language.sh: New file.
33978         * tests/unicase/test-locale-language.c: New file.
33979
33980         New module 'unicase/locale-language'.
33981         * lib/unicase/locale-language.c: New file.
33982         * lib/unicase/locale-languages.gperf: New file.
33983         * modules/unicase/locale-language: New file.
33984
33985         Generate more tables for case conversion and case folding.
33986         * lib/gen-uni-tables.c (SCC_*): New enum items.
33987         (struct special_casing_rule): New type.
33988         (casing_rules, num_casing_rules, allocated_casing_rules): New
33989         variables.
33990         (add_casing_rule, fill_casing_rules): New functions.
33991         (struct casefold_rule): New type.
33992         (casefolding_rules, num_casefolding_rules,
33993         allocated_casefolding_rules): New variables.
33994         (fill_casefolding_rules): New function.
33995         (unicode_casefold): New variable.
33996         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
33997         sort_casing_rules, output_casing_rules): New functions.
33998         (main): Accept to more arguments: SpecialCasing.txt and
33999         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
34000         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
34001         Output mapping for casefolding.
34002
34003         * lib/unicase.h: Include stdbool.h, uninorm.h.
34004         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
34005         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
34006         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
34007         arguments.
34008         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
34009         resultp arguments.
34010         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
34011         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
34012         resultp arguments.
34013         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
34014         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
34015         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
34016         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
34017         declarations.
34018         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
34019
34020 2009-03-08  Bruno Haible  <bruno@clisp.org>
34021
34022         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
34023         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
34024         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
34025         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
34026
34027 2009-03-07  Bruno Haible  <bruno@clisp.org>
34028
34029         Adjust u*_normcmp, u*_normcoll API.
34030         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
34031         u16_normcoll, u32_normcoll): Change failure conventions.
34032         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
34033         errno and return -1.
34034         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
34035
34036 2009-03-07  Bruno Haible  <bruno@clisp.org>
34037
34038         Tests for module 'uninorm/u32-normcoll'.
34039         * modules/uninorm/u32-normcoll-tests: New file.
34040         * tests/uninorm/test-u32-normcoll.c: New file.
34041
34042         Tests for module 'uninorm/u16-normcoll'.
34043         * modules/uninorm/u16-normcoll-tests: New file.
34044         * tests/uninorm/test-u16-normcoll.c: New file.
34045
34046         Tests for module 'uninorm/u8-normcoll'.
34047         * modules/uninorm/u8-normcoll-tests: New file.
34048         * tests/uninorm/test-u8-normcoll.c: New file.
34049
34050 2009-03-07  Bruno Haible  <bruno@clisp.org>
34051
34052         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
34053         tests/uninorm/test-u32-normcmp.c.
34054         * tests/uninorm/test-u32-normcmp.c: Include it.
34055         (test_nonascii): New function, extracted from main. Add some more
34056         tests.
34057         (main): Invoke test_ascii and test_nonascii.
34058         * modules/uninorm/u32-normcmp-tests (Files): Add
34059         tests/uninorm/test-u32-normcmp.h.
34060         (Depends-on): Remove uninorm/u32-normcmp.
34061
34062         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
34063         tests/uninorm/test-u16-normcmp.c.
34064         * tests/uninorm/test-u16-normcmp.c: Include it.
34065         (test_nonascii): New function, extracted from main. Add some more
34066         tests.
34067         (main): Invoke test_ascii and test_nonascii.
34068         * modules/uninorm/u16-normcmp-tests (Files): Add
34069         tests/uninorm/test-u16-normcmp.h.
34070         (Depends-on): Remove uninorm/u16-normcmp.
34071
34072         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
34073         tests/uninorm/test-u8-normcmp.c.
34074         * tests/uninorm/test-u8-normcmp.c: Include it.
34075         (test_nonascii): New function, extracted from main. Add some more
34076         tests.
34077         (main): Invoke test_ascii and test_nonascii.
34078         * modules/uninorm/u8-normcmp-tests (Files): Add
34079         tests/uninorm/test-u8-normcmp.h.
34080         (Depends-on): Remove uninorm/u8-normcmp.
34081
34082 2009-03-07  Bruno Haible  <bruno@clisp.org>
34083
34084         New module 'uninorm/u32-normcoll'.
34085         * lib/uninorm/u32-normcoll.c: New file.
34086         * modules/uninorm/u32-normcoll: New file.
34087
34088         New module 'uninorm/u16-normcoll'.
34089         * lib/uninorm/u16-normcoll.c: New file.
34090         * modules/uninorm/u16-normcoll: New file.
34091
34092         New module 'uninorm/u8-normcoll'.
34093         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
34094         declarations.
34095         * lib/uninorm/u8-normcoll.c: New file.
34096         * lib/uninorm/u-normcoll.h: New file.
34097         * modules/uninorm/u8-normcoll: New file.
34098
34099         New module 'uninorm/u32-normxfrm'.
34100         * lib/uninorm/u32-normxfrm.c: New file.
34101         * modules/uninorm/u32-normxfrm: New file.
34102
34103         New module 'uninorm/u16-normxfrm'.
34104         * lib/uninorm/u16-normxfrm.c: New file.
34105         * modules/uninorm/u16-normxfrm: New file.
34106
34107         New module 'uninorm/u8-normxfrm'.
34108         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
34109         declarations.
34110         * lib/uninorm/u8-normxfrm.c: New file.
34111         * lib/uninorm/u-normxfrm.h: New file.
34112         * modules/uninorm/u8-normxfrm: New file.
34113
34114 2009-03-07  Bruno Haible  <bruno@clisp.org>
34115
34116         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
34117         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
34118         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
34119
34120 2009-03-07  Bruno Haible  <bruno@clisp.org>
34121
34122         New module 'memxfrm'.
34123         * lib/memxfrm.h: New file.
34124         * lib/memxfrm.c: New file.
34125         * modules/memxfrm: New file.
34126
34127 2009-03-07  Bruno Haible  <bruno@clisp.org>
34128
34129         New module 'memcmp2'.
34130         * lib/memcmp2.h: New file.
34131         * lib/memcmp2.c: New file.
34132         * modules/memcmp2: New file.
34133
34134 2009-03-07  Bruno Haible  <bruno@clisp.org>
34135
34136         Tests for module 'uninorm/decomposing-form'.
34137         * modules/uninorm/decomposing-form-tests: New file.
34138         * tests/uninorm/test-decomposing-form.c: New file.
34139
34140         New module 'uninorm/decomposing-form'.
34141         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
34142         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
34143         Add 'decomposing_variant' field.
34144         * lib/uninorm/decomposing-form.c: New file.
34145         * lib/uninorm/nfc.c (uninorm_nfc): Update.
34146         * lib/uninorm/nfd.c (uninorm_nfd): Update.
34147         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
34148         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
34149         * modules/uninorm/decomposing-form: New file.
34150         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
34151         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
34152
34153 2009-03-07  Bruno Haible  <bruno@clisp.org>
34154
34155         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
34156         strings.
34157
34158 2009-03-06  Bruno Haible  <bruno@clisp.org>
34159
34160         Tests for module 'uninorm/u32-normcmp'.
34161         * tests/uninorm/test-u32-normcmp.c: New file.
34162         * modules/uninorm/u32-normcmp-tests: New file.
34163
34164         Tests for module 'uninorm/u16-normcmp'.
34165         * tests/uninorm/test-u16-normcmp.c: New file.
34166         * modules/uninorm/u16-normcmp-tests: New file.
34167
34168         Tests for module 'uninorm/u8-normcmp'.
34169         * tests/uninorm/test-u8-normcmp.c: New file.
34170         * modules/uninorm/u8-normcmp-tests: New file.
34171
34172         New module 'uninorm/u32-normcmp'.
34173         * lib/uninorm/u32-normcmp.c: New file.
34174         * modules/uninorm/u32-normcmp: New file.
34175
34176         New module 'uninorm/u16-normcmp'.
34177         * lib/uninorm/u16-normcmp.c: New file.
34178         * modules/uninorm/u16-normcmp: New file.
34179
34180         New module 'uninorm/u8-normcmp'.
34181         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
34182         declarations.
34183         * lib/uninorm/u8-normcmp.c: New file.
34184         * lib/uninorm/u-normcmp.h: New file.
34185         * modules/uninorm/u8-normcmp: New file.
34186
34187 2009-03-06  Bruno Haible  <bruno@clisp.org>
34188
34189         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
34190         Reported by Eric Blake.
34191
34192 2009-03-06  Eric Blake  <ebb9@byu.net>
34193             Bruno Haible  <bruno@clisp.org>
34194
34195         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
34196         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
34197         condition.
34198         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
34199         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
34200         condition.
34201         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
34202
34203 2009-03-06  Eric Blake  <ebb9@byu.net>
34204
34205         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
34206         to avoid compiler warnings.
34207         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
34208
34209 2009-03-05  Bruno Haible  <bruno@clisp.org>
34210
34211         * tests/test-ftell.c (main): Disable test beyond end of file on
34212         FreeMiNT.
34213         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
34214
34215 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
34216
34217         * lib/filevercmp.c: Move hidden files up in ordering.
34218         * tests/test-filevercmp.c: Add tests for hidden files.
34219
34220 2009-03-04  Bruno Haible  <bruno@clisp.org>
34221
34222         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
34223         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
34224         AM_CFLAGS.
34225         Reported by Simon Josefsson.
34226
34227 2009-03-03  Bruno Haible  <bruno@clisp.org>
34228
34229         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
34230         Reported by Simon Josefsson.
34231
34232         * doc/ld-version-script.texi: Update node reference.
34233
34234 2009-03-03  Bruno Haible  <bruno@clisp.org>
34235
34236         * modules/visibility (License): Change to 'unlimited'.
34237         Suggested by Simon Josefsson.
34238
34239 2009-03-03  Jim Meyering  <meyering@redhat.com>
34240
34241         unlinkdir: cannot_unlink_dir may modify process state
34242         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
34243         it's neither thread-safe nor appropriate for use in a library.
34244
34245 2009-03-03  Eric Blake  <ebb9@byu.net>
34246
34247         test-closein: silence test under Darwin
34248         * tests/test-closein.sh: Ignore stderr from cat, since we don't
34249         care if it dies from EPIPE or EBADF.
34250
34251 2009-03-03  Bruno Haible  <bruno@clisp.org>
34252
34253         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
34254         earlier.
34255         * doc/visibility.texi: Fix @node and @section.
34256
34257 2009-03-03  Simon Josefsson  <simon@josefsson.org>
34258
34259         * doc/gnulib.texi: Link to sections for ld version script and
34260         visibility.
34261         * doc/visibility.texi: Add @node and @section.
34262         * modules/ld-version-script: New module.
34263         * m4/ld-version-script.m4: New file.
34264         * doc/ld-version-script.texi: New file.
34265
34266 2009-03-02  David Lutterkort  <lutter@redhat.com>
34267
34268         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
34269         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34270
34271 2009-03-02  Bruno Haible  <bruno@clisp.org>
34272
34273         * doc/visibility.texi: Mention libtool's -export-symbols option.
34274
34275 2009-03-02  Jim Meyering  <meyering@redhat.com>
34276
34277         announce-gen: new option: --no-print-checksums
34278         * build-aux/announce-gen (usage): Describe it.
34279         (print_checksums): Print a newline here, not in the [*] footnote.
34280         (main): Honor it.
34281
34282 2009-03-01  Bruno Haible  <bruno@clisp.org>
34283
34284         Use socklen_t in the native Windows replacements prototypes.
34285         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
34286         instead of 'int'.
34287         * lib/getsockopt.c (rpl_getsockopt): Likewise.
34288         * lib/setsockopt.c (rpl_setsockopt): Likewise.
34289         * modules/getsockopt (Depends-on): Add socklen.
34290         * modules/setsockopt (Depends-on): Add socklen.
34291
34292 2009-03-01  Bruno Haible  <bruno@clisp.org>
34293
34294         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
34295         least 4.2.
34296
34297 2009-03-01  Eric Blake  <ebb9@byu.net>
34298             Bruno Haible  <bruno@clisp.org>
34299
34300         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
34301         error messages.
34302         * lib/wait-process.c (wait_subprocess): Omit error message about
34303         deadly signal sent to the child of termsigp != NULL.
34304
34305 2009-03-01  Eric Blake  <ebb9@byu.net>
34306
34307         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
34308
34309 2009-03-01  Bruno Haible  <bruno@clisp.org>
34310
34311         Avoid a gcc warning.
34312         * tests/test-sched.c (b): Make global.
34313         Reported by Eric Blake.
34314
34315 2009-01-19  Martin Lambers  <marlam@marlam.de>
34316
34317         Provide POSIX semantics for socket timeout options on W32.
34318         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
34319         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
34320         * modules/setsockopt: Depend on sys_time module for struct timeval.
34321         * modules/getsockopt: Depend on sys_time module for struct timeval.
34322
34323 2009-03-01  Simon Josefsson  <simon@josefsson.org>
34324
34325         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
34326         __USE_GNU, for consistency with netdb.in.h.
34327         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
34328
34329 2009-03-01  Bruno Haible  <bruno@clisp.org>
34330
34331         More support for FreeMiNT.
34332         * lib/fseeko.c (rpl_fseeko): Complete last commit.
34333         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
34334
34335 2009-03-01  Bruno Haible  <bruno@clisp.org>
34336
34337         More support for FreeMiNT.
34338         * lib/fpurge.c (fpurge): Correct last commit.
34339         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
34340
34341 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34342
34343         Fix unportable awk script in vc-list-files.
34344         * build-aux/vc-list-files: In the replacement awk script, use
34345         substr with a second argument of 1, not zero.
34346         Report by Simon Josefsson.
34347
34348 2009-02-28  Bruno Haible  <bruno@clisp.org>
34349
34350         More support for FreeMiNT.
34351         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
34352         to FreeMiNT today.
34353         * lib/fwriting.c (fwriting): Likewise.
34354         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
34355
34356 2009-02-28  Bruno Haible  <bruno@clisp.org>
34357
34358         * tests/test-freadseek.c (main): Disable test beyond end of file on
34359         FreeMiNT.
34360         * tests/test-ftello.c (main): Likewise.
34361         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
34362
34363 2009-02-28  Bruno Haible  <bruno@clisp.org>
34364
34365         Add tentative support for FreeMiNT.
34366         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
34367         * lib/fpurge.c (fpurge): Likewise.
34368         * lib/freadable.c (freadable): Likewise.
34369         * lib/freading.c (freading): Likewise.
34370         * lib/freadptr.c (freadptr): Likewise.
34371         * lib/freadseek.c (freadptrinc): Likewise.
34372         * lib/fseeko.c (rpl_fseeko): Likewise.
34373         * lib/fseterr.c (fseterr): Likewise.
34374         * lib/fwritable.c (fwritable): Likewise.
34375         * lib/fwriting.c (fwriting): Likewise.
34376         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
34377         Hourihane.
34378         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
34379
34380 2009-02-28  Bruno Haible  <bruno@clisp.org>
34381
34382         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
34383         SIGCHLD.
34384         Reported by Jim Meyering.
34385
34386 2009-02-28  Bruno Haible  <bruno@clisp.org>
34387
34388         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
34389         Mention the results of these tests on various platforms.
34390         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
34391         order.
34392         * doc/posix-functions/printf.texi: Likewise.
34393         * doc/posix-functions/snprintf.texi: Likewise.
34394         * doc/posix-functions/sprintf.texi: Likewise.
34395         * doc/posix-functions/vfprintf.texi: Likewise.
34396         * doc/posix-functions/vprintf.texi: Likewise.
34397         * doc/posix-functions/vsnprintf.texi: Likewise.
34398         * doc/posix-functions/vsprintf.texi: Likewise.
34399         * doc/glibc-functions/obstack_printf.texi: Likewise.
34400         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
34401
34402 2009-02-28  Bruno Haible  <bruno@clisp.org>
34403
34404         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
34405         Reported by Loïc Minier <lool@dooz.org>.
34406
34407 2009-02-27  Bruno Haible  <bruno@clisp.org>
34408
34409         * gnulib-tool (func_import): Make the sed expression used to create the
34410         sed script for updating the .gitignore file POSIX compliant.
34411         Reported by Eric Blake.
34412
34413 2009-02-27  Bruno Haible  <bruno@clisp.org>
34414
34415         * gnulib-tool (sed): Don't alias as "sed --posix".
34416         Reported by Eric Blake.
34417
34418 2009-02-27  Bruno Haible  <bruno@clisp.org>
34419
34420         Avoid test link errors.
34421         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
34422         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
34423         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
34424         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
34425         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34426
34427 2009-02-27  Bruno Haible  <bruno@clisp.org>
34428
34429         Avoid spurious "(cached)" in configure output.
34430         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
34431         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
34432         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
34433         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
34434         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
34435         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
34436         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
34437         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
34438         Reported by Eric Blake.
34439
34440 2009-02-27  Eric Blake  <ebb9@byu.net>
34441
34442         printf: fix regression in previous patch
34443         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
34444
34445 2009-02-27  Bruno Haible  <bruno@clisp.org>
34446
34447         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
34448         value.
34449         * lib/stdint.in.h: Likewise.
34450         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
34451
34452 2009-02-27  Eric Blake  <ebb9@byu.net>
34453
34454         doc: mention more functions added in cygwin 1.7.0
34455         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
34456         addition.
34457         * doc/posix-functions/open_wmemstream.texi: Likewise.
34458         * doc/posix-functions/wcsnlen.texi: Likewise.
34459         * doc/posix-functions/wcsnrtombs.texi: Likewise.
34460         * doc/posix-functions/wcstod.texi: Likewise.
34461         * doc/posix-functions/wcstof.texi: Likewise.
34462         * doc/posix-functions/wcstoimax.texi: Likewise.
34463         * doc/posix-functions/wcstok.texi: Likewise.
34464         * doc/posix-functions/wcstoumax.texi: Likewise.
34465
34466         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
34467         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
34468         * doc/posix-functions/fprintf.texi: Update.
34469         * doc/posix-functions/printf.texi: Update.
34470         * doc/posix-functions/snprintf.texi: Update.
34471         * doc/posix-functions/sprintf.texi: Update.
34472         * doc/posix-functions/vfprintf.texi: Update.
34473         * doc/posix-functions/vprintf.texi: Update.
34474         * doc/posix-functions/vsnprintf.texi: Update.
34475         * doc/posix-functions/vsprintf.texi: Update.
34476         * doc/glibc-functions/obstack_printf.texi: Update.
34477         * doc/glibc-functions/obstack_vprintf.texi: Update.
34478
34479 2009-02-26  Eric Blake  <ebb9@byu.net>
34480
34481         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
34482         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
34483         compilation bug by using runtime conversion.
34484         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
34485         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
34486         * modules/ceill-tests (Files): Use nan.h.
34487         * modules/floorl-tests (Files): Likewise.
34488         * modules/frexpl-tests (Files): Likewise.
34489         * modules/isnanl-tests (Files): Likewise.
34490         * modules/ldexpl-tests (Files): Likewise.
34491         * modules/roundl-tests (Files): Likewise.
34492         * modules/truncl-tests (Files): Likewise.
34493         * tests/test-ceill.c (main): Use a working NaN.
34494         * tests/test-floorl.c (main): Likewise.
34495         * tests/test-frexpl.c (main): Likewise.
34496         * tests/test-isnan.c (test_long_double): Likewise.
34497         * tests/test-isnanl.h (main): Likewise.
34498         * tests/test-ldexpl.h (main): Likewise.
34499         * tests/test-roundl.h (main): Likewise.
34500         * tests/test-truncl.h (main): Likewise.
34501         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
34502
34503 2009-02-26  Eric Blake  <ebb9@byu.net>
34504             Bruno Haible  <bruno@clisp.org>
34505
34506         Work around a *printf bug with %ls on Solaris.
34507         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
34508         precision is specified, sprintf stops converting the wide string
34509         argument when the number of bytes that have been produced by this
34510         conversion equals or exceeds the precision.
34511         * doc/posix-functions/fprintf.texi: Update.
34512         * doc/posix-functions/printf.texi: Update.
34513         * doc/posix-functions/snprintf.texi: Update.
34514         * doc/posix-functions/sprintf.texi: Update.
34515         * doc/posix-functions/vfprintf.texi: Update.
34516         * doc/posix-functions/vprintf.texi: Update.
34517         * doc/posix-functions/vsnprintf.texi: Update.
34518         * doc/posix-functions/vsprintf.texi: Update.
34519         * doc/glibc-functions/obstack_printf.texi: Update.
34520         * doc/glibc-functions/obstack_vprintf.texi: Update.
34521
34522 2009-02-26  Eric Blake  <ebb9@byu.net>
34523
34524         stdlib: favor compiler check of random.h
34525         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
34526         to avoid an ObjC random.h installed by Swarm.
34527
34528 2009-02-26  Bruno Haible  <bruno@clisp.org>
34529
34530         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
34531         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
34532         Reported by Gary V. Vaughan <gary@gnu.org>.
34533
34534 2009-02-26  Bruno Haible  <bruno@clisp.org>
34535
34536         Fix *printf behaviour regarding the %ls directive.
34537         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
34538         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
34539         NEED_PRINTF_DIRECTIVE_LS.
34540         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
34541         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
34542         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
34543         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
34544         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
34545         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
34546         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
34547         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
34548         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
34549         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
34550         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
34551         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
34552         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
34553         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
34554         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
34555         * doc/posix-functions/fprintf.texi: Update.
34556         * doc/posix-functions/printf.texi: Update.
34557         * doc/posix-functions/snprintf.texi: Update.
34558         * doc/posix-functions/sprintf.texi: Update.
34559         * doc/posix-functions/vfprintf.texi: Update.
34560         * doc/posix-functions/vprintf.texi: Update.
34561         * doc/posix-functions/vsnprintf.texi: Update.
34562         * doc/posix-functions/vsprintf.texi: Update.
34563         * doc/glibc-functions/obstack_printf.texi: Update.
34564         * doc/glibc-functions/obstack_vprintf.texi: Update.
34565         Reported by Eric Blake.
34566
34567 2009-02-25  Bruno Haible  <bruno@clisp.org>
34568
34569         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
34570         with known value.
34571         Reported by Gary V. Vaughan <gary@gnu.org>.
34572
34573 2009-02-25  Bruno Haible  <bruno@clisp.org>
34574
34575         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
34576         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
34577         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
34578         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
34579         Reported by Gary V. Vaughan <gary@gnu.org>.
34580
34581 2009-02-25  Bruno Haible  <bruno@clisp.org>
34582
34583         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
34584         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
34585         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
34586         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
34587         Reported by Gary V. Vaughan <gary@gnu.org>.
34588
34589 2009-02-25  Eric Blake  <ebb9@byu.net>
34590
34591         tests: skip fseek/ftell tests if ungetc is broken
34592         * m4/ungetc.m4: New file.
34593         * modules/fseek-tests: Split test, so ungetc dependency is
34594         separate from rest of test.
34595         * modules/fseeko-tests: Likewise.
34596         * modules/ftell-tests: Likewise.
34597         * modules/ftello-tests: Likewise.
34598         * tests/test-fseek.c (main): Isolate ungetc dependency.
34599         * tests/test-fseeko.c (main): Likewise.
34600         * tests/test-ftell.c (main): Likewise.
34601         * tests/test-ftello.c (main): Likewise.
34602         * tests/test-fseek2.sh: New file.
34603         * tests/test-fseeko2.sh: Likewise.
34604         * tests/test-ftell2.sh: Likewise.
34605         * tests/test-ftello2.sh: Likewise.
34606
34607 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
34608
34609         test-getaddrinfo: fix usage of skip return code 77
34610         * tests/test-gettaddrinfo.c: Return skip code 77 only
34611         for first occurance of skip (4x77 is not 77)
34612
34613 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
34614
34615         strtod: avoid C99 decl-after-statement
34616         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
34617
34618 2009-02-24  Eric Blake  <ebb9@byu.net>
34619
34620         strtod: detect HP-UX 11.31 bug
34621         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
34622         Reported by Gary V. Vaughan.
34623
34624 2009-02-23  Bruno Haible  <bruno@clisp.org>
34625
34626         Fix invalid read past end of memory block.
34627         * lib/vasnprintf.c (DCHAR_SET): Define.
34628         (local_wcslen): Define only when needed.
34629         (local_strnlen, local_wcsnlen): New functions.
34630         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
34631         directives that involve a conversion ourselves.
34632         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
34633         wcsnlen, mbrtowc, wcrtomb.
34634         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
34635         * tests/test-vasprintf-posix.c (test_function): Likewise.
34636         * tests/test-snprintf-posix.h (test_function): Likewise.
34637         * tests/test-sprintf-posix.h (test_function): Likewise.
34638         Reported by Ben Pfaff <blp@cs.stanford.edu>.
34639
34640 2009-02-22  Bruno Haible  <bruno@clisp.org>
34641
34642         Implement new clarified decomposition of Hangul syllables.
34643         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
34644         of type LTV, return only a pairwise decomposition.
34645         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
34646         Likewise.
34647         * tests/uninorm/test-decomposition.c (main): Updated expected result.
34648         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
34649         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
34650
34651 2009-02-22  Bruno Haible  <bruno@clisp.org>
34652
34653         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
34654         zero-length results and shrink excess allocated memory.
34655         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
34656         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
34657         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
34658         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
34659         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
34660         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
34661         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
34662         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
34663         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
34664         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
34665         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
34666         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
34667
34668 2009-02-21  Bruno Haible  <bruno@clisp.org>
34669
34670         * doc/gnulib.texi: Include safe-alloc.texi earlier.
34671         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
34672         spaces after a period. Put a space between a macro name and its
34673         argument list. Trivial rewordings.
34674         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
34675         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
34676         (main): Return 0 explicitly.
34677
34678 2009-02-21  Bruno Haible  <bruno@clisp.org>
34679
34680         Tests for module 'uninorm/filter'.
34681         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
34682         * modules/uninorm/filter-tests: New file.
34683
34684         New module 'uninorm/filter'.
34685         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
34686         uninorm_filter_flush, uninorm_filter_free): New declarations.
34687         * lib/uninorm/uninorm-filter.c: New file.
34688         * modules/uninorm/filter: New file.
34689
34690 2009-02-21  Bruno Haible  <bruno@clisp.org>
34691
34692         Tests for module 'uninorm/nfkc'.
34693         * tests/uninorm/test-nfkc.c: New file.
34694         * tests/uninorm/test-u8-nfkc.c: New file.
34695         * tests/uninorm/test-u16-nfkc.c: New file.
34696         * tests/uninorm/test-u32-nfkc.c: New file.
34697         * tests/uninorm/test-u32-nfkc-big.sh: New file.
34698         * tests/uninorm/test-u32-nfkc-big.c: New file.
34699         * modules/uninorm/nfkc-tests: New file.
34700
34701         New module 'uninorm/nfkc'.
34702         * lib/uninorm/nfkc.c: New file.
34703         * modules/uninorm/nfkc: New file.
34704
34705         Tests for module 'uninorm/nfkd'.
34706         * tests/uninorm/test-nfkd.c: New file.
34707         * tests/uninorm/test-u8-nfkd.c: New file.
34708         * tests/uninorm/test-u16-nfkd.c: New file.
34709         * tests/uninorm/test-u32-nfkd.c: New file.
34710         * tests/uninorm/test-u32-nfkd-big.sh: New file.
34711         * tests/uninorm/test-u32-nfkd-big.c: New file.
34712         * modules/uninorm/nfkd-tests: New file.
34713
34714         New module 'uninorm/nfkd'.
34715         * lib/uninorm/nfkd.c: New file.
34716         * modules/uninorm/nfkd: New file.
34717
34718         Tests for module 'uninorm/nfc'.
34719         * tests/uninorm/test-nfc.c: New file.
34720         * tests/uninorm/test-u8-nfc.c: New file.
34721         * tests/uninorm/test-u16-nfc.c: New file.
34722         * tests/uninorm/test-u32-nfc.c: New file.
34723         * tests/uninorm/test-u32-nfc-big.sh: New file.
34724         * tests/uninorm/test-u32-nfc-big.c: New file.
34725         * modules/uninorm/nfc-tests: New file.
34726
34727         New module 'uninorm/nfc'.
34728         * lib/uninorm/nfc.c: New file.
34729         * modules/uninorm/nfc: New file.
34730
34731         Tests for module 'uninorm/nfd'.
34732         * tests/uninorm/test-nfd.c: New file.
34733         * tests/uninorm/test-u8-nfd.c: New file.
34734         * tests/uninorm/test-u16-nfd.c: New file.
34735         * tests/uninorm/test-u32-nfd.c: New file.
34736         * tests/uninorm/test-u32-nfd-big.sh: New file.
34737         * tests/uninorm/test-u32-nfd-big.c: New file.
34738         * tests/uninorm/test-u32-normalize-big.h: New file.
34739         * tests/uninorm/test-u32-normalize-big.c: New file.
34740         * tests/uninorm/NormalizationTest.txt: New file, created from
34741         Unicode 5.1.0 NormalizationTest.txt.
34742         * modules/uninorm/nfd-tests: New file.
34743
34744         New module 'uninorm/nfd'.
34745         * lib/uninorm/nfd.c: New file.
34746         * modules/uninorm/nfd: New file.
34747
34748         New module 'uninorm/u32-normalize'.
34749         * lib/uninorm/u32-normalize.c: New file.
34750         * modules/uninorm/u32-normalize: New file.
34751
34752         New module 'uninorm/u16-normalize'.
34753         * lib/uninorm/u16-normalize.c: New file.
34754         * modules/uninorm/u16-normalize: New file.
34755
34756         New module 'uninorm/u8-normalize'.
34757         * lib/uninorm/u8-normalize.c: New file.
34758         * lib/uninorm/normalize-internal.h: New file.
34759         * lib/uninorm/u-normalize-internal.h: New file.
34760         * modules/uninorm/u8-normalize: New file.
34761
34762         New module 'uninorm/decompose-internal'.
34763         * lib/uninorm/decompose-internal.c: New file.
34764         * modules/uninorm/decompose-internal: New file.
34765
34766         Tests for module 'uninorm/composition'.
34767         * tests/uninorm/test-composition.c: New file.
34768         * modules/uninorm/composition-tests: New file.
34769
34770         New module 'uninorm/composition'.
34771         * lib/uninorm/composition.c: New file.
34772         * lib/uninorm/composition-table.gperf: New file, generated by
34773         gen-uni-tables.
34774         * modules/uninorm/composition: New file.
34775
34776         Tests for module 'uninorm/compat-decomposition'.
34777         * tests/uninorm/test-compat-decomposition.c: New file.
34778         * modules/uninorm/compat-decomposition-tests: New file.
34779
34780         New module 'uninorm/compat-decomposition'.
34781         * lib/uninorm/decompose-internal.h: New file.
34782         * lib/uninorm/compat-decomposition.c: New file.
34783         * modules/uninorm/compat-decomposition: New file.
34784
34785         Tests for module 'uninorm/canonical-decomposition'.
34786         * tests/uninorm/test-canonical-decomposition.c: New file.
34787         * modules/uninorm/canonical-decomposition-tests: New file.
34788
34789         New module 'uninorm/canonical-decomposition'.
34790         * lib/uninorm/canonical-decomposition.c: New file.
34791         * modules/uninorm/canonical-decomposition: New file.
34792
34793         Tests for module 'uninorm/decomposition'.
34794         * tests/uninorm/test-decomposition.c: New file.
34795         * modules/uninorm/decomposition-tests: New file.
34796
34797         New module 'uninorm/decomposition'.
34798         * lib/uninorm/decomposition.c: New file.
34799         * modules/uninorm/decomposition: New file.
34800
34801         New module 'uninorm/decomposition-table'.
34802         * lib/uninorm/decomposition-table.h: New file.
34803         * lib/uninorm/decomposition-table.c: New file.
34804         * lib/uninorm/decomposition-table1.h: New file, generated by
34805         gen-uni-tables.
34806         * lib/uninorm/decomposition-table2.h: New file, generated by
34807         gen-uni-tables.
34808         * modules/uninorm/decomposition-table: New file.
34809
34810         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
34811         (UC_DECOMP_*): New enumeration items.
34812         (get_decomposition): New function.
34813         (struct decomp_table): New type.
34814         (output_decomposition, output_decomposition_tables): New functions.
34815         (unicode_composition_exclusions): New variable.
34816         (fill_composition_exclusions, debug_output_composition_tables): New
34817         functions.
34818         (main): Accept one more argument. Invoke fill_composition_exclusions.
34819         Output decomposition and composition tables.
34820
34821         New module 'uninorm/base'.
34822         * lib/uninorm.h: New file.
34823         * lib/unictype.h: Update comment.
34824         * modules/uninorm/base: New file.
34825
34826 2009-02-21  David Lutterkort  <lutter@redhat.com>
34827
34828         Tests for module 'safe-alloc'.
34829         * tests/test-safe-alloc.c: New file.
34830         * modules/safe-alloc-tests: New file.
34831
34832         New module 'safe-alloc'.
34833         * lib/safe-alloc.h: New file.
34834         * lib/safe-alloc.c: New file.
34835         * m4/safe-alloc.m4: New file.
34836         * modules/safe-alloc: New file.
34837         * doc/safe-alloc.texi: New file.
34838         * doc/gnulib.texi: Include it.
34839         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
34840         safe-alloc.
34841
34842 2009-02-18  Bruno Haible  <bruno@clisp.org>
34843
34844         Fix link error on non-glibc systems.
34845         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
34846         variable.
34847         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34848
34849 2009-02-18  Jim Meyering  <meyering@redhat.com>
34850
34851         fts: avoid used-uninitialized error due to recent change
34852         * lib/fts.c (fts_read): Guard uses of the new member,
34853         parent->fts_n_dirs_remaining, since it's not relevant for
34854         the parent of a directory specified on the command-line.
34855
34856 2009-02-17  James Youngman  <jay@gnu.org>
34857             Bruno Haible  <bruno@clisp.org>
34858
34859         * m4/include_next.m4: Reformulate comment.
34860
34861 2009-02-16  Jim Meyering  <meyering@redhat.com>
34862
34863         fts: add #if guards so that the fts_lgpl module still builds
34864         * lib/fts.c: Guard just-added hash-table-using parts with
34865         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
34866         Reported by Simon Josefsson.
34867
34868 2009-02-15  Bruno Haible  <bruno@clisp.org>
34869
34870         * modules/array-mergesort-tests: New file.
34871         * tests/test-array-mergesort.c: New file.
34872
34873         New module 'array-mergesort'.
34874         * modules/array-mergesort: New file.
34875         * lib/array-mergesort.h: New file.
34876
34877 2009-02-15  Bruno Haible  <bruno@clisp.org>
34878
34879         Fix 2009-02-07 commit.
34880         * lib/gen-uni-tables.c (output_predicate, output_category,
34881         output_combclass, output_bidi_category, output_decimal_digit,
34882         output_digit, output_numeric, output_mirror, output_scripts,
34883         output_ident_category, output_simple_mapping): Fix format directives.
34884         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
34885
34886 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
34887
34888         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
34889         fixes are available from IBM.
34890
34891 2009-02-13  Jim Meyering  <meyering@redhat.com>
34892
34893         fts: arrange not to stat non-directories in more cases
34894         This makes GNU find (when it doesn't need to stat each file)
34895         *much* more efficient at traversing reiserfs file systems.
34896         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
34897         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
34898         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
34899         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
34900         (leaf_optimization_applies): New function.
34901         (LCO_hash, LCO_compare): New helper functions.
34902         (link_count_optimize_ok): New function.
34903         (fts_stat): Initialize new member (if dir).
34904         (fts_read): Decrement parent's fts_n_dirs_remaining count if
34905         we've just stat'ed a directory.  Skip the stat call when possible.
34906         ---
34907         Note this AFS-related exchange:
34908         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
34909         and note find's pioctl call in find/fstype.c.
34910         But that is necessary only if you want to enable the
34911         optimization for AFS, and for now, I don't.
34912
34913         fts: move a function definition "up" (no semantic change)
34914         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
34915         "up" to precede upcoming use of a related function.
34916
34917 2009-02-11  Jim Meyering  <meyering@redhat.com>
34918
34919         fts: correct internal computation of nlinks (optimization-related)
34920         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
34921         whether the current entry is a directory, so don't test it.
34922
34923 2009-02-10  Bruno Haible  <bruno@clisp.org>
34924
34925         Tests for module 'uniwbrk/ulc-wordbreaks'.
34926         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
34927         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
34928         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
34929
34930         Tests for module 'uniwbrk/u32-wordbreaks'.
34931         * modules/uniwbrk/u32-wordbreaks-tests: New file.
34932         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
34933
34934         Tests for module 'uniwbrk/u16-wordbreaks'.
34935         * modules/uniwbrk/u16-wordbreaks-tests: New file.
34936         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
34937
34938         Tests for module 'uniwbrk/u8-wordbreaks'.
34939         * modules/uniwbrk/u8-wordbreaks-tests: New file.
34940         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
34941
34942 2009-02-10  Bruno Haible  <bruno@clisp.org>
34943
34944         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
34945         property.
34946         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
34947         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
34948         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
34949
34950 2009-02-10  Simon Josefsson  <simon@josefsson.org>
34951
34952         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
34953         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
34954
34955 2009-02-10  Bruno Haible  <bruno@clisp.org>
34956
34957         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
34958         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
34959         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
34960         * lib/unilbrk/u8-possible-linebreaks.c: Update.
34961         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
34962         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
34963
34964 2009-02-09  Simon Josefsson  <simon@josefsson.org>
34965
34966         * lib/sockets.h (gl_fd_to_handle): New function.
34967
34968         * tests/test-sockets.c: Call gl_fd_to_handle.
34969
34970 2009-02-09  Bruno Haible  <bruno@clisp.org>
34971
34972         * doc/havelib.texi: Document the conventions on bi-arch systems.
34973
34974 2009-02-08  Bruno Haible  <bruno@clisp.org>
34975
34976         Document the AC_LIB_LINKFLAGS macro.
34977         * doc/havelib.texi: New file, mostly written on 2005-05-24.
34978         * doc/gnulib.texi: Include it.
34979
34980 2009-02-08  Bruno Haible  <bruno@clisp.org>
34981
34982         Fix wrong order of sections, compared to TOC.
34983         * doc/gnulib.texi: Include relocatable-maint.texi after the
34984         "Regular expressions" node, not before.
34985
34986 2009-02-08  Bruno Haible  <bruno@clisp.org>
34987
34988         Tests for module 'unicase/totitle'.
34989         * modules/unicase/totitle-tests: New file.
34990
34991         Tests for module 'unicase/tolower'.
34992         * modules/unicase/tolower-tests: New file.
34993
34994         Tests for module 'unicase/toupper'.
34995         * modules/unicase/toupper-tests: New file.
34996         * tests/unicase/test-mapping-part1.h: New file.
34997         * tests/unicase/test-mapping-part2.h: New file.
34998
34999         New module 'unicase/totitle'.
35000         * modules/unicase/totitle: New file.
35001         * lib/unicase/totitle.c: New file.
35002
35003         New module 'unicase/tolower'.
35004         * modules/unicase/tolower: New file.
35005         * lib/unicase/tolower.c: New file.
35006
35007         New module 'unicase/toupper'.
35008         * modules/unicase/toupper: New file.
35009         * lib/unicase/toupper.c: New file.
35010         * lib/unicase/simple-mapping.h: New file.
35011
35012         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
35013         (mapping_table): New structure.
35014         (output_simple_mapping): New function.
35015         (main): Invoke output_simple_mapping_test and output_simple_mapping.
35016         * modules/gen-uni-tables (Description): Update.
35017         * lib/unicase/toupper.h: New file, automatically generated by
35018         gen-uni-tables.
35019         * lib/unicase/tolower.h: New file, automatically generated by
35020         gen-uni-tables.
35021         * lib/unicase/totitle.h: New file, automatically generated by
35022         gen-uni-tables.
35023         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
35024         gen-uni-tables.
35025         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
35026         gen-uni-tables.
35027         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
35028         gen-uni-tables.
35029
35030         New module 'unicase/base'.
35031         * modules/unicase/base: New file.
35032         * lib/unicase.h: New file.
35033
35034 2009-02-08  Bruno Haible  <bruno@clisp.org>
35035
35036         New module 'uniwbrk/ulc-wordbreaks'.
35037         * modules/uniwbrk/ulc-wordbreaks: New file.
35038         * lib/uniwbrk/ulc-wordbreaks.c: New file.
35039
35040         New module 'uniwbrk/u32-wordbreaks'.
35041         * modules/uniwbrk/u32-wordbreaks: New file.
35042         * lib/uniwbrk/u32-wordbreaks.c: New file.
35043
35044         New module 'uniwbrk/u16-wordbreaks'.
35045         * modules/uniwbrk/u16-wordbreaks: New file.
35046         * lib/uniwbrk/u16-wordbreaks.c: New file.
35047
35048         New module 'uniwbrk/u8-wordbreaks'.
35049         * modules/uniwbrk/u8-wordbreaks: New file.
35050         * lib/uniwbrk/u8-wordbreaks.c: New file.
35051         * lib/uniwbrk/u-wordbreaks.h: New file.
35052
35053         New module 'uniwbrk/table'.
35054         * modules/uniwbrk/table: New file.
35055         * lib/uniwbrk/wbrktable.h: New file.
35056         * lib/uniwbrk/wbrktable.c: New file.
35057
35058         New module 'uniwbrk/wordbreak-property'.
35059         * modules/uniwbrk/wordbreak-property: New file.
35060         * lib/uniwbrk/wordbreak-property.c: New file.
35061
35062         * lib/gen-uni-tables.c (WBP_*): New enum items.
35063         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
35064         (unicode_org_wbp): New variable.
35065         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
35066         New functions.
35067         (wbp_table): New structure.
35068         (output_wbp, output_wbrk_tables): New functions.
35069         (main): Accept additional argument. Invoke fill_org_wbp,
35070         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
35071         output_wbrk_tables.
35072         * modules/gen-uni-tables (Description): Update.
35073         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
35074         gen-uni-tables.
35075
35076         New module 'uniwbrk/base'.
35077         * modules/uniwbrk/base: New file.
35078         * lib/uniwbrk.h: New file.
35079
35080 2009-02-08  Bruno Haible  <bruno@clisp.org>
35081
35082         Update to Unicode 5.1.0.
35083         * lib/gen-uni-tables.c (is_property_alphabetic): Include
35084         U+2185..U+2188.
35085         (is_property_default_ignorable_code_point): Don't include characters
35086         of category Cc or Cs and not-a-characters.
35087         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
35088         U+0D79, U+109E, U+109F, U+A60C.
35089         * lib/unictype/bidi_of.h: Regenerated.
35090         * lib/unictype/blocks.h: Regenerated.
35091         * lib/unictype/categ_C.h: Regenerated.
35092         * lib/unictype/categ_Cf.h: Regenerated.
35093         * lib/unictype/categ_Cn.h: Regenerated.
35094         * lib/unictype/categ_L.h: Regenerated.
35095         * lib/unictype/categ_Ll.h: Regenerated.
35096         * lib/unictype/categ_Lm.h: Regenerated.
35097         * lib/unictype/categ_Lo.h: Regenerated.
35098         * lib/unictype/categ_Lu.h: Regenerated.
35099         * lib/unictype/categ_M.h: Regenerated.
35100         * lib/unictype/categ_Mc.h: Regenerated.
35101         * lib/unictype/categ_Me.h: Regenerated.
35102         * lib/unictype/categ_Mn.h: Regenerated.
35103         * lib/unictype/categ_N.h: Regenerated.
35104         * lib/unictype/categ_Nd.h: Regenerated.
35105         * lib/unictype/categ_Nl.h: Regenerated.
35106         * lib/unictype/categ_No.h: Regenerated.
35107         * lib/unictype/categ_P.h: Regenerated.
35108         * lib/unictype/categ_Pd.h: Regenerated.
35109         * lib/unictype/categ_Pe.h: Regenerated.
35110         * lib/unictype/categ_Pf.h: Regenerated.
35111         * lib/unictype/categ_Pi.h: Regenerated.
35112         * lib/unictype/categ_Po.h: Regenerated.
35113         * lib/unictype/categ_Ps.h: Regenerated.
35114         * lib/unictype/categ_S.h: Regenerated.
35115         * lib/unictype/categ_Sk.h: Regenerated.
35116         * lib/unictype/categ_Sm.h: Regenerated.
35117         * lib/unictype/categ_So.h: Regenerated.
35118         * lib/unictype/categ_of.h: Regenerated.
35119         * lib/unictype/combining.h: Regenerated.
35120         * lib/unictype/ctype_alnum.h: Regenerated.
35121         * lib/unictype/ctype_alpha.h: Regenerated.
35122         * lib/unictype/ctype_graph.h: Regenerated.
35123         * lib/unictype/ctype_lower.h: Regenerated.
35124         * lib/unictype/ctype_print.h: Regenerated.
35125         * lib/unictype/ctype_punct.h: Regenerated.
35126         * lib/unictype/ctype_upper.h: Regenerated.
35127         * lib/unictype/decdigit.h: Regenerated.
35128         * lib/unictype/digit.h: Regenerated.
35129         * lib/unictype/mirror.h: Regenerated.
35130         * lib/unictype/numeric.h: Regenerated.
35131         * lib/unictype/pr_alphabetic.h: Regenerated.
35132         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
35133         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
35134         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
35135         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
35136         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
35137         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
35138         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
35139         * lib/unictype/pr_combining.h: Regenerated.
35140         * lib/unictype/pr_dash.h: Regenerated.
35141         * lib/unictype/pr_decimal_digit.h: Regenerated.
35142         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
35143         * lib/unictype/pr_deprecated.h: Regenerated.
35144         * lib/unictype/pr_diacritic.h: Regenerated.
35145         * lib/unictype/pr_extender.h: Regenerated.
35146         * lib/unictype/pr_format_control.h: Regenerated.
35147         * lib/unictype/pr_grapheme_base.h: Regenerated.
35148         * lib/unictype/pr_grapheme_extend.h: Regenerated.
35149         * lib/unictype/pr_grapheme_link.h: Regenerated.
35150         * lib/unictype/pr_id_continue.h: Regenerated.
35151         * lib/unictype/pr_id_start.h: Regenerated.
35152         * lib/unictype/pr_ideographic.h: Regenerated.
35153         * lib/unictype/pr_ignorable_control.h: Regenerated.
35154         * lib/unictype/pr_lowercase.h: Regenerated.
35155         * lib/unictype/pr_math.h: Regenerated.
35156         * lib/unictype/pr_numeric.h: Regenerated.
35157         * lib/unictype/pr_other_alphabetic.h: Regenerated.
35158         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
35159         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
35160         * lib/unictype/pr_other_id_continue.h: Regenerated.
35161         * lib/unictype/pr_other_lowercase.h: Regenerated.
35162         * lib/unictype/pr_other_math.h: Regenerated.
35163         * lib/unictype/pr_punctuation.h: Regenerated.
35164         * lib/unictype/pr_sentence_terminal.h: Regenerated.
35165         * lib/unictype/pr_soft_dotted.h: Regenerated.
35166         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
35167         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
35168         * lib/unictype/pr_unified_ideograph.h: Regenerated.
35169         * lib/unictype/pr_uppercase.h: Regenerated.
35170         * lib/unictype/pr_xid_continue.h: Regenerated.
35171         * lib/unictype/pr_xid_start.h: Regenerated.
35172         * lib/unictype/pr_zero_width.h: Regenerated.
35173         * lib/unictype/scripts.h: Regenerated.
35174         * lib/unictype/scripts_byname.gperf: Regenerated.
35175         * lib/unictype/sy_java_ident.h: Regenerated.
35176         * lib/unilbrk/lbrkprop1.h: Regenerated.
35177         * lib/unilbrk/lbrkprop2.h: Regenerated.
35178         * tests/unictype/test-categ_C.c: Regenerated.
35179         * tests/unictype/test-categ_Cf.c: Regenerated.
35180         * tests/unictype/test-categ_Cn.c: Regenerated.
35181         * tests/unictype/test-categ_L.c: Regenerated.
35182         * tests/unictype/test-categ_Ll.c: Regenerated.
35183         * tests/unictype/test-categ_Lm.c: Regenerated.
35184         * tests/unictype/test-categ_Lo.c: Regenerated.
35185         * tests/unictype/test-categ_Lu.c: Regenerated.
35186         * tests/unictype/test-categ_M.c: Regenerated.
35187         * tests/unictype/test-categ_Mc.c: Regenerated.
35188         * tests/unictype/test-categ_Me.c: Regenerated.
35189         * tests/unictype/test-categ_Mn.c: Regenerated.
35190         * tests/unictype/test-categ_N.c: Regenerated.
35191         * tests/unictype/test-categ_Nd.c: Regenerated.
35192         * tests/unictype/test-categ_Nl.c: Regenerated.
35193         * tests/unictype/test-categ_No.c: Regenerated.
35194         * tests/unictype/test-categ_P.c: Regenerated.
35195         * tests/unictype/test-categ_Pd.c: Regenerated.
35196         * tests/unictype/test-categ_Pe.c: Regenerated.
35197         * tests/unictype/test-categ_Pf.c: Regenerated.
35198         * tests/unictype/test-categ_Pi.c: Regenerated.
35199         * tests/unictype/test-categ_Po.c: Regenerated.
35200         * tests/unictype/test-categ_Ps.c: Regenerated.
35201         * tests/unictype/test-categ_S.c: Regenerated.
35202         * tests/unictype/test-categ_Sk.c: Regenerated.
35203         * tests/unictype/test-categ_Sm.c: Regenerated.
35204         * tests/unictype/test-categ_So.c: Regenerated.
35205         * tests/unictype/test-ctype_alnum.c: Regenerated.
35206         * tests/unictype/test-ctype_alpha.c: Regenerated.
35207         * tests/unictype/test-ctype_graph.c: Regenerated.
35208         * tests/unictype/test-ctype_lower.c: Regenerated.
35209         * tests/unictype/test-ctype_print.c: Regenerated.
35210         * tests/unictype/test-ctype_punct.c: Regenerated.
35211         * tests/unictype/test-ctype_upper.c: Regenerated.
35212         * tests/unictype/test-decdigit.h: Regenerated.
35213         * tests/unictype/test-digit.h: Regenerated.
35214         * tests/unictype/test-numeric.h: Regenerated.
35215         * tests/unictype/test-pr_alphabetic.c: Regenerated.
35216         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
35217         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
35218         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
35219         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
35220         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
35221         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
35222         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
35223         * tests/unictype/test-pr_combining.c: Regenerated.
35224         * tests/unictype/test-pr_dash.c: Regenerated.
35225         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
35226         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
35227         * tests/unictype/test-pr_deprecated.c: Regenerated.
35228         * tests/unictype/test-pr_diacritic.c: Regenerated.
35229         * tests/unictype/test-pr_extender.c: Regenerated.
35230         * tests/unictype/test-pr_format_control.c: Regenerated.
35231         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
35232         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
35233         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
35234         * tests/unictype/test-pr_id_continue.c: Regenerated.
35235         * tests/unictype/test-pr_id_start.c: Regenerated.
35236         * tests/unictype/test-pr_ideographic.c: Regenerated.
35237         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
35238         * tests/unictype/test-pr_lowercase.c: Regenerated.
35239         * tests/unictype/test-pr_math.c: Regenerated.
35240         * tests/unictype/test-pr_numeric.c: Regenerated.
35241         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
35242         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
35243         Regenerated.
35244         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
35245         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
35246         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
35247         * tests/unictype/test-pr_other_math.c: Regenerated.
35248         * tests/unictype/test-pr_punctuation.c: Regenerated.
35249         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
35250         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
35251         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
35252         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
35253         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
35254         * tests/unictype/test-pr_uppercase.c: Regenerated.
35255         * tests/unictype/test-pr_xid_continue.c: Regenerated.
35256         * tests/unictype/test-pr_xid_start.c: Regenerated.
35257         * tests/unictype/test-pr_zero_width.c: Regenerated.
35258
35259         Update to Unicode 5.1.0.
35260         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
35261         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
35262         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
35263         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
35264         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
35265         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
35266         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
35267         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
35268         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
35269         (nonspacing_table_ind): Update.
35270         * tests/uniwidth/test-uc_width2.sh: Update expected result.
35271
35272         Update to Unicode 5.1.0.
35273         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
35274         code transform.
35275         * lib/uniname/uniname.c (unicode_character_name,
35276         unicode_name_character): Add the range 0x1Fxxx to the code transform.
35277         * lib/uniname/uninames.h: Regenerated.
35278         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
35279
35280 2009-02-07  Bruno Haible  <bruno@clisp.org>
35281
35282         Merge gen-ctype and gen-lbrk into a single program.
35283         * lib/gen-uni-tables.c: New file, incorporating
35284         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
35285         Add directory prefixes to the names of the generated files.
35286         * lib/unictype/gen-ctype.c: Remove file.
35287         * lib/unilbrk/gen-lbrk.c: Remove file.
35288         * modules/gen-uni-tables: New file.
35289         * modules/unictype/gen-ctype: Remove file.
35290         * modules/unilbrk/gen-lbrk: Remove file.
35291
35292 2009-02-07  Bruno Haible  <bruno@clisp.org>
35293
35294         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
35295
35296         New module 'unistr/u32-strcoll'.
35297         * modules/unistr/u32-strcoll: New file.
35298         * lib/unistr/u32-strcoll.c: New file.
35299
35300         New module 'unistr/u16-strcoll'.
35301         * modules/unistr/u16-strcoll: New file.
35302         * lib/unistr/u16-strcoll.c: New file.
35303
35304         New module 'unistr/u8-strcoll'.
35305         * modules/unistr/u8-strcoll: New file.
35306         * lib/unistr/u8-strcoll.c: New file.
35307         * lib/unistr/u-strcoll.h: New file.
35308
35309 2009-02-07  Bruno Haible  <bruno@clisp.org>
35310
35311         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
35312         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
35313         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
35314         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
35315         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
35316         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
35317
35318 2009-02-07  Bruno Haible  <bruno@clisp.org>
35319
35320         Make 64-bit clean.
35321         * lib/unictype/gen-ctype.c (output_predicate, output_category,
35322         output_combclass, output_bidi_category, output_decimal_digit,
35323         output_digit, output_numeric, output_mirror, output_scripts,
35324         output_ident_category): Use proper width specifier in format strings.
35325
35326 2009-02-07  Bruno Haible  <bruno@clisp.org>
35327
35328         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
35329         failure behaviour.
35330
35331 2009-02-07  Jim Meyering  <meyering@redhat.com>
35332
35333         regex: avoid compilation failure with upcoming gcc-4.4
35334         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
35335         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
35336         "... error: integer overflow in preprocessor expression".
35337
35338 2009-02-05  Ben Pfaff  <blp@gnu.org>
35339
35340         Fix link errors on Windows when close module is used.
35341         * modules/close: Add $(LIB_CLOSE) to Link section.
35342         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
35343         $(LIB_CLOSE) on Windows.
35344
35345 2009-02-05  Jim Meyering  <meyering@redhat.com>
35346
35347         still avoid unused-parameter warnings, but do it cleanly
35348         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
35349         (get_fs_usage): Cast to void instead.
35350         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
35351         (dev_from_mount_options, read_file_system_list): Cast to void.
35352         Prompted by Bruno Haible.
35353
35354 2009-02-04  Jim Meyering  <meyering@redhat.com>
35355
35356         fsusage.c: correct copyright year
35357         * lib/fsusage.c: Reflect year in which the change is pushed into
35358
35359         avoid misc. warnings
35360         * lib/fsusage.c (UNUSED_PARAM): Define.
35361         (get_fs_usage): Mark parameter "disk" as unused.
35362         * lib/getugroups.c (getgrent): Use "void" in prototype.
35363         * lib/mountlist.c: Mark unused parameters.
35364         (read_file_system_list): Declare a local with "const".
35365         * lib/nanosleep.c (getnow): Declare static.
35366         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
35367
35368         dirfd: set errno upon failure
35369         * lib/dirfd.c: Include <errno.h>.
35370         Set errno to ENOTSUP when returning -1.
35371         * modules/dirfd (Depends-on): Add errno.
35372         Suggested by John Kodis <kodis@comcast.net>.
35373
35374 2009-02-01  Bruno Haible  <bruno@clisp.org>
35375
35376         Don't assume sizeof (long) >= sizeof (void *).
35377         * lib/memcmp.c: Include stdint.h.
35378         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
35379         srcp2 to 'const byte *'.
35380         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
35381         types to uintptr_t.
35382         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
35383         * modules/memcmp (Depends-on): Add stdint.
35384         Reported by Ozkan Sezer <sezeroz@gmail.com>.
35385
35386 2009-01-30  Eric Blake  <ebb9@byu.net>
35387
35388         fix more require-before-expand issues
35389         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
35390         expand, AC_PROG_AWK.
35391         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
35392
35393 2009-01-28  Eric Blake  <ebb9@byu.net>
35394
35395         version-etc: use consistent URL formatting
35396         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
35397         Improve formatting.  Use fputs for string without %.
35398
35399 2009-01-28  Jim Meyering  <meyering@redhat.com>
35400
35401         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
35402         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
35403         "underquoted definition of NAME" from autoconf-2.59.
35404
35405 2009-01-28  Bruno Haible  <bruno@clisp.org>
35406
35407         * doc/gnulib.texi: Add "Obsolete modules" to index.
35408
35409 2009-01-28  Jim Meyering  <meyering@redhat.com>
35410
35411         useless-if-before-free: recognize more variants
35412         * build-aux/useless-if-before-free: Also recognize e.g.,
35413         if (NULL != p) free (p);
35414
35415 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
35416
35417         test-getaddrinfo: skip (don't fail) this test when there's no network
35418         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
35419         on the presumption that it means you lack network access.
35420
35421 2009-01-26  Jim Meyering  <meyering@redhat.com>
35422
35423         fflush: avoid warnings on modern systems
35424         * lib/fflush.c (rpl_fflush): Move declarations of locals,
35425         pos and result, into scopes where they're used.
35426
35427 2009-01-26  Eric Blake  <ebb9@byu.net>
35428
35429         Silence warning reintroduced by recent extensions patch.
35430         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
35431         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
35432         autoconf.
35433
35434         Backport improved autoconf semantics of AC_DEFUN_ONCE.
35435         * m4/00gnulib.m4: New file.
35436         * gnulib-tool (func_get_filelist): Always use it.
35437         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
35438         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
35439
35440 2009-01-25  Bruno Haible  <bruno@clisp.org>
35441
35442         Make test-quotearg work on MacOS X and AIX.
35443         * tests/test-quotearg.sh: New file.
35444         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
35445         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
35446         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
35447         include <libintl.h>.
35448         (fake_locale): Remove variable.
35449         (gettext, dgettext, dcgettext): Remove functions.
35450         (main): Instead of setting a fake locale, set a real locale. Call
35451         textdomain and bindtextdomain.
35452         * modules/quotearg-tests (Files): Add the new files.
35453         (Depends-on): Add gettext, setenv, unsetenv.
35454         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
35455         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
35456         Augment TESTS_ENVIRONMENT.
35457
35458 2009-01-25  Bruno Haible  <bruno@clisp.org>
35459
35460         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
35461         fr_FR.ISO8859-1 locale on MacOS X.
35462         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
35463         ja_JP.eucJP locale on MacOS X.
35464         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
35465         zh_CN.GB18030 locale on MacOS X.
35466
35467 2009-01-25  Bruno Haible  <bruno@clisp.org>
35468
35469         Avoid link errors on MacOS X 10.3.
35470         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
35471         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
35472
35473 2009-01-25  Bruno Haible  <bruno@clisp.org>
35474
35475         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
35476         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
35477         * modules/pipe (Files): Remove m4/posix_spawn.m4.
35478         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
35479         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
35480         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
35481         posix_spawnattr_init, posix_spawnattr_setsigmask,
35482         posix_spawnattr_setflags, posix_spawnattr_destroy.
35483
35484         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
35485         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
35486         * modules/execute (Files): Remove m4/posix_spawn.m4.
35487         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
35488         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
35489         posix_spawnattr_init, posix_spawnattr_setsigmask,
35490         posix_spawnattr_setflags, posix_spawnattr_destroy.
35491
35492 2009-01-25  Bruno Haible  <bruno@clisp.org>
35493
35494         * lib/glthread/threadlib.c: Include <stdlib.h>.
35495
35496 2009-01-25  Bruno Haible  <bruno@clisp.org>
35497
35498         * lib/glthread/threadlib.c (dummy): New declaration.
35499
35500 2009-01-25  Bruno Haible  <bruno@clisp.org>
35501
35502         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
35503         multibyte characters also for the GB18030 encoding. Don't crash when
35504         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
35505
35506 2009-01-25  Bruno Haible  <bruno@clisp.org>
35507
35508         Avoid redefining 'struct random_data' on OSF/1 5.1.
35509         * lib/stdlib.in.h: Include <random.h> if it exists.
35510         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
35511         HAVE_RANDOM_H. Include <random.h> when testing whether
35512         'struct random_data' exists.
35513         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
35514
35515 2009-01-25  Bruno Haible  <bruno@clisp.org>
35516
35517         Don't install charset.alias on MacOS X >= 10.3.
35518         * lib/localcharset.c (DARWIN7): New macro.
35519         (get_charset_aliases): Hardcode the result for Darwin7.
35520         * modules/localcharset (install-exec-local): Don't install
35521         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
35522
35523 2009-01-25  Bruno Haible  <bruno@clisp.org>
35524
35525         Don't install charset.alias on mingw and Cygwin.
35526         * modules/localcharset (install-exec-local): Don't install
35527         charset.alias on mingw and Cygwin, if the file does not yet exist.
35528         The result for these platforms is hardcoded in localcharset.c.
35529
35530 2009-01-25  Bruno Haible  <bruno@clisp.org>
35531
35532         Make it possible again to use AC_GNU_SOURCE together with gnulib.
35533         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
35534         before requiring AC_USE_SYSTEM_EXTENSIONS.
35535
35536 2009-01-25  Jim Meyering  <meyering@redhat.com>
35537
35538         c-strtod: avoid warnings
35539         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
35540         "assignment discards qualifiers from pointer target type" warnings.
35541
35542 2009-01-24  Bruno Haible  <bruno@clisp.org>
35543
35544         Add support for non-UTF-8 locales on MacOS X.
35545         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
35546         canonical encodings. For Darwin 7 and newer, don't map traditional
35547         encodings to UTF-8.
35548         Reported by Vincent Lefevre <vincent@vinc17.org>
35549         at <http://savannah.gnu.org/bugs/?25235>.
35550
35551 2009-01-24  Bruno Haible  <bruno@clisp.org>
35552
35553         * doc/gnulib.texi (Obsolete modules): New section.
35554         Reported by Mike Frysinger <vapier@gentoo.org>.
35555
35556 2009-01-24  Bruno Haible  <bruno@clisp.org>
35557
35558         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
35559         (%.dvi): New rule.
35560
35561 2009-01-24  Bruno Haible  <bruno@clisp.org>
35562
35563         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
35564         Reported by Eric Blake.
35565
35566 2009-01-24  Bruno Haible  <bruno@clisp.org>
35567
35568         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
35569         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
35570         Reported by Gary V. Vaughan <gary@gnu.org>.
35571
35572 2009-01-24  Bruno Haible  <bruno@clisp.org>
35573
35574         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
35575
35576 2009-01-23  Bruno Haible  <bruno@clisp.org>
35577
35578         Make c-strtod, c-strtold usable in libraries.
35579         * lib/c-strtod.c: Include string.h instead of xalloc.h.
35580         (C_STRTOD): Call strdup instead of xstrdup.
35581         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
35582         * modules/c-strtold (Depends-on): Likewise.
35583         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
35584         * NEWS: Mention the change.
35585         Reported by Michael Gold <mgold@ncf.ca>.
35586
35587 2009-01-23  Jim Meyering  <meyering@redhat.com>
35588
35589         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
35590         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
35591         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
35592
35593 2009-01-23  Simon Josefsson  <simon@josefsson.org>
35594
35595         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
35596         GNU CoreUtils.
35597         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
35598         * modules/version-etc (Description): Update.
35599
35600 2009-01-22  Bruno Haible  <bruno@clisp.org>
35601
35602         Cache the C locale object.
35603         * lib/c-strtod.c (c_locale_cache): New variable.
35604         (c_locale): New function.
35605         (C_STRTOD): Use it, and don't call freelocale.
35606         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
35607         Suggested by Paolo Bonzini.
35608
35609 2009-01-21  Bruno Haible  <bruno@clisp.org>
35610
35611         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
35612         conditions other than overflow.
35613
35614 2009-01-21  Bruno Haible  <bruno@clisp.org>
35615
35616         * lib/c-strtod.c: Include errno.h.
35617         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
35618         value from STRTOD_L and STRTOD.
35619
35620 2009-01-21  Bruno Haible  <bruno@clisp.org>
35621         and Jim Meyering  <meyering@redhat.com>
35622
35623         nanosleep: skip configure test (fail it) for apple universal builds
35624         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
35625         universal builds, assume that nanosleep does not work.
35626         * modules/nanosleep (Depends-on): Add multiarch.
35627
35628         mktime: skip configure test (fail it) for apple universal builds
35629         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
35630         universal builds, assume that mktime does not work.
35631         * modules/mktime (Depends-on): Add multiarch.
35632
35633 2009-01-21  Eric Blake  <ebb9@byu.net>
35634
35635         multiarch: avoid expand-before-require warning
35636         * modules/multiarch (configure.ac): Require, rather than expand,
35637         gl_MULTIARCH.
35638         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
35639         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
35640         enforce that all clients require it.  Partial reversion of
35641         2008-12-29 patch.
35642
35643         error: avoid expand-before-require warning
35644         * modules/errno (configure.ac): Require, rather than expand,
35645         gl_HEADER_ERRNO_H.
35646         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
35647         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
35648         enforce that all clients require it.
35649
35650         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
35651         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
35652         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
35653         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
35654
35655 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
35656
35657         Revert:
35658         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
35659
35660         regex: do not depend on obsolete modules.
35661         * modules/regex: Remove memcmp and memmove.
35662
35663 2009-01-20  Bruno Haible  <bruno@clisp.org>
35664
35665         Make the 'link' module link on Windows NT 4.
35666         * lib/link.c (_WIN32_WINNT): Don't define.
35667         (CreateHardLinkFuncType): New type.
35668         (CreateHardLinkFunc, initialized): New variables.
35669         (initialize): New function.
35670         (link): Invoke CreateHardLink indirectly through the function pointer.
35671
35672 2009-01-20  Bruno Haible  <bruno@clisp.org>
35673
35674         Fix compilation failure on mingw.
35675         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
35676
35677 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
35678
35679         * doc/c-strtod.texi: Mention a couple of restrictions.
35680
35681 2009-01-20  Jim Meyering  <meyering@redhat.com>
35682
35683         gettimeofday: move more declarations out of functions
35684         * lib/gettimeofday.c: Move extern declarations of tzset and
35685         gmtime out of containing functions.  Prompted by Bruno Haible.
35686
35687 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
35688
35689         regex: do not depend on obsolete modules.
35690         * modules/regex: Remove memcmp and memmove.
35691
35692 2009-01-19  Bruno Haible  <bruno@clisp.org>
35693
35694         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
35695         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
35696         gl_BIGENDIAN, not AC_C_BIGENDIAN.
35697         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
35698         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
35699
35700 2009-01-19  Bruno Haible  <bruno@clisp.org>
35701
35702         * tests/test-link.c: Include <errno.h>.
35703         (main): Exit with code 77 when a hard link cannot be created due to
35704         the file system.
35705         * tests/test-link.sh: Skip test when a hard link cannot be created due
35706         to the file system.
35707         Suggested by Eric Blake.
35708
35709 2009-01-19  Martin Lambers  <marlam@marlam.de>
35710
35711         * modules/link-tests: New file.
35712         * tests/test-link.sh: New file.
35713         * tests/test-link.c: New file.
35714
35715 2009-01-19  Eric Blake  <ebb9@byu.net>
35716
35717         doc: mention another function added in cygwin 1.7.0
35718         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
35719         Another new function in cygwin 1.7.
35720
35721 2009-01-19  Bruno Haible  <bruno@clisp.org>
35722
35723         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
35724         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
35725         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
35726         gl_BIGENDIAN, not AC_C_BIGENDIAN.
35727         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
35728         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
35729         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
35730         * m4/md4.m4 (gl_MD4): Likewise.
35731         * m4/md5.m4 (gl_MD5): Likewise.
35732         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
35733         * m4/sha1.m4 (gl_SHA1): Likewise.
35734         * m4/sha256.m4 (gl_SHA256): Likewise.
35735         * m4/sha512.m4 (gl_SHA512): Likewise.
35736
35737 2009-01-19  Bruno Haible  <bruno@clisp.org>
35738
35739         * modules/uniname/uniname-tests (Depends-on): Add progname.
35740         * tests/uniname/test-uninames.c: Include progname.h.
35741         (main): Call set_program_name.
35742
35743         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
35744         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
35745         (main): Call set_program_name.
35746
35747         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
35748         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
35749         (main): Call set_program_name.
35750
35751         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
35752         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
35753         (main): Call set_program_name.
35754
35755         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
35756         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
35757         (main): Call set_program_name.
35758
35759         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
35760         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
35761         (main): Call set_program_name.
35762
35763         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
35764         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
35765         (main): Call set_program_name.
35766
35767         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
35768         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
35769         (main): Call set_program_name.
35770
35771         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
35772         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
35773         (main): Call set_program_name.
35774
35775 2009-01-19  Eric Blake  <ebb9@byu.net>
35776
35777         test-unistd: test previous patch
35778         * tests/test-unistd.c: Test *_FILENO macros.
35779
35780         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
35781         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
35782         Guarantee a definition.
35783         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
35784         * modules/unistd-safer (Depends-on): Add dependency on unistd.
35785         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
35786         * lib/dup-safer.c (STDERR_FILENO): Likewise.
35787         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
35788         Likewise.
35789         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
35790         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
35791         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
35792         Likewise.
35793         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
35794         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
35795         (STDERR_FILENO): Likewise.
35796         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
35797         (STDERR_FILENO): Likewise.
35798         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
35799         (STDERR_FILENO): Likewise.
35800         Reported by Elbert Pol.
35801
35802 2009-01-19  Eric Blake  <ebb9@byu.net>
35803
35804         doc: mention more functions added in cygwin 1.7.0
35805         * doc/posix-functions/abort.texi (abort): Update wording related
35806         to cygwin.
35807         * doc/posix-functions/daylight.texi (daylight): Likewise.
35808         * doc/posix-functions/optarg.texi (optarg): Likewise.
35809         * doc/posix-functions/optarg.texi (opterr): Likewise.
35810         * doc/posix-functions/optarg.texi (optind): Likewise.
35811         * doc/posix-functions/optarg.texi (optopt): Likewise.
35812         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
35813         worked in 1.5.x, and was withdrawn in 1.7.
35814         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
35815         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
35816         cygwin versions.
35817         * doc/posix-functions/perror.texi (perror): Likewise.
35818         * doc/posix-functions/printf.texi (printf): Likewise.
35819         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
35820         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
35821         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
35822         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
35823         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
35824         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
35825         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
35826         Likewise.
35827         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
35828         Likewise.
35829         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
35830         this function.
35831         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
35832         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
35833         Likewise.
35834         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
35835         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
35836         * doc/posix-functions/confstr.texi (confstr): Likewise.
35837         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
35838         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
35839         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
35840         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
35841         * doc/posix-functions/fputws.texi (fputws): Likewise.
35842         * doc/posix-functions/fwide.texi (fwide): Likewise.
35843         * doc/posix-functions/getwc.texi (getwc): Likewise.
35844         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
35845         * doc/posix-functions/putwc.texi (putwc): Likewise.
35846         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
35847         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
35848         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
35849         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
35850         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
35851         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
35852         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
35853         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
35854         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
35855         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
35856         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
35857
35858 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
35859
35860         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
35861         * lib/ioctl.c: Include <sys/ioctl.h>.
35862
35863 2009-01-19  Simon Josefsson  <simon@josefsson.org>
35864
35865         * modules/getdate-tests (Depends-on): Add progname.
35866         * tests/test-getdate.c: Use progname module, to avoid link errors
35867         on non-glibc systems.
35868
35869 2009-01-18  Simon Josefsson  <simon@josefsson.org>
35870
35871         * modules/filenamecat-tests (Depends-on): Add progname.
35872         * modules/fstrcmp-tests (Depends-on): Likewise.
35873
35874         * tests/test-filenamecat.c: Use progname module, to avoid link
35875         errors on non-glibc systems.
35876         * tests/test-fstrcmp.c: Likewise.
35877
35878 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
35879
35880         gettimeofday: avoid warning: nested extern declaration of 'localtime'
35881         * lib/gettimeofday.c: Move extern declaration out of function.
35882
35883 2009-01-18  Bruno Haible  <bruno@clisp.org>
35884
35885         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
35886         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
35887         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
35888
35889 2009-01-18  Bruno Haible  <bruno@clisp.org>
35890
35891         * lib/strftime.c (MEMPCPY): Remove unused macro.
35892         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
35893
35894 2009-01-18  Martin Lambers  <marlam@marlam.de>
35895
35896         New module 'link'.
35897         * lib/unistd.in.h (link): New declaration.
35898         * lib/link.c: New file.
35899         * m4/link.m4: New file.
35900         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
35901         HAVE_LINK.
35902         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
35903         * modules/link: New file.
35904         * doc/posix-functions/link.texi: Mention the new module.
35905
35906 2009-01-18  Bruno Haible  <bruno@clisp.org>
35907
35908         * tests/test-avltree_list.c (main): Call set_program_name.
35909         * tests/test-avltree_oset.c (main): Likewise.
35910         * tests/test-obstack-printf.c: Include progname.h.
35911         (main): Call set_program_name.
35912         * tests/test-quotearg.c: Include progname.h.
35913         (main): Call set_program_name.
35914         * tests/test-xmemdup0.c: Include progname.h.
35915         (main): Call set_program_name.
35916
35917 2009-01-18  Bruno Haible  <bruno@clisp.org>
35918
35919         New module 'alphasort'.
35920         * lib/dirent.in.h (alphasort): New declaration.
35921         * lib/alphasort.c: New file, from glibc with modifications.
35922         * m4/alphasort.m4: New file.
35923         * modules/alphasort: New file.
35924         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
35925         HAVE_ALPHASORT.
35926         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
35927         HAVE_ALPHASORT.
35928         * doc/posix-functions/alphasort.texi: Mention the new module and the
35929         portability problems.
35930
35931 2009-01-18  Bruno Haible  <bruno@clisp.org>
35932
35933         New module 'scandir'.
35934         * lib/dirent.in.h (scandir): New declaration.
35935         * lib/scandir.c: New file, from glibc with modifications.
35936         * m4/scandir.m4: New file.
35937         * modules/scandir: New file.
35938         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
35939         HAVE_SCANDIR.
35940         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
35941         HAVE_SCANDIR.
35942         * doc/posix-functions/scandir.texi: Mention the new module and the
35943         portability problems.
35944
35945 2009-01-17  Bruno Haible  <bruno@clisp.org>
35946
35947         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
35948         Update documentation.
35949         (func_remove_suffix): Escape all dots in the suffix. Update
35950         documentation.
35951         (func_filter_filelist): Update documentation.
35952         Reported by Ralf Wildenhues.
35953
35954 2009-01-17  Bruno Haible  <bruno@clisp.org>
35955
35956         * modules/dprintf-posix-tests: New file.
35957         * tests/test-dprintf-posix.sh: New file.
35958         * tests/test-dprintf-posix.c: New file.
35959
35960         New modules 'dprintf', 'dprintf-posix'.
35961         * lib/stdio.in.h (dprintf): New declaration.
35962         * lib/dprintf.c: New file.
35963         * m4/dprintf.m4: New file.
35964         * m4/dprintf-posix.m4: New file.
35965         * modules/dprintf: New file.
35966         * modules/dprintf-posix: New file.
35967         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
35968         HAVE_DPRINTF, REPLACE_DPRINTF.
35969         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
35970         HAVE_DPRINTF, REPLACE_DPRINTF.
35971         * doc/posix-functions/dprintf.texi: Mention the new modules.
35972
35973 2009-01-17  Bruno Haible  <bruno@clisp.org>
35974
35975         * modules/vdprintf-posix-tests: New file.
35976         * tests/test-vdprintf-posix.sh: New file.
35977         * tests/test-vdprintf-posix.c: New file.
35978
35979         New modules 'vdprintf', 'vdprintf-posix'.
35980         * lib/stdio.in.h (vdprintf): New declaration.
35981         * lib/vdprintf.c: New file.
35982         * m4/vdprintf.m4: New file.
35983         * m4/vdprintf-posix.m4: New file.
35984         * modules/vdprintf: New file.
35985         * modules/vdprintf-posix: New file.
35986         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
35987         HAVE_VDPRINTF, REPLACE_VDPRINTF.
35988         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
35989         HAVE_VDPRINTF, REPLACE_VDPRINTF.
35990         * doc/posix-functions/vdprintf.texi: Mention the new modules.
35991
35992 2009-01-17  Bruno Haible  <bruno@clisp.org>
35993
35994         Fix replacement of fopen on mingw.
35995         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
35996         mingw.
35997
35998 2009-01-17  Bruno Haible  <bruno@clisp.org>
35999
36000         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
36001         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
36002
36003 2009-01-17  Bruno Haible  <bruno@clisp.org>
36004
36005         Avoid test-fflush2.sh failure on mingw.
36006         * tests/test-fflush2.c: Include binary-io.h.
36007         (main): Put standard input into binary mode.
36008         * modules/fflush-tests (Depends-on): Add binary-io.
36009
36010 2009-01-17  Bruno Haible  <bruno@clisp.org>
36011
36012         * lib/wchar.in.h: In another particular situation, include only the
36013         system's <wchar.h> file.
36014         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
36015         Reported by Albert Chin-A-Young <china@thewrittenword.com>
36016         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
36017
36018 2009-01-17  Bruno Haible  <bruno@clisp.org>
36019
36020         Support for stripping executables in --enable-relocatable.
36021         * build-aux/install-reloc: Expect one more argument, or an environment
36022         variable RELOC_STRIP_PROG. If set, strip the destination program and
36023         its wrapper.
36024         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
36025         RELOC_STRIP_PROG.
36026         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
36027         to set RELOCATABLE_STRIP.
36028         * NEWS: Mention the new Makefile requirement.
36029
36030 2009-01-17  Bruno Haible  <bruno@clisp.org>
36031
36032         * build-aux/install-reloc: Remove debugging information left over by
36033         C compiler on MacOS X.
36034
36035 2009-01-17  Bruno Haible  <bruno@clisp.org>
36036
36037         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
36038         * lib/progreloc.c (find_executable): Fix type of pointer passed to
36039         _NSGetExecutablePath.
36040
36041 2009-01-16  Jim Meyering  <meyering@redhat.com>
36042
36043         strerror: avoid warnings about discarding "const"
36044         * lib/strerror.c (rpl_strerror): Instead of returning a const
36045         string from each and every "case", use a variable, and add a single
36046         cast after the switch.
36047
36048 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
36049
36050         * lib/arpa_inet.in.h: Add extern "C" block for C++.
36051
36052 2009-01-16  Bruno Haible  <bruno@clisp.org>
36053
36054         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
36055         array initializer syntax that also works in C++ mode.
36056         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
36057
36058 2009-01-16  Jim Meyering  <meyering@redhat.com>
36059
36060         poll: suppress a warning
36061         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
36062         to ignore "...unsigned expression < 0 is always false" warnings.
36063
36064 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
36065
36066         poll: remove declarations of unused variables
36067         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
36068         sockbuf and optlen.
36069
36070 2009-01-15  Bruno Haible  <bruno@clisp.org>
36071
36072         Make fflush-after-ungetc POSIX compliant on BSD systems.
36073         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
36074         (clear_ungetc_buffer): Implement also for other systems.
36075         (rpl_fflush): On glibc systems, invoke
36076         clear_ungetc_buffer_preserving_position. Otherwise, invoke
36077         clear_ungetc_buffer after fetching the stream's position, not before.
36078
36079 2009-01-15  Bruno Haible  <bruno@clisp.org>
36080
36081         Make fflush-after-ungetc POSIX compliant on glibc systems.
36082         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
36083         after ungetc.
36084         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
36085         (rpl_fflush): On glibc systems, simply call the system's fflush
36086         function after clearing the ungetc buffer.
36087         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
36088         Instead, lseek only to the end of file, then use the system's fseeko
36089         for the rest. On glibc systems, reset the EOF indicator bit.
36090
36091 2009-01-15  Jim Meyering  <meyering@redhat.com>
36092
36093         openmp.m4: revert quote-adding change, for portability to older autoconf
36094         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
36095         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
36096         Simon Josefsson noticed the problem when using autoconf-2.61.
36097
36098 2009-01-15  Bruno Haible  <bruno@clisp.org>
36099
36100         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
36101         * tests/test-fflush2.c (ASSERT): Always fail.
36102         (main): Add two tests for fflush() after ungetc(), taking into account
36103         the Austin Group's clarification.
36104         Suggested by Eric Blake.
36105
36106 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
36107
36108         mktime.m4: remove K&R-style function prototypes
36109         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
36110         for the Sun C++ compiler.
36111
36112 2009-01-14  Bruno Haible  <bruno@clisp.org>
36113
36114         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
36115         while including <wchar.h>.
36116         * lib/wchar.in.h: In two particular situations on HP-UX, include only
36117         the system's <wchar.h> file.
36118         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
36119
36120 2009-01-14  Bruno Haible  <bruno@clisp.org>
36121
36122         * m4/csharp.m4: Don't mention gettext on the serial number line.
36123         * m4/csharpexec.m4: Likewise.
36124         * m4/eaccess.m4: Likewise.
36125         * m4/javaexec.m4: Likewise.
36126         * m4/sig_atomic_t.m4: Likewise.
36127         * m4/tmpdir.m4: Likewise.
36128         * m4/intldir.m4: Bump gettext version.
36129         * m4/lib-ld.m4: Likewise.
36130
36131 2009-01-14  Bruno Haible  <bruno@clisp.org>
36132
36133         * lib/progname.c (set_program_name): Add more comments.
36134         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
36135
36136 2009-01-14  Simon Josefsson  <simon@josefsson.org>
36137
36138         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
36139         were sys/stat.h does not define it.
36140
36141 2009-01-14  Jim Meyering  <meyering@redhat.com>
36142
36143         many *.m4 files: improve m4 quoting
36144         99% of this change was performed by running the following commands:
36145         git ls-files | grep '\.m4$' | xargs perl -pi \
36146           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
36147           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
36148           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
36149           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
36150         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
36151         The remainder were to add Copyright dates, increment serial numbers,
36152         undo some changes in comments, exclude m4/intl.m4, and add quotes
36153         around the "1" in ",1" where the unusual spacing prohibited the
36154         above regexps from doing the job.  For more details, see
36155         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
36156         * m4/acl.m4: Modified.
36157         * m4/afs.m4: Likewise.
36158         * m4/alloca.m4: Likewise.
36159         * m4/argp.m4: Likewise.
36160         * m4/argz.m4: Likewise.
36161         * m4/atexit.m4: Likewise.
36162         * m4/bison-i18n.m4: Likewise.
36163         * m4/bison.m4: Likewise.
36164         * m4/byteswap.m4: Likewise.
36165         * m4/c-stack.m4: Likewise.
36166         * m4/c-strtod.m4: Likewise.
36167         * m4/calloc.m4: Likewise.
36168         * m4/canonicalize-lgpl.m4: Likewise.
36169         * m4/chown.m4: Likewise.
36170         * m4/clock_time.m4: Likewise.
36171         * m4/codeset.m4: Likewise.
36172         * m4/copy-file.m4: Likewise.
36173         * m4/csharp.m4: Likewise.
36174         * m4/csharpcomp.m4: Likewise.
36175         * m4/csharpexec.m4: Likewise.
36176         * m4/d-ino.m4: Likewise.
36177         * m4/d-type.m4: Likewise.
36178         * m4/dirfd.m4: Likewise.
36179         * m4/double-slash-root.m4: Likewise.
36180         * m4/eaccess.m4: Likewise.
36181         * m4/eealloc.m4: Likewise.
36182         * m4/environ.m4: Likewise.
36183         * m4/errno_h.m4: Likewise.
36184         * m4/euidaccess.m4: Likewise.
36185         * m4/execute.m4: Likewise.
36186         * m4/fatal-signal.m4: Likewise.
36187         * m4/fchdir.m4: Likewise.
36188         * m4/fcntl_h.m4: Likewise.
36189         * m4/fileblocks.m4: Likewise.
36190         * m4/filenamecat.m4: Likewise.
36191         * m4/findprog.m4: Likewise.
36192         * m4/flexmember.m4: Likewise.
36193         * m4/fnmatch.m4: Likewise.
36194         * m4/fopen.m4: Likewise.
36195         * m4/fpending.m4: Likewise.
36196         * m4/fprintf-posix.m4: Likewise.
36197         * m4/free.m4: Likewise.
36198         * m4/frexp.m4: Likewise.
36199         * m4/frexpl.m4: Likewise.
36200         * m4/fsusage.m4: Likewise.
36201         * m4/ftruncate.m4: Likewise.
36202         * m4/gc-camellia.m4: Likewise.
36203         * m4/gc-random.m4: Likewise.
36204         * m4/gc.m4: Likewise.
36205         * m4/getaddrinfo.m4: Likewise.
36206         * m4/getcwd-abort-bug.m4: Likewise.
36207         * m4/getcwd-path-max.m4: Likewise.
36208         * m4/getdate.m4: Likewise.
36209         * m4/getdomainname.m4: Likewise.
36210         * m4/getgroups.m4: Likewise.
36211         * m4/gethostname.m4: Likewise.
36212         * m4/gethrxtime.m4: Likewise.
36213         * m4/getline.m4: Likewise.
36214         * m4/getloadavg.m4: Likewise.
36215         * m4/getndelim2.m4: Likewise.
36216         * m4/getpass.m4: Likewise.
36217         * m4/gettext.m4: Likewise.
36218         * m4/gettime.m4: Likewise.
36219         * m4/gettimeofday.m4: Likewise.
36220         * m4/gnulib-common.m4: Likewise.
36221         * m4/group-member.m4: Likewise.
36222         * m4/host-os.m4: Likewise.
36223         * m4/iconv.m4: Likewise.
36224         * m4/iconv_open.m4: Likewise.
36225         * m4/inet_ntop.m4: Likewise.
36226         * m4/inet_pton.m4: Likewise.
36227         * m4/inline.m4: Likewise.
36228         * m4/intldir.m4: Likewise.
36229         * m4/intlmacosx.m4: Likewise.
36230         * m4/intmax.m4: Likewise.
36231         * m4/intmax_t.m4: Likewise.
36232         * m4/inttypes.m4: Likewise.
36233         * m4/inttypes_h.m4: Likewise.
36234         * m4/inttypes-pri.m4: Likewise.
36235         * m4/isapipe.m4: Likewise.
36236         * m4/isnand.m4: Likewise.
36237         * m4/isnanf.m4: Likewise.
36238         * m4/isnanl.m4: Likewise.
36239         * m4/javacomp.m4: Likewise.
36240         * m4/javaexec.m4: Likewise.
36241         * m4/jm-winsz1.m4: Likewise.
36242         * m4/jm-winsz2.m4: Likewise.
36243         * m4/lchown.m4: Likewise.
36244         * m4/lcmessage.m4: Likewise.
36245         * m4/ldexpl.m4: Likewise.
36246         * m4/lib-ld.m4: Likewise.
36247         * m4/lib-link.m4: Likewise.
36248         * m4/libsigsegv.m4: Likewise.
36249         * m4/link-follow.m4: Likewise.
36250         * m4/localcharset.m4: Likewise.
36251         * m4/locale-fr.m4: Likewise.
36252         * m4/locale-ja.m4: Likewise.
36253         * m4/locale-tr.m4: Likewise.
36254         * m4/locale-zh.m4: Likewise.
36255         * m4/lock.m4: Likewise.
36256         * m4/longlong.m4: Likewise.
36257         * m4/ls-mntd-fs.m4: Likewise.
36258         * m4/lstat.m4: Likewise.
36259         * m4/malloc.m4: Likewise.
36260         * m4/mathl.m4: Likewise.
36261         * m4/mbrtowc.m4: Likewise.
36262         * m4/mbstate_t.m4: Likewise.
36263         * m4/mbswidth.m4: Likewise.
36264         * m4/memchr.m4: Likewise.
36265         * m4/memcmp.m4: Likewise.
36266         * m4/memcpy.m4: Likewise.
36267         * m4/memmem.m4: Likewise.
36268         * m4/memmove.m4: Likewise.
36269         * m4/mempcpy.m4: Likewise.
36270         * m4/memrchr.m4: Likewise.
36271         * m4/memset.m4: Likewise.
36272         * m4/minmax.m4: Likewise.
36273         * m4/mkdir-slash.m4: Likewise.
36274         * m4/mkdtemp.m4: Likewise.
36275         * m4/mktime.m4: Likewise.
36276         * m4/mmap-anon.m4: Likewise.
36277         * m4/mountlist.m4: Likewise.
36278         * m4/nanosleep.m4: Likewise.
36279         * m4/nls.m4: Likewise.
36280         * m4/nocrash.m4: Likewise.
36281         * m4/open.m4: Likewise.
36282         * m4/openat.m4: Likewise.
36283         * m4/openmp.m4: Likewise.
36284         * m4/pathmax.m4: Likewise.
36285         * m4/perl.m4: Likewise.
36286         * m4/physmem.m4: Likewise.
36287         * m4/pipe.m4: Likewise.
36288         * m4/po.m4: Likewise.
36289         * m4/poll.m4: Likewise.
36290         * m4/posixtm.m4: Likewise.
36291         * m4/posixver.m4: Likewise.
36292         * m4/printf-frexp.m4: Likewise.
36293         * m4/printf-frexpl.m4: Likewise.
36294         * m4/printf-posix.m4: Likewise.
36295         * m4/printf-posix-rpl.m4: Likewise.
36296         * m4/printf.m4: Likewise.
36297         * m4/progtest.m4: Likewise.
36298         * m4/putenv.m4: Likewise.
36299         * m4/readline.m4: Likewise.
36300         * m4/readlink.m4: Likewise.
36301         * m4/readutmp.m4: Likewise.
36302         * m4/realloc.m4: Likewise.
36303         * m4/regex.m4: Likewise.
36304         * m4/relocatable.m4: Likewise.
36305         * m4/relocatable-lib.m4: Likewise.
36306         * m4/rename-dest-slash.m4: Likewise.
36307         * m4/rename.m4: Likewise.
36308         * m4/rmdir-errno.m4: Likewise.
36309         * m4/rmdir.m4: Likewise.
36310         * m4/roundf.m4: Likewise.
36311         * m4/roundl.m4: Likewise.
36312         * m4/rpmatch.m4: Likewise.
36313         * m4/save-cwd.m4: Likewise.
36314         * m4/selinux-selinux-h.m4: Likewise.
36315         * m4/setenv.m4: Likewise.
36316         * m4/settime.m4: Likewise.
36317         * m4/sig2str.m4: Likewise.
36318         * m4/sig_atomic_t.m4: Likewise.
36319         * m4/signalblocking.m4: Likewise.
36320         * m4/signbit.m4: Likewise.
36321         * m4/sigpipe.m4: Likewise.
36322         * m4/sockets.m4: Likewise.
36323         * m4/sockpfaf.m4: Likewise.
36324         * m4/st_dm_mode.m4: Likewise.
36325         * m4/stat-time.m4: Likewise.
36326         * m4/stdbool.m4: Likewise.
36327         * m4/stdint.m4: Likewise.
36328         * m4/stdint_h.m4: Likewise.
36329         * m4/stpcpy.m4: Likewise.
36330         * m4/stpncpy.m4: Likewise.
36331         * m4/strcase.m4: Likewise.
36332         * m4/strchrnul.m4: Likewise.
36333         * m4/strcspn.m4: Likewise.
36334         * m4/strdup.m4: Likewise.
36335         * m4/strftime.m4: Likewise.
36336         * m4/strndup.m4: Likewise.
36337         * m4/strnlen.m4: Likewise.
36338         * m4/strpbrk.m4: Likewise.
36339         * m4/strptime.m4: Likewise.
36340         * m4/strsep.m4: Likewise.
36341         * m4/strtod.m4: Likewise.
36342         * m4/strtoimax.m4: Likewise.
36343         * m4/strtok_r.m4: Likewise.
36344         * m4/strtol.m4: Likewise.
36345         * m4/strtoll.m4: Likewise.
36346         * m4/strtoul.m4: Likewise.
36347         * m4/strtoull.m4: Likewise.
36348         * m4/strtoumax.m4: Likewise.
36349         * m4/strverscmp.m4: Likewise.
36350         * m4/threadlib.m4: Likewise.
36351         * m4/timegm.m4: Likewise.
36352         * m4/tm_gmtoff.m4: Likewise.
36353         * m4/tmpdir.m4: Likewise.
36354         * m4/tmpfile.m4: Likewise.
36355         * m4/tzset.m4: Likewise.
36356         * m4/uintmax_t.m4: Likewise.
36357         * m4/unlinkdir.m4: Likewise.
36358         * m4/unlocked-io.m4: Likewise.
36359         * m4/uptime.m4: Likewise.
36360         * m4/userspec.m4: Likewise.
36361         * m4/utimbuf.m4: Likewise.
36362         * m4/utime.m4: Likewise.
36363         * m4/utimes-null.m4: Likewise.
36364         * m4/utimes.m4: Likewise.
36365         * m4/vararrays.m4: Likewise.
36366         * m4/vasnprintf.m4: Likewise.
36367         * m4/vfprintf-posix.m4: Likewise.
36368         * m4/vprintf-posix.m4: Likewise.
36369         * m4/wait-process.m4: Likewise.
36370         * m4/wchar_t.m4: Likewise.
36371         * m4/wint_t.m4: Likewise.
36372         * m4/write-any-file.m4: Likewise.
36373         * m4/yield.m4: Likewise.
36374
36375 2009-01-13  Bruno Haible  <bruno@clisp.org>
36376
36377         Avoid test-copy-file.sh failures when ACL support insufficient.
36378         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
36379         TESTS_ENVIRONMENT.
36380         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
36381         Reported by Jim Meyering.
36382
36383 2009-01-13  Bruno Haible  <bruno@clisp.org>
36384
36385         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
36386         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
36387         * modules/unistdio/u8-printf-parse (Files): Likewise.
36388         * modules/unistdio/u32-printf-parse (Files): Likewise.
36389         * modules/unistdio/ulc-printf-parse (Files): Likewise.
36390
36391 2009-01-13  Simon Josefsson  <simon@josefsson.org>
36392
36393         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
36394         and m4/inttypes_h.m4 too.
36395
36396 2009-01-12  Eric Blake  <ebb9@byu.net>
36397
36398         tests: IRIX 6.2 cc can't compile -0.0 into .data
36399         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
36400         rather than at compile-time.
36401         * tests/test-floorl.c (minus_zero): Likewise.
36402         * tests/test-frexpl.c (minus_zero): Likewise.
36403         * tests/test-isnan.c (minus_zerol): Likewise.
36404         * tests/test-isnanl.h (minus_zero): Likewise.
36405         * tests/test-ldexpl.c (minus_zero): Likewise.
36406         * tests/test-roundl.c (minus_zero): Likewise.
36407         * tests/test-signbit.c (minus_zerol): Likewise.
36408         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
36409         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
36410         * tests/test-truncl.c (minus_zero): Likewise.
36411         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
36412         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
36413         Reported by Tom G. Christensen and Nelson H. F. Beebe.
36414
36415 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
36416
36417         regex: fix glibc bug 9697
36418         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
36419         handling.
36420
36421 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
36422
36423         regex: fix glibc bug 697
36424         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
36425         being NULL also if there are no backreferences.
36426
36427 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
36428
36429         regex: merge glibc changes
36430         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
36431         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
36432         re_string_skip_chars, re_string_reconstruct): Likewise.
36433         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
36434
36435 2009-01-07  Jim Meyering  <meyering@redhat.com>
36436
36437         poll: filter through cppi
36438         * lib/poll.c: Indent cpp directives to reflect nesting.
36439
36440 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
36441
36442         poll: don't return uninitialized
36443         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
36444
36445 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
36446
36447         avoid compile failure on AIX 6.1
36448         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
36449         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
36450
36451 2009-01-04  Jim Meyering  <meyering@redhat.com>
36452
36453         remove duplicate inclusion of <stdio.h>
36454         * tests/test-fprintf-posix.c: Likewise.
36455         * tests/test-printf-posix.c: Likewise.
36456         * tests/test-snprintf-posix.c: Likewise.
36457         * tests/test-sprintf-posix.c: Likewise.
36458         * tests/test-vasprintf-posix.c: Likewise.
36459         * tests/test-vfprintf-posix.c: Likewise.
36460         * tests/test-vprintf-posix.c: Likewise.
36461         * tests/test-vsnprintf-posix.c: Likewise.
36462         * tests/test-vsprintf-posix.c: Likewise.
36463
36464 2009-01-03  Jim Meyering  <meyering@redhat.com>
36465
36466         gnulib-tool: fix sed-based filtering
36467         * gnulib-tool (func_filter_filelist): Remove extra backslash
36468         in sed_fff_filter definition.
36469
36470 2009-01-02  Jim Meyering  <meyering@redhat.com>
36471
36472         strftime: avoid compilation failure on Solaris 2.6
36473         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
36474         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
36475         Don't #define mbrlen or mbsinit, since now they're guaranteed to
36476         be available.  Reported by Tom G. Christensen.  Details in
36477         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
36478
36479 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36480             Bruno Haible  <bruno@clisp.org>
36481
36482         Speed up gnulib-tool by doing more string processing through shell
36483         built-ins.
36484         * gnulib-tool (fast_func_append): New variable.
36485         (func_remove_prefix, func_remove_suffix): New functions.
36486         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
36487         (func_filter_filelist): New function.
36488         (func_get_dependencies): Use func_remove_suffix instead of sed.
36489         (func_get_automake_snippet): Use func_filter_filelist instead of a
36490         subshell and sed invocation.
36491
36492 2009-01-01  Bruno Haible  <bruno@clisp.org>
36493
36494         Fix a security bug.
36495         * gnulib-tool (func_import, import, update): Don't allow the characters
36496         '"', '$', '`', '\' in macro arguments that become part of commands that
36497         are evaluated.
36498
36499 2009-01-01  Bruno Haible  <bruno@clisp.org>
36500
36501         * gnulib-tool (func_reset_sigpipe): Add more comments.
36502
36503 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36504
36505         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
36506         func_emit_tests_Makefile_am, func_import): Abort loops early if we
36507         already know the answer.
36508
36509 2009-01-01  Jim Meyering  <meyering@redhat.com>
36510
36511         * lib/version-etc.c (version_etc_va): Update copyright year.
36512
36513 2008-12-30  Bruno Haible  <bruno@clisp.org>
36514
36515         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
36516         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
36517         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
36518
36519 2008-12-29  Eric Blake  <ebb9@byu.net>
36520
36521         multiarch: avoid autoconf AC_REQUIRE bug
36522         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
36523         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
36524         2.63 and older.
36525         Reported by Bruno Haible, and analyzed in
36526         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
36527
36528 2008-12-29  Bruno Haible  <bruno@clisp.org>
36529
36530         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
36531         files in subdirectories correctly.
36532         Reported by Ralf Wildenhues.
36533
36534 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36535
36536         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
36537         rather than 'join FILE -', for Solaris join.
36538
36539 2008-12-29  Bruno Haible  <bruno@clisp.org>
36540
36541         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
36542         quoting.
36543         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
36544         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
36545         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
36546         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
36547         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
36548         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
36549         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
36550         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
36551         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
36552         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
36553         * m4/nls.m4 (AM_NLS): Likewise.
36554         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
36555         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
36556         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
36557         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
36558         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
36559         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
36560         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
36561         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
36562         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
36563         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
36564         * m4/xsize.m4 (gl_XSIZE): Likewise.
36565         Suggested by Jim Meyering.
36566
36567 2008-11-17  Bruce Korb  <bkorb@gnu.org>
36568
36569         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
36570         * lib/parse-duration.c: use a switch instead of cascading if's.
36571
36572 2008-12-29  Eric Blake  <ebb9@byu.net>
36573
36574         wchar.h: supply WEOF on Irix 5.3
36575         * lib/wchar.in.h (wint_t): Also supply WEOF.
36576         * lib/wctype.in.h (wint_t): Likewise.
36577         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
36578         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
36579         Reported by Tom G. Christensen.
36580
36581 2008-12-26  Bruno Haible  <bruno@clisp.org>
36582
36583         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
36584         i486, i586, i686.
36585
36586 2008-12-26  Bruno Haible  <bruno@clisp.org>
36587
36588         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
36589
36590 2008-12-26  Bruno Haible  <bruno@clisp.org>
36591
36592         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
36593         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
36594         not __STDC_CONSTANT_MACROS.
36595         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
36596
36597 2008-12-25  Bruno Haible  <bruno@clisp.org>
36598
36599         Add support for universal builds to vasnprintf.
36600         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
36601         universal builds, guess no.
36602         * modules/vasnprintf-posix (Depends-on): Add multiarch.
36603         * modules/vasprintf-posix (Depends-on): Likewise.
36604         * modules/fprintf-posix (Depends-on): Likewise.
36605         * modules/vfprintf-posix (Depends-on): Likewise.
36606         * modules/snprintf-posix (Depends-on): Likewise.
36607         * modules/vsnprintf-posix (Depends-on): Likewise.
36608         * modules/sprintf-posix (Depends-on): Likewise.
36609         * modules/vsprintf-posix (Depends-on): Likewise.
36610         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
36611         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
36612         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
36613         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
36614         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
36615         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
36616         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
36617
36618         Add support for universal builds to <inttypes.h>.
36619         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
36620         _SCNu64_PREFIX): In Apple
36621         universal builds, define directly, using _LP64.
36622         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
36623         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
36624         * modules/inttypes (Depends-on): Add multiarch.
36625         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
36626
36627         Add support for universal builds to <stdint.h>.
36628         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
36629         universal builds, define directly, using _LP64.
36630         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
36631         Apple universal builds, don't test for the size and suffix of ptrdiff_t
36632         and size_t.
36633         * modules/stdint (Depends-on): Add multiarch.
36634         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
36635
36636         New module 'multiarch'.
36637         * modules/multiarch: New file.
36638         * m4/multiarch.m4: New file.
36639
36640 2008-12-25  Bruno Haible  <bruno@clisp.org>
36641
36642         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
36643
36644 2008-12-25  Bruno Haible  <bruno@clisp.org>
36645
36646         * modules/btowc (License): Relicense under LGPLv2+.
36647         * modules/mbsinit (License): Likewise.
36648         * modules/mbrtowc (License): Likewise.
36649         * modules/wcrtomb (License): Likewise.
36650         * modules/streq (License): Likewise.
36651         Reported by David Lutterkort <lutter@redhat.com>.
36652
36653 2008-12-23  Bruno Haible  <bruno@clisp.org>
36654
36655         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
36656
36657 2008-12-23  Bruno Haible  <bruno@clisp.org>
36658
36659         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
36660         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
36661         GETADDRINFO_LIB, not in LIBS.
36662         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
36663         * modules/canon-host (Link): Likewise.
36664         * NEWS: Mention the change.
36665         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
36666         GETADDRINFO_LIB.
36667
36668 2008-12-22  Bruno Haible  <bruno@clisp.org>
36669
36670         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
36671         * doc/posix-functions/iswalpha_l.texi: Likewise.
36672         * doc/posix-functions/iswblank_l.texi: Likewise.
36673         * doc/posix-functions/iswcntrl_l.texi: Likewise.
36674         * doc/posix-functions/iswctype_l.texi: Likewise.
36675         * doc/posix-functions/iswdigit_l.texi: Likewise.
36676         * doc/posix-functions/iswgraph_l.texi: Likewise.
36677         * doc/posix-functions/iswlower_l.texi: Likewise.
36678         * doc/posix-functions/iswprint_l.texi: Likewise.
36679         * doc/posix-functions/iswpunct_l.texi: Likewise.
36680         * doc/posix-functions/iswspace_l.texi: Likewise.
36681         * doc/posix-functions/iswupper_l.texi: Likewise.
36682         * doc/posix-functions/iswxdigit_l.texi: Likewise.
36683         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
36684         * doc/posix-functions/open_wmemstream.texi: Likewise.
36685         * doc/posix-functions/swscanf.texi: Likewise.
36686         * doc/posix-functions/towctrans_l.texi: Likewise.
36687         * doc/posix-functions/towlower.texi: Likewise.
36688         * doc/posix-functions/towlower_l.texi: Likewise.
36689         * doc/posix-functions/towupper.texi: Likewise.
36690         * doc/posix-functions/towupper_l.texi: Likewise.
36691         * doc/posix-functions/vfwprintf.texi: Likewise.
36692         * doc/posix-functions/vfwscanf.texi: Likewise.
36693         * doc/posix-functions/vswscanf.texi: Likewise.
36694         * doc/posix-functions/vwprintf.texi: Likewise.
36695         * doc/posix-functions/vwscanf.texi: Likewise.
36696         * doc/posix-functions/wcpcpy.texi: Likewise.
36697         * doc/posix-functions/wcpncpy.texi: Likewise.
36698         * doc/posix-functions/wcscasecmp.texi: Likewise.
36699         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
36700         * doc/posix-functions/wcscoll_l.texi: Likewise.
36701         * doc/posix-functions/wcsdup.texi: Likewise.
36702         * doc/posix-functions/wcsncasecmp.texi: Likewise.
36703         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
36704         * doc/posix-functions/wcsnlen.texi: Likewise.
36705         * doc/posix-functions/wcsnrtombs.texi: Likewise.
36706         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
36707         * doc/posix-functions/wctrans_l.texi: Likewise.
36708         * doc/posix-functions/wctype_l.texi: Likewise.
36709         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
36710         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
36711         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
36712         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
36713         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
36714         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
36715         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
36716         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
36717         * doc/glibc-functions/wcschrnul.texi: Likewise.
36718         * doc/glibc-functions/wcsftime_l.texi: Likewise.
36719         * doc/glibc-functions/wcstod_l.texi: Likewise.
36720         * doc/glibc-functions/wcstof_l.texi: Likewise.
36721         * doc/glibc-functions/wcstol_l.texi: Likewise.
36722         * doc/glibc-functions/wcstold_l.texi: Likewise.
36723         * doc/glibc-functions/wcstoll_l.texi: Likewise.
36724         * doc/glibc-functions/wcstoq.texi: Likewise.
36725         * doc/glibc-functions/wcstoul_l.texi: Likewise.
36726         * doc/glibc-functions/wcstoull_l.texi: Likewise.
36727         * doc/glibc-functions/wcstouq.texi: Likewise.
36728         * doc/glibc-functions/wmempcpy.texi: Likewise.
36729
36730 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
36731             Eric Blake  <ebb9@byu.net>
36732             Paolo Bonzini  <bonzini@gnu.org>
36733             Bruno Haible  <bruno@clisp.org>
36734
36735         Make c-stack work on Haiku.
36736         * lib/c-stack.c (SA_ONSTACK): Define fallback.
36737         (c_stack_action): Use SA_ONSTACK flag.
36738
36739 2008-12-22  Bruno Haible  <bruno@clisp.org>
36740
36741         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
36742
36743 2008-12-22  Bruno Haible  <bruno@clisp.org>
36744
36745         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
36746         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
36747         being overridden.
36748         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
36749         New macros.
36750         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
36751         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
36752         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
36753         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
36754
36755 2008-12-22  Bruno Haible  <bruno@clisp.org>
36756
36757         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
36758         from test code.
36759
36760 2008-12-22  Eric Blake  <ebb9@byu.net>
36761
36762         Avoid gcc warnings on cygwin.
36763         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
36764         Avoid unused variable.
36765         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
36766         Likewise.
36767
36768 2008-12-22  Bruno Haible  <bruno@clisp.org>
36769
36770         Remove HAVE_MBRTOWC conditionals.
36771         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
36772         (mbscasecmp): Assume mbrtowc function.
36773         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
36774         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
36775         * lib/mbschr.c: Include mbuiter.h unconditionally.
36776         (mbschr): Assume mbrtowc function.
36777         * lib/mbscspn.c: Include mbuiter.h unconditionally.
36778         (mbscspn): Assume mbrtowc function.
36779         * lib/mbslen.c: Include mbuiter.h unconditionally.
36780         (mbslen): Assume mbrtowc function.
36781         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
36782         (mbsncasecmp): Assume mbrtowc function.
36783         * lib/mbsnlen.c: Include mbiter.h unconditionally.
36784         (mbsnlen): Assume mbrtowc function.
36785         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
36786         (mbspbrk): Assume mbrtowc function.
36787         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
36788         (mbspcasecmp): Assume mbrtowc function.
36789         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
36790         (mbsrchr): Assume mbrtowc function.
36791         * lib/mbssep.c: Include mbuiter.h unconditionally.
36792         (mbssep): Assume mbrtowc function.
36793         * lib/mbsspn.c: Include mbuiter.h unconditionally.
36794         (mbsspn): Assume mbrtowc function.
36795         * lib/mbsstr.c: Include mbuiter.h unconditionally.
36796         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
36797         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
36798         (mbstok_r): Assume mbrtowc function.
36799         * lib/propername.c: Include mbuiter.h unconditionally.
36800         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
36801         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
36802         (trim2): Assume mbrtowc function.
36803         * lib/mbswidth.c (mbsinit): Remove fallback definition.
36804         (mbsnwidth): Assume mbrtowc function.
36805         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
36806         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
36807         fallback definitions.
36808         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
36809
36810 2008-12-22  Bruno Haible  <bruno@clisp.org>
36811
36812         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
36813
36814 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
36815
36816         * modules/regex: Request emulations for the mb*/wc* functions we need.
36817         * m4/regex.m4: Don't look for those functions here.
36818         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
36819
36820 2008-12-22  Bruno Haible  <bruno@clisp.org>
36821
36822         * modules/fnmatch (Depends-on): Remove duplicated dependency.
36823
36824 2008-12-21  Bruno Haible  <bruno@clisp.org>
36825
36826         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
36827         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
36828         (Include): Remove conditionalization.
36829         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
36830         (Include): Remove conditionalization.
36831         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
36832         (Include): Remove conditionalization.
36833         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
36834         * m4/mbfile.m4 (gl_MBFILE): Likewise.
36835         * NEWS: Mention the change.
36836         Reported by Alan Hourihane <alanh@fairlite.co.uk>
36837         via Sergey Poznyakoff <gray@gnu.org.ua>.
36838
36839 2008-12-21  Bruno Haible  <bruno@clisp.org>
36840
36841         * MODULES.html.sh (Extended multibyte and wide character utilities
36842         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
36843         wcrtomb, wcsrtombs.
36844         (Support for systems lacking POSIX:2008): Add accept, bind, close,
36845         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
36846         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
36847         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
36848
36849 2008-12-21  Bruno Haible  <bruno@clisp.org>
36850
36851         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
36852
36853 2008-12-21  Bruno Haible  <bruno@clisp.org>
36854
36855         * modules/wcsnrtombs-tests: New file.
36856         * tests/test-wcsnrtombs1.sh: New file.
36857         * tests/test-wcsnrtombs2.sh: New file.
36858         * tests/test-wcsnrtombs3.sh: New file.
36859         * tests/test-wcsnrtombs4.sh: New file.
36860         * tests/test-wcsnrtombs.c: New file.
36861
36862         New module 'wcsnrtombs'.
36863         * lib/wchar.in.h (wcsnrtombs): New declaration.
36864         * lib/wcsnrtombs.c: New file.
36865         * lib/wcsrtombs-state.c: New file.
36866         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
36867         (internal_state): Remove variable.
36868         * m4/wcsnrtombs.m4: New file.
36869         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
36870         compilation units.
36871         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
36872         HAVE_WCSNRTOMBS.
36873         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
36874         HAVE_WCSNRTOMBS.
36875         * modules/wcsnrtombs: New file.
36876         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
36877         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
36878
36879 2008-12-21  Bruno Haible  <bruno@clisp.org>
36880
36881         * modules/wcsrtombs-tests: New file.
36882         * tests/test-wcsrtombs1.sh: New file.
36883         * tests/test-wcsrtombs2.sh: New file.
36884         * tests/test-wcsrtombs3.sh: New file.
36885         * tests/test-wcsrtombs4.sh: New file.
36886         * tests/test-wcsrtombs.c: New file.
36887
36888         New module 'wcsrtombs'.
36889         * lib/wchar.in.h (wcsrtombs): New declaration.
36890         * lib/wcsrtombs.c: New file.
36891         * m4/wcsrtombs.m4: New file.
36892         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
36893         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
36894         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
36895         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
36896         * modules/wcsrtombs: New file.
36897         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
36898         bugs.
36899
36900 2008-12-21  Bruno Haible  <bruno@clisp.org>
36901
36902         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
36903         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
36904         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
36905         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
36906         if not correct.
36907         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
36908         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
36909         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
36910         m4/locale-zh.m4, m4/codeset.m4.
36911         * doc/posix-functions/wcrtomb.texi: Document the bug.
36912
36913 2008-12-21  Bruno Haible  <bruno@clisp.org>
36914
36915         Work around a btowc() bug on IRIX 6.5.
36916         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
36917         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
36918         REPLACE_WTOBC if not.
36919         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
36920         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
36921         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
36922
36923 2008-12-21  Bruno Haible  <bruno@clisp.org>
36924
36925         * modules/wcrtomb-tests: New file.
36926         * tests/test-wcrtomb.sh: New file.
36927         * tests/test-wcrtomb.c: New file.
36928
36929         New module 'wcrtomb'.
36930         * lib/wchar.in.h (wcrtomb): New declaration.
36931         * lib/wcrtomb.c: New file.
36932         * m4/wcrtomb.m4: New file.
36933         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
36934         HAVE_WCRTOMB.
36935         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
36936         HAVE_WCRTOMB.
36937         * modules/wcrtomb: New file.
36938         * doc/posix-functions/wcrtomb.texi: Mention the new module.
36939
36940 2008-12-21  Bruno Haible  <bruno@clisp.org>
36941
36942         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
36943         * modules/mbsrtowcs (Files): Likewise.
36944         * modules/wctob (Files): Likewise.
36945         * modules/c-strcase-tests (Files): Likewise.
36946         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
36947         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
36948         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
36949         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
36950         * modules/vasnprintf-posix-tests (Files): Likewise.
36951
36952 2008-12-21  William Pursell  <bill.pursell@gmail.com>
36953
36954         gitlog-to-changelog: pass all command-line arguments to git-log
36955         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
36956         it is sometimes convenient to filter the commits in various ways.
36957         gitlog-to-changelog only allows --since to specify a start date,
36958         but git-log itself supports many other filtering mechanisms.
36959         At the moment, I want to filter by branch name.  Rather than
36960         adding a --branch option to gitlog-to-changelog, it seems more
36961         flexible to simply pass all options directly to git-log and let
36962         git do the work.  Notice that this effectively makes --since a
36963         redundant option for gitlog-to-changelog, but removing it would
36964         require current usage to change since calls would then require
36965         an additional '--'.
36966
36967 2008-12-21  Bruno Haible  <bruno@clisp.org>
36968
36969         * modules/mbsnrtowcs-tests: New file.
36970         * tests/test-mbsnrtowcs1.sh: New file.
36971         * tests/test-mbsnrtowcs2.sh: New file.
36972         * tests/test-mbsnrtowcs3.sh: New file.
36973         * tests/test-mbsnrtowcs4.sh: New file.
36974         * tests/test-mbsnrtowcs.c: New file.
36975
36976         New module 'mbsnrtowcs'.
36977         * lib/wchar.in.h (mbsnrtowcs): New declaration.
36978         * lib/mbsnrtowcs.c: New file.
36979         * lib/mbsrtowcs-state.c: New file.
36980         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
36981         (internal_state): Remove variable.
36982         * m4/mbsnrtowcs.m4: New file.
36983         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
36984         compilation units.
36985         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
36986         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
36987         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
36988         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
36989         * modules/mbsnrtowcs: New file.
36990         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
36991         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
36992         portability problem.
36993
36994 2008-12-21  Bruno Haible  <bruno@clisp.org>
36995
36996         Work around mbsrtowcs bug.
36997         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
36998         (gl_FUNC_MBSRTOWCS): Invoke it.
36999         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
37000         m4/locale-zh.m4.
37001         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
37002
37003 2008-12-21  Bruno Haible  <bruno@clisp.org>
37004
37005         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
37006
37007 2008-12-21  Bruno Haible  <bruno@clisp.org>
37008
37009         Update doc for AIX.
37010         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
37011         16-bit wchar_t type.
37012         * doc/posix-functions/btowc.texi: Likewise.
37013         * doc/posix-functions/fgetwc.texi: Likewise.
37014         * doc/posix-functions/fgetws.texi: Likewise.
37015         * doc/posix-functions/fputwc.texi: Likewise.
37016         * doc/posix-functions/fputws.texi: Likewise.
37017         * doc/posix-functions/fwide.texi: Likewise.
37018         * doc/posix-functions/fwprintf.texi: Likewise.
37019         * doc/posix-functions/fwscanf.texi: Likewise.
37020         * doc/posix-functions/getwchar.texi: Likewise.
37021         * doc/posix-functions/getwc.texi: Likewise.
37022         * doc/posix-functions/iswalnum.texi: Likewise.
37023         * doc/posix-functions/iswalpha.texi: Likewise.
37024         * doc/posix-functions/iswblank.texi: Likewise.
37025         * doc/posix-functions/iswcntrl.texi: Likewise.
37026         * doc/posix-functions/iswctype.texi: Likewise.
37027         * doc/posix-functions/iswdigit.texi: Likewise.
37028         * doc/posix-functions/iswgraph.texi: Likewise.
37029         * doc/posix-functions/iswlower.texi: Likewise.
37030         * doc/posix-functions/iswprint.texi: Likewise.
37031         * doc/posix-functions/iswpunct.texi: Likewise.
37032         * doc/posix-functions/iswspace.texi: Likewise.
37033         * doc/posix-functions/iswupper.texi: Likewise.
37034         * doc/posix-functions/iswxdigit.texi: Likewise.
37035         * doc/posix-functions/mbrtowc.texi: Likewise.
37036         * doc/posix-functions/mbsrtowcs.texi: Likewise.
37037         * doc/posix-functions/mbstowcs.texi: Likewise.
37038         * doc/posix-functions/mbtowc.texi: Likewise.
37039         * doc/posix-functions/putwchar.texi: Likewise.
37040         * doc/posix-functions/putwc.texi: Likewise.
37041         * doc/posix-functions/swprintf.texi: Likewise.
37042         * doc/posix-functions/tolower.texi: Likewise.
37043         * doc/posix-functions/toupper.texi: Likewise.
37044         * doc/posix-functions/towctrans.texi: Likewise.
37045         * doc/posix-functions/ungetwc.texi: Likewise.
37046         * doc/posix-functions/vswprintf.texi: Likewise.
37047         * doc/posix-functions/wcrtomb.texi: Likewise.
37048         * doc/posix-functions/wcscat.texi: Likewise.
37049         * doc/posix-functions/wcschr.texi: Likewise.
37050         * doc/posix-functions/wcscmp.texi: Likewise.
37051         * doc/posix-functions/wcscoll.texi: Likewise.
37052         * doc/posix-functions/wcscpy.texi: Likewise.
37053         * doc/posix-functions/wcscspn.texi: Likewise.
37054         * doc/posix-functions/wcsftime.texi: Likewise.
37055         * doc/posix-functions/wcslen.texi: Likewise.
37056         * doc/posix-functions/wcsncat.texi: Likewise.
37057         * doc/posix-functions/wcsncmp.texi: Likewise.
37058         * doc/posix-functions/wcsncpy.texi: Likewise.
37059         * doc/posix-functions/wcspbrk.texi: Likewise.
37060         * doc/posix-functions/wcsrchr.texi: Likewise.
37061         * doc/posix-functions/wcsrtombs.texi: Likewise.
37062         * doc/posix-functions/wcsspn.texi: Likewise.
37063         * doc/posix-functions/wcsstr.texi: Likewise.
37064         * doc/posix-functions/wcstod.texi: Likewise.
37065         * doc/posix-functions/wcstof.texi: Likewise.
37066         * doc/posix-functions/wcstoimax.texi: Likewise.
37067         * doc/posix-functions/wcstok.texi: Likewise.
37068         * doc/posix-functions/wcstold.texi: Likewise.
37069         * doc/posix-functions/wcstoll.texi: Likewise.
37070         * doc/posix-functions/wcstol.texi: Likewise.
37071         * doc/posix-functions/wcstombs.texi: Likewise.
37072         * doc/posix-functions/wcstoull.texi: Likewise.
37073         * doc/posix-functions/wcstoul.texi: Likewise.
37074         * doc/posix-functions/wcstoumax.texi: Likewise.
37075         * doc/posix-functions/wcswidth.texi: Likewise.
37076         * doc/posix-functions/wcsxfrm.texi: Likewise.
37077         * doc/posix-functions/wctob.texi: Likewise.
37078         * doc/posix-functions/wctomb.texi: Likewise.
37079         * doc/posix-functions/wctrans.texi: Likewise.
37080         * doc/posix-functions/wctype.texi: Likewise.
37081         * doc/posix-functions/wcwidth.texi: Likewise.
37082         * doc/posix-functions/wmemchr.texi: Likewise.
37083         * doc/posix-functions/wmemcmp.texi: Likewise.
37084         * doc/posix-functions/wmemcpy.texi: Likewise.
37085         * doc/posix-functions/wmemmove.texi: Likewise.
37086         * doc/posix-functions/wmemset.texi: Likewise.
37087         * doc/posix-functions/wprintf.texi: Likewise.
37088         * doc/posix-functions/wscanf.texi: Likewise.
37089
37090 2008-12-21  Bruno Haible  <bruno@clisp.org>
37091
37092         Update doc for HP-UX 11.11.
37093         * doc/posix-functions/btowc.texi: Clarify that the function is missing
37094         in HP-UX version 11.00, not in all versions of HP-UX 11.
37095         * doc/posix-functions/fwide.texi: Likewise.
37096         * doc/posix-functions/fwprintf.texi: Likewise.
37097         * doc/posix-functions/fwscanf.texi: Likewise.
37098         * doc/posix-functions/inet_ntop.texi: Likewise.
37099         * doc/posix-functions/inet_pton.texi: Likewise.
37100         * doc/posix-functions/mbrlen.texi: Likewise.
37101         * doc/posix-functions/mbrtowc.texi: Likewise.
37102         * doc/posix-functions/mbsinit.texi: Likewise.
37103         * doc/posix-functions/mbsrtowcs.texi: Likewise.
37104         * doc/posix-functions/swprintf.texi: Likewise.
37105         * doc/posix-functions/swscanf.texi: Likewise.
37106         * doc/posix-functions/towctrans.texi: Likewise.
37107         * doc/posix-functions/vfwprintf.texi: Likewise.
37108         * doc/posix-functions/vswprintf.texi: Likewise.
37109         * doc/posix-functions/vwprintf.texi: Likewise.
37110         * doc/posix-functions/wcrtomb.texi: Likewise.
37111         * doc/posix-functions/wcsrtombs.texi: Likewise.
37112         * doc/posix-functions/wcsstr.texi: Likewise.
37113         * doc/posix-functions/wctob.texi: Likewise.
37114         * doc/posix-functions/wctrans.texi: Likewise.
37115         * doc/posix-functions/wmemchr.texi: Likewise.
37116         * doc/posix-functions/wmemcmp.texi: Likewise.
37117         * doc/posix-functions/wmemcpy.texi: Likewise.
37118         * doc/posix-functions/wmemmove.texi: Likewise.
37119         * doc/posix-functions/wmemset.texi: Likewise.
37120         * doc/posix-functions/wprintf.texi: Likewise.
37121         * doc/posix-functions/wscanf.texi: Likewise.
37122
37123 2008-12-21  Bruno Haible  <bruno@clisp.org>
37124
37125         Work around a portability problem.
37126         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
37127         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
37128
37129 2008-12-20  Bruno Haible  <bruno@clisp.org>
37130
37131         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
37132         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
37133         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
37134         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
37135         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
37136
37137         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
37138         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
37139         set.
37140         (GNULIB_defined_mbstate_t): New macro.
37141         (mbsinit): Redefine if REPLACE_MBSINIT is set.
37142         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
37143         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
37144         reuses the system's mbrtowc function but works around the bugs.
37145         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
37146         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
37147         macros.
37148         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
37149         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
37150         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
37151         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
37152         REPLACE_MBSINIT if mbsinit needs to be overridden.
37153         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
37154         REPLACE_MBSINIT, REPLACE_MBRTOWC.
37155         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
37156         REPLACE_MBSINIT, REPLACE_MBRTOWC.
37157         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
37158         m4/locale-zh.m4.
37159         (Depends): Add mbsinit.
37160         * modules/mbsinit (Depends): Add mbrtowc.
37161         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
37162
37163 2008-12-20  Bruno Haible  <bruno@clisp.org>
37164
37165         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
37166         so that there are no conversion errors on AIX.
37167         * tests/test-mbsrtowcs.c (main): LIkewise.
37168
37169 2008-12-20  Bruno Haible  <bruno@clisp.org>
37170
37171         Work around wctob bug on Solaris <= 9.
37172         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
37173         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
37174         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
37175         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
37176         * modules/wctob (Files): Add m4/locale-fr.m4.
37177         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
37178
37179 2008-12-20  Bruno Haible  <bruno@clisp.org>
37180
37181         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
37182         /dev/null.
37183         * tests/test-select-in.sh: Likewise.
37184         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
37185
37186 2008-12-20  Bruno Haible  <bruno@clisp.org>
37187
37188         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
37189         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
37190         Cygwin 1.5.x.
37191
37192 2008-12-20  Bruno Haible  <bruno@clisp.org>
37193
37194         Ensure mbstate_t is defined on HP-UX 11.11.
37195         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
37196         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
37197         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
37198         AC_USE_SYSTEM_EXTENSIONS.
37199         * modules/fnmatch (Depends-on): Add extensions.
37200         * modules/mbrlen (Depends-on): Likewise.
37201         * modules/mbrtowc (Depends-on): Likewise.
37202         * modules/mbsinit (Depends-on): Likewise.
37203         * modules/mbsrtowcs (Depends-on): Likewise.
37204         * modules/mbswidth (Depends-on): Likewise.
37205         * modules/quotearg (Depends-on): Likewise.
37206         * modules/strftime (Depends-on): Likewise.
37207
37208 2008-12-20  Bruno Haible  <bruno@clisp.org>
37209
37210         Ensure wctob is declared on IRIX 6.5.
37211         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
37212         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
37213         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
37214         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
37215         of HAVE_WCTOB.
37216         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
37217         HAVE_WCTOB.
37218         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
37219
37220 2008-12-19  Bruno Haible  <bruno@clisp.org>
37221
37222         * modules/mbsrtowcs-tests: New file.
37223         * tests/test-mbsrtowcs1.sh: New file.
37224         * tests/test-mbsrtowcs2.sh: New file.
37225         * tests/test-mbsrtowcs3.sh: New file.
37226         * tests/test-mbsrtowcs4.sh: New file.
37227         * tests/test-mbsrtowcs.c: New file.
37228
37229         New module 'mbsrtowcs'.
37230         * lib/wchar.in.h (mbsrtowcs): New declaration.
37231         * lib/mbsrtowcs.c: New file.
37232         * m4/mbsrtowcs.m4: New file.
37233         * modules/mbsrtowcs: New file.
37234         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
37235         HAVE_MBSRTOWCS.
37236         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
37237         HAVE_MBSRTOWCS.
37238         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
37239
37240 2008-12-19  Bruno Haible  <bruno@clisp.org>
37241
37242         New module 'mbrlen'.
37243         * lib/wchar.in.h (mbrlen): New declaration.
37244         * lib/mbrlen.c: New file.
37245         * m4/mbrlen.m4: New file.
37246         * modules/mbrlen: New file.
37247         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
37248         HAVE_MBRLEN.
37249         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
37250         HAVE_MBRLEN.
37251         * doc/posix-functions/mbrlen.texi: Document the new module.
37252
37253 2008-12-19  Bruno Haible  <bruno@clisp.org>
37254
37255         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
37256         * modules/mbrtowc (Depends-on): Add verify.
37257         Suggested by Paul Eggert.
37258
37259 2008-12-18  Bruno Haible  <bruno@clisp.org>
37260
37261         * modules/mbsinit-tests: New file.
37262         * tests/test-mbsinit.sh: New file.
37263         * tests/test-mbsinit.c: New file.
37264
37265 2008-12-18  Bruno Haible  <bruno@clisp.org>
37266
37267         * modules/mbrtowc-tests: New file.
37268         * tests/test-mbrtowc1.sh: New file.
37269         * tests/test-mbrtowc2.sh: New file.
37270         * tests/test-mbrtowc3.sh: New file.
37271         * tests/test-mbrtowc4.sh: New file.
37272         * tests/test-mbrtowc.c: New file.
37273
37274         New module 'mbrtowc'.
37275         * lib/wchar.in.h (mbstate_t): Override when the system does not have
37276         mbsinit and mbrtowc.
37277         (mbrtowc): New declaration.
37278         * lib/mbrtowc.c: New file.
37279         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
37280         * modules/mbrtowc: New file.
37281         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
37282         HAVE_MBRTOWC.
37283         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
37284         HAVE_MBRTOWC.
37285         * doc/posix-functions/mbrtowc.texi: Document the new module.
37286
37287 2008-12-18  Bruno Haible  <bruno@clisp.org>
37288
37289         New module 'wctob'.
37290         * lib/wchar.in.h (wctob): New declaration.
37291         * lib/wctob.c: New file.
37292         * m4/wctob.m4: New file.
37293         * modules/wctob: New file.
37294         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
37295         HAVE_WCTOB.
37296         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
37297         * doc/posix-functions/wctob.texi: Document the new module.
37298
37299 2008-12-18  Bruno Haible  <bruno@clisp.org>
37300
37301         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
37302         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
37303
37304 2008-12-18  Simon Josefsson  <simon@josefsson.org>
37305
37306         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
37307         G. Christensen" <tgc@jupiterrise.com>.
37308
37309         * lib/flock.c: Need to include errno.h.  Reported by "Tom
37310         G. Christensen" <tgc@jupiterrise.com>.
37311
37312         * lib/flock.c: Need to include string.h.  Reported by "Tom
37313         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
37314         <ebb9@byu.net>.
37315
37316 2008-12-18  Bruno Haible  <bruno@clisp.org>
37317
37318         * m4/locale-ja.m4: New file, from GNU gettext.
37319
37320 2008-12-17  Bruno Haible  <bruno@clisp.org>
37321
37322         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
37323         Suggested by Eric Blake.
37324
37325 2008-12-17  Bruno Haible  <bruno@clisp.org>
37326
37327         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
37328
37329 2008-12-17  Bruno Haible  <bruno@clisp.org>
37330
37331         * lib/mbsinit.c: Include verify.h. Verify an assumption.
37332         * modules/mbsinit (Depends-on): Add verify.
37333         Suggested by Paul Eggert.
37334
37335 2008-12-17  Bruno Haible  <bruno@clisp.org>
37336
37337         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
37338         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
37339         gl_FUNC_MBRTOWC.
37340         * m4/mbiter.m4 (gl_MBITER): LIkewise.
37341         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
37342         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
37343         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
37344         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
37345         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
37346         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
37347         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
37348         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
37349         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
37350         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
37351         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
37352         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
37353         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
37354         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
37355         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
37356         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
37357         * modules/trim (configure.ac): Likewise.
37358
37359 2008-12-17  Bruno Haible  <bruno@clisp.org>
37360
37361         * modules/btowc-tests: New file.
37362         * tests/test-btowc1.sh: New file.
37363         * tests/test-btowc2.sh: New file.
37364         * tests/test-btowc.c: New file.
37365
37366         New module 'btowc'.
37367         * lib/wchar.in.h (btowc): New declaration.
37368         * lib/btowc.c: New file.
37369         * m4/btowc.m4: New file.
37370         * modules/btowc: New file.
37371         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
37372         HAVE_BTOWC.
37373         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
37374         * doc/posix-functions/btowc.texi: Document the new module.
37375
37376 2008-12-17  Bruno Haible  <bruno@clisp.org>
37377
37378         New module 'mbsinit'.
37379         * lib/wchar.in.h (mbsinit): New declaration.
37380         * lib/mbsinit.c: New file.
37381         * m4/mbsinit.m4: New file.
37382         * modules/mbsinit: New file.
37383         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
37384         HAVE_MBSINIT.
37385         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
37386         HAVE_MBSINIT.
37387         * doc/posix-functions/mbsinit.texi: Document the new module.
37388
37389 2008-12-16  Bruno Haible  <bruno@clisp.org>
37390
37391         * lib/unistd.in.h: Add comment.
37392         * tests/test-environ.c: Don't include <stdlib.h>.
37393
37394 2008-12-16  Bruno Haible  <bruno@clisp.org>
37395
37396         * lib/parse-duration.h (parse_duration): Document return value
37397         convention.
37398         * lib/parse-duration.c: Include specification header first. Add
37399         comments.
37400         (_): Remove macro.
37401         (parse_year_month_day, parse_hour_minute_second): Move side effects
37402         outside of strchr call.
37403         (parse_non_iso8601): Move side effects outside of isspace call.
37404         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
37405         call.
37406
37407 2008-12-16  Bruno Haible  <bruno@clisp.org>
37408
37409         * tests/test-parse-duration.sh: Produce no output when the test
37410         succeeds.
37411
37412 2008-12-16  Bruno Haible  <bruno@clisp.org>
37413
37414         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
37415         expressions.
37416
37417 2008-12-15  Bruno Haible  <bruno@clisp.org>
37418
37419         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
37420         * doc/glibc-functions/flistxattr.texi: Likewise.
37421         * doc/glibc-functions/fopencookie.texi: Likewise.
37422         * doc/glibc-functions/fremovexattr.texi: Likewise.
37423         * doc/glibc-functions/fsetxattr.texi: Likewise.
37424         * doc/glibc-functions/getxattr.texi: Likewise.
37425         * doc/glibc-functions/lgetxattr.texi: Likewise.
37426         * doc/glibc-functions/listxattr.texi: Likewise.
37427         * doc/glibc-functions/llistxattr.texi: Likewise.
37428         * doc/glibc-functions/lremovexattr.texi: Likewise.
37429         * doc/glibc-functions/lsetxattr.texi: Likewise.
37430         * doc/glibc-functions/removexattr.texi: Likewise.
37431         * doc/glibc-functions/setxattr.texi: Likewise.
37432         * doc/posix-functions/open_memstream.texi: Likewise.
37433
37434 2008-12-15  Eric Blake  <ebb9@byu.net>
37435
37436         Update doc for cygwin 1.7.
37437         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
37438         functions.
37439         * doc/posix-functions/fchmodat.texi: Likewise.
37440         * doc/posix-functions/fchownat.texi: Likewise.
37441         * doc/posix-functions/fdopendir.texi: Likewise.
37442         * doc/posix-functions/fmemopen.texi: Likewise.
37443         * doc/posix-functions/freeaddrinfo.texi: Likewise.
37444         * doc/posix-functions/fstatat.texi: Likewise.
37445         * doc/posix-functions/futimens.texi: Likewise.
37446         * doc/posix-functions/gai_strerror.texi: Likewise.
37447         * doc/posix-functions/getaddrinfo.texi: Likewise.
37448         * doc/posix-functions/getnameinfo.texi: Likewise.
37449         * doc/posix-functions/if_freenameindex.texi: Likewise.
37450         * doc/posix-functions/if_indextoname.texi: Likewise.
37451         * doc/posix-functions/if_nameindex.texi: Likewise.
37452         * doc/posix-functions/if_nametoindex.texi: Likewise.
37453         * doc/posix-functions/insque.texi: Likewise.
37454         * doc/posix-functions/linkat.texi: Likewise.
37455         * doc/posix-functions/llrint.texi: Likewise.
37456         * doc/posix-functions/llrintf.texi: Likewise.
37457         * doc/posix-functions/llrintl.texi: Likewise.
37458         * doc/posix-functions/lockf.texi: Likewise.
37459         * doc/posix-functions/lrintl.texi: Likewise.
37460         * doc/posix-functions/mkdirat.texi: Likewise.
37461         * doc/posix-functions/mkfifoat.texi: Likewise.
37462         * doc/posix-functions/mknodat.texi: Likewise.
37463         * doc/posix-functions/mq_close.texi: Likewise.
37464         * doc/posix-functions/mq_getattr.texi: Likewise.
37465         * doc/posix-functions/mq_notify.texi: Likewise.
37466         * doc/posix-functions/mq_open.texi: Likewise.
37467         * doc/posix-functions/mq_receive.texi: Likewise.
37468         * doc/posix-functions/mq_send.texi: Likewise.
37469         * doc/posix-functions/mq_setattr.texi: Likewise.
37470         * doc/posix-functions/mq_timedreceive.texi: Likewise.
37471         * doc/posix-functions/mq_timedsend.texi: Likewise.
37472         * doc/posix-functions/mq_unlink.texi: Likewise.
37473         * doc/posix-functions/open_memstream.texi: Likewise.
37474         * doc/posix-functions/openat.texi: Likewise.
37475         * doc/posix-functions/posix_fadvise.texi: Likewise.
37476         * doc/posix-functions/posix_fallocate.texi: Likewise.
37477         * doc/posix-functions/posix_madvise.texi: Likewise.
37478         * doc/posix-functions/posix_memalign.texi: Likewise.
37479         * doc/posix-functions/posix_openpt.texi: Likewise.
37480         * doc/posix-functions/readlinkat.texi: Likewise.
37481         * doc/posix-functions/remque.texi: Likewise.
37482         * doc/posix-functions/renameat.texi: Likewise.
37483         * doc/posix-functions/rintl.texi: Likewise.
37484         * doc/posix-functions/sem_unlink.texi: Likewise.
37485         * doc/posix-functions/shm_open.texi: Likewise.
37486         * doc/posix-functions/shm_unlink.texi: Likewise.
37487         * doc/posix-functions/signgam.texi: Likewise.
37488         * doc/posix-functions/sigset.texi: Likewise.
37489         * doc/posix-functions/stpcpy.texi: Likewise.
37490         * doc/posix-functions/stpncpy.texi: Likewise.
37491         * doc/posix-functions/strerror.texi: Likewise.
37492         * doc/posix-functions/strtod.texi: Likewise.
37493         * doc/posix-functions/symlinkat.texi: Likewise.
37494         * doc/posix-functions/unlinkat.texi: Likewise.
37495         * doc/posix-functions/utimensat.texi: Likewise.
37496         * doc/glibc-functions/bindresvport.texi: Likewise.
37497         * doc/glibc-functions/dn_expand.texi: Likewise.
37498         * doc/glibc-functions/exp10.texi: Likewise.
37499         * doc/glibc-functions/exp10f.texi: Likewise.
37500         * doc/glibc-functions/fgetxattr.texi: Likewise.
37501         * doc/glibc-functions/flistxattr.texi: Likewise.
37502         * doc/glibc-functions/fopencookie.texi: Likewise.
37503         * doc/glibc-functions/freeifaddrs.texi: Likewise.
37504         * doc/glibc-functions/fremovexattr.texi: Likewise.
37505         * doc/glibc-functions/fsetxattr.texi: Likewise.
37506         * doc/glibc-functions/getifaddrs.texi: Likewise.
37507         * doc/glibc-functions/getxattr.texi: Likewise.
37508         * doc/glibc-functions/lgetxattr.texi: Likewise.
37509         * doc/glibc-functions/listxattr.texi: Likewise.
37510         * doc/glibc-functions/llistxattr.texi: Likewise.
37511         * doc/glibc-functions/lremovexattr.texi: Likewise.
37512         * doc/glibc-functions/lsetxattr.texi: Likewise.
37513         * doc/glibc-functions/pow10.texi: Likewise.
37514         * doc/glibc-functions/pow10f.texi: Likewise.
37515         * doc/glibc-functions/rcmd_af.texi: Likewise.
37516         * doc/glibc-functions/removexattr.texi: Likewise.
37517         * doc/glibc-functions/res_init.texi: Likewise.
37518         * doc/glibc-functions/res_mkquery.texi: Likewise.
37519         * doc/glibc-functions/res_query.texi: Likewise.
37520         * doc/glibc-functions/res_querydomain.texi: Likewise.
37521         * doc/glibc-functions/res_send.texi: Likewise.
37522         * doc/glibc-functions/rresvport_af.texi: Likewise.
37523         * doc/glibc-functions/setxattr.texi: Likewise.
37524         * doc/glibc-functions/strcasestr.texi: Likewise.
37525
37526 2008-12-15  Bruno Haible  <bruno@clisp.org>
37527
37528         Fix compilation error on OSF/1 4.0.
37529         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
37530         <sys/time.h>, simply delegate to the system header.
37531         Reported by Daniel Richard G. <oss@teragram.com>.
37532
37533 2008-12-15  Bruno Haible  <bruno@clisp.org>
37534
37535         * doc/posix-functions/openat.texi: Mention the 'openat' module.
37536         * doc/posix-functions/fchmodat.texi: Likewise.
37537         * doc/posix-functions/fchownat.texi: Likewise.
37538         * doc/posix-functions/fdopendir.texi: Likewise.
37539         * doc/posix-functions/fstatat.texi: Likewise.
37540         * doc/posix-functions/mkdirat.texi: Likewise.
37541         * doc/posix-functions/unlinkat.texi: Likewise.
37542
37543 2008-12-14  Bruno Haible  <bruno@clisp.org>
37544
37545         Update doc for POSIX:2008.
37546         * doc/posix-functions/faccessat.texi: New file.
37547         * doc/posix-functions/fchmodat.texi: New file.
37548         * doc/posix-functions/fchownat.texi: New file.
37549         * doc/posix-functions/fdopendir.texi: New file.
37550         * doc/posix-functions/fstatat.texi: New file.
37551         * doc/posix-functions/futimens.texi: New file.
37552         * doc/posix-functions/linkat.texi: New file.
37553         * doc/posix-functions/mkdirat.texi: New file.
37554         * doc/posix-functions/mkfifoat.texi: New file.
37555         * doc/posix-functions/mknodat.texi: New file.
37556         * doc/posix-functions/open_wmemstream.texi: New file.
37557         * doc/posix-functions/openat.texi: New file.
37558         * doc/posix-functions/psiginfo.texi: New file.
37559         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
37560         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
37561         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
37562         * doc/posix-functions/readlinkat.texi: New file.
37563         * doc/posix-functions/renameat.texi: New file.
37564         * doc/posix-functions/strerror_l.texi: New file.
37565         * doc/posix-functions/symlinkat.texi: New file.
37566         * doc/posix-functions/unlinkat.texi: New file.
37567         * doc/posix-functions/utimensat.texi: New file.
37568         * doc/gnulib.texi (Function Substitutes): Add these subsections.
37569
37570 2008-12-14  Bruno Haible  <bruno@clisp.org>
37571
37572         Update doc for POSIX:2008.
37573         * doc/posix-functions/alphasort.texi: Renamed from
37574         doc/glibc-functions/alphasort.texi.
37575         * doc/posix-functions/dirfd.texi: Renamed from
37576         doc/glibc-functions/dirfd.texi.
37577         * doc/posix-functions/dprintf.texi: Renamed from
37578         doc/glibc-functions/dprintf.texi.
37579         * doc/posix-functions/duplocale.texi: Renamed from
37580         doc/glibc-functions/duplocale.texi.
37581         * doc/posix-functions/fexecve.texi: Renamed from
37582         doc/glibc-functions/fexecve.texi.
37583         * doc/posix-functions/fmemopen.texi: Renamed from
37584         doc/glibc-functions/fmemopen.texi.
37585         * doc/posix-functions/freelocale.texi: Renamed from
37586         doc/glibc-functions/freelocale.texi.
37587         * doc/posix-functions/getdate_err.texi: Renamed from
37588         doc/glibc-functions/getdate_err.texi.
37589         * doc/posix-functions/isalnum_l.texi: Renamed from
37590         doc/glibc-functions/isalnum_l.texi.
37591         * doc/posix-functions/isalpha_l.texi: Renamed from
37592         doc/glibc-functions/isalpha_l.texi.
37593         * doc/posix-functions/isblank_l.texi: Renamed from
37594         doc/glibc-functions/isblank_l.texi.
37595         * doc/posix-functions/iscntrl_l.texi: Renamed from
37596         doc/glibc-functions/iscntrl_l.texi.
37597         * doc/posix-functions/isdigit_l.texi: Renamed from
37598         doc/glibc-functions/isdigit_l.texi.
37599         * doc/posix-functions/isgraph_l.texi: Renamed from
37600         doc/glibc-functions/isgraph_l.texi.
37601         * doc/posix-functions/islower_l.texi: Renamed from
37602         doc/glibc-functions/islower_l.texi.
37603         * doc/posix-functions/isprint_l.texi: Renamed from
37604         doc/glibc-functions/isprint_l.texi.
37605         * doc/posix-functions/ispunct_l.texi: Renamed from
37606         doc/glibc-functions/ispunct_l.texi.
37607         * doc/posix-functions/isspace_l.texi: Renamed from
37608         doc/glibc-functions/isspace_l.texi.
37609         * doc/posix-functions/isupper_l.texi: Renamed from
37610         doc/glibc-functions/isupper_l.texi.
37611         * doc/posix-functions/iswalnum_l.texi: Renamed from
37612         doc/glibc-functions/iswalnum_l.texi.
37613         * doc/posix-functions/iswalpha_l.texi: Renamed from
37614         doc/glibc-functions/iswalpha_l.texi.
37615         * doc/posix-functions/iswblank_l.texi: Renamed from
37616         doc/glibc-functions/iswblank_l.texi.
37617         * doc/posix-functions/iswcntrl_l.texi: Renamed from
37618         doc/glibc-functions/iswcntrl_l.texi.
37619         * doc/posix-functions/iswctype_l.texi: Renamed from
37620         doc/glibc-functions/iswctype_l.texi.
37621         * doc/posix-functions/iswdigit_l.texi: Renamed from
37622         doc/glibc-functions/iswdigit_l.texi.
37623         * doc/posix-functions/iswgraph_l.texi: Renamed from
37624         doc/glibc-functions/iswgraph_l.texi.
37625         * doc/posix-functions/iswlower_l.texi: Renamed from
37626         doc/glibc-functions/iswlower_l.texi.
37627         * doc/posix-functions/iswprint_l.texi: Renamed from
37628         doc/glibc-functions/iswprint_l.texi.
37629         * doc/posix-functions/iswpunct_l.texi: Renamed from
37630         doc/glibc-functions/iswpunct_l.texi.
37631         * doc/posix-functions/iswspace_l.texi: Renamed from
37632         doc/glibc-functions/iswspace_l.texi.
37633         * doc/posix-functions/iswupper_l.texi: Renamed from
37634         doc/glibc-functions/iswupper_l.texi.
37635         * doc/posix-functions/iswxdigit_l.texi: Renamed from
37636         doc/glibc-functions/iswxdigit_l.texi.
37637         * doc/posix-functions/isxdigit_l.texi: Renamed from
37638         doc/glibc-functions/isxdigit_l.texi.
37639         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
37640         doc/glibc-functions/mbsnrtowcs.texi.
37641         * doc/posix-functions/mkdtemp.texi: Renamed from
37642         doc/glibc-functions/mkdtemp.texi.
37643         * doc/posix-functions/newlocale.texi: Renamed from
37644         doc/glibc-functions/newlocale.texi.
37645         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
37646         doc/glibc-functions/nl_langinfo_l.texi.
37647         * doc/posix-functions/open_memstream.texi: Renamed from
37648         doc/glibc-functions/open_memstream.texi.
37649         * doc/posix-functions/opterr.texi: Renamed from
37650         doc/glibc-functions/opterr.texi.
37651         * doc/posix-functions/optind.texi: Renamed from
37652         doc/glibc-functions/optind.texi.
37653         * doc/posix-functions/optopt.texi: Renamed from
37654         doc/glibc-functions/optopt.texi.
37655         * doc/posix-functions/psignal.texi: Renamed from
37656         doc/glibc-functions/psignal.texi.
37657         * doc/posix-functions/scandir.texi: Renamed from
37658         doc/glibc-functions/scandir.texi.
37659         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
37660         doc/glibc-functions/sched_get_priority_min.texi.
37661         * doc/posix-functions/signgam.texi: Renamed from
37662         doc/glibc-functions/signgam.texi.
37663         * doc/posix-functions/stpcpy.texi: Renamed from
37664         doc/glibc-functions/stpcpy.texi.
37665         * doc/posix-functions/stpncpy.texi: Renamed from
37666         doc/glibc-functions/stpncpy.texi.
37667         * doc/posix-functions/strcasecmp_l.texi: Renamed from
37668         doc/glibc-functions/strcasecmp_l.texi.
37669         * doc/posix-functions/strcoll_l.texi: Renamed from
37670         doc/glibc-functions/strcoll_l.texi.
37671         * doc/posix-functions/strfmon_l.texi: Renamed from
37672         doc/glibc-functions/strfmon_l.texi.
37673         * doc/posix-functions/strftime_l.texi: Renamed from
37674         doc/glibc-functions/strftime_l.texi.
37675         * doc/posix-functions/strncasecmp_l.texi: Renamed from
37676         doc/glibc-functions/strncasecmp_l.texi.
37677         * doc/posix-functions/strndup.texi: Renamed from
37678         doc/glibc-functions/strndup.texi.
37679         * doc/posix-functions/strnlen.texi: Renamed from
37680         doc/glibc-functions/strnlen.texi.
37681         * doc/posix-functions/strsignal.texi: Renamed from
37682         doc/glibc-functions/strsignal.texi.
37683         * doc/posix-functions/strxfrm_l.texi: Renamed from
37684         doc/glibc-functions/strxfrm_l.texi.
37685         * doc/posix-functions/timer_gettime.texi: Renamed from
37686         doc/glibc-functions/timer_gettime.texi.
37687         * doc/posix-functions/tolower_l.texi: Renamed from
37688         doc/glibc-functions/tolower_l.texi.
37689         * doc/posix-functions/toupper_l.texi: Renamed from
37690         doc/glibc-functions/toupper_l.texi.
37691         * doc/posix-functions/towctrans_l.texi: Renamed from
37692         doc/glibc-functions/towctrans_l.texi.
37693         * doc/posix-functions/towlower_l.texi: Renamed from
37694         doc/glibc-functions/towlower_l.texi.
37695         * doc/posix-functions/towupper_l.texi: Renamed from
37696         doc/glibc-functions/towupper_l.texi.
37697         * doc/posix-functions/uselocale.texi: Renamed from
37698         doc/glibc-functions/uselocale.texi.
37699         * doc/posix-functions/vdprintf.texi: Renamed from
37700         doc/glibc-functions/vdprintf.texi.
37701         * doc/posix-functions/wcpcpy.texi:
37702         Renamed from doc/glibc-functions/wcpcpy.texi.
37703         * doc/posix-functions/wcpncpy.texi: Renamed from
37704         doc/glibc-functions/wcpncpy.texi.
37705         * doc/posix-functions/wcscasecmp.texi: Renamed from
37706         doc/glibc-functions/wcscasecmp.texi.
37707         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
37708         doc/glibc-functions/wcscasecmp_l.texi.
37709         * doc/posix-functions/wcscoll_l.texi: Renamed from
37710         doc/glibc-functions/wcscoll_l.texi.
37711         * doc/posix-functions/wcsdup.texi: Renamed from
37712         doc/glibc-functions/wcsdup.texi.
37713         * doc/posix-functions/wcsncasecmp.texi: Renamed from
37714         doc/glibc-functions/wcsncasecmp.texi.
37715         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
37716         doc/glibc-functions/wcsncasecmp_l.texi.
37717         * doc/posix-functions/wcsnlen.texi: Renamed from
37718         doc/glibc-functions/wcsnlen.texi.
37719         * doc/posix-functions/wcsnrtombs.texi: Renamed from
37720         doc/glibc-functions/wcsnrtombs.texi.
37721         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
37722         doc/glibc-functions/wcsxfrm_l.texi.
37723         * doc/posix-functions/wctrans_l.texi: Renamed from
37724         doc/glibc-functions/wctrans_l.texi.
37725         * doc/posix-functions/wctype_l.texi: Renamed from
37726         doc/glibc-functions/wctype_l.texi.
37727         * doc/gnulib.texi (Function Substitutes): Add these subsections.
37728         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
37729         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
37730         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
37731         these subsections.
37732         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
37733         Remove sections.
37734
37735 2008-12-14  Bruno Haible  <bruno@clisp.org>
37736
37737         Update doc for POSIX:2008.
37738         * doc/posix-functions/*.texi: Update URL of POSIX specification.
37739
37740 2008-12-14  Bruno Haible  <bruno@clisp.org>
37741
37742         Update doc for POSIX:2008.
37743         * doc/pastposix-functions/bcmp.texi: Renamed from
37744         doc/posix-functions/bcmp.texi.
37745         * doc/pastposix-functions/bcopy.texi: Renamed from
37746         doc/posix-functions/bcopy.texi.
37747         * doc/pastposix-functions/bsd_signal.texi: Renamed from
37748         doc/posix-functions/bsd_signal.texi.
37749         * doc/pastposix-functions/bzero.texi: Renamed from
37750         doc/posix-functions/bzero.texi.
37751         * doc/pastposix-functions/ecvt.texi: Renamed from
37752         doc/posix-functions/ecvt.texi.
37753         * doc/pastposix-functions/fcvt.texi: Renamed from
37754         doc/posix-functions/fcvt.texi.
37755         * doc/pastposix-functions/ftime.texi: Renamed from
37756         doc/posix-functions/ftime.texi.
37757         * doc/pastposix-functions/gcvt.texi: Renamed from
37758         doc/posix-functions/gcvt.texi.
37759         * doc/pastposix-functions/getcontext.texi: Renamed from
37760         doc/posix-functions/getcontext.texi.
37761         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
37762         doc/posix-functions/gethostbyaddr.texi.
37763         * doc/pastposix-functions/gethostbyname.texi: Renamed from
37764         doc/posix-functions/gethostbyname.texi.
37765         * doc/pastposix-functions/getwd.texi: Renamed from
37766         doc/posix-functions/getwd.texi.
37767         * doc/pastposix-functions/h_errno.texi: Renamed from
37768         doc/posix-functions/h_errno.texi.
37769         * doc/pastposix-functions/index.texi: Renamed from
37770         doc/posix-functions/index.texi.
37771         * doc/pastposix-functions/makecontext.texi: Renamed from
37772         doc/posix-functions/makecontext.texi.
37773         * doc/pastposix-functions/mktemp.texi: Renamed from
37774         doc/posix-functions/mktemp.texi.
37775         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
37776         doc/posix-functions/pthread_attr_getstackaddr.texi.
37777         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
37778         doc/posix-functions/pthread_attr_setstackaddr.texi.
37779         * doc/pastposix-functions/rindex.texi: Renamed from
37780         doc/posix-functions/rindex.texi.
37781         * doc/pastposix-functions/scalb.texi: Renamed from
37782         doc/posix-functions/scalb.texi.
37783         * doc/pastposix-functions/setcontext.texi: Renamed from
37784         doc/posix-functions/setcontext.texi.
37785         * doc/pastposix-functions/swapcontext.texi: Renamed from
37786         doc/posix-functions/swapcontext.texi.
37787         * doc/pastposix-functions/ualarm.texi: Renamed from
37788         doc/posix-functions/ualarm.texi.
37789         * doc/pastposix-functions/usleep.texi: Renamed from
37790         doc/posix-functions/usleep.texi.
37791         * doc/pastposix-functions/vfork.texi: Renamed from
37792         doc/posix-functions/vfork.texi.
37793         * doc/pastposix-functions/wcswcs.texi: Renamed from
37794         doc/posix-functions/wcswcs.texi.
37795         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
37796         (Function Substitutes): Update.
37797
37798 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37799
37800         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
37801         m4/strerror.m4.
37802
37803 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37804             Bruno Haible  <bruno@clisp.org>
37805
37806         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
37807
37808 2008-12-13  Bruno Haible  <bruno@clisp.org>
37809
37810         * modules/strtoull (Depends-on): Remove unistd.
37811
37812 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37813
37814         * modules/strtoull (Depends-on): Add stdlib.
37815
37816 2008-12-11  Simon Josefsson  <simon@josefsson.org>
37817
37818         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
37819
37820 2008-12-10  Jim Meyering  <meyering@redhat.com>
37821
37822         gl_ASSERT: don't say assertions are disabled when they're not
37823         * m4/assert.m4 (gl_ASSERT): Do not make configure report
37824         "checking whether to enable assertions... no", when they are in
37825         fact enabled.  This is solely a bug in the output of configure.
37826         In spite of saying "no", NDEBUG was not defined in that case.
37827         Also, as noted by Eric Blake, leave assertions enabled upon
37828         --enable-assert=INVALID.
37829
37830 2008-12-10  Bruno Haible  <bruno@clisp.org>
37831
37832         Change MODULES.html to refer to POSIX:2008 where possible.
37833         * MODULES.html.sh (POSIX2008_URL): New variable.
37834         (posix_headers): Remove sys/timeb, ucontext.
37835         (posix2001_headers): New variable.
37836         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
37837         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
37838         index, makecontext, mktemp, pthread_attr_getstackaddr,
37839         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
37840         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
37841         (posix2001_functions): New variable.
37842         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
37843         otherwise.
37844
37845 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37846
37847         add missing include to parse-duration.c
37848         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
37849         * modules/parse-duration (Depends-on): Add xalloc.
37850
37851         fix sed script reading maint.mk
37852         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
37853         (syntax-check-rules): Use it.
37854
37855 2008-12-09  Bruno Haible  <bruno@clisp.org>
37856
37857         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
37858         MacOS X 10.4/PowerPC.
37859         Reported by Simon Josefsson.
37860
37861 2008-12-08  Jim Meyering  <meyering@redhat.com>
37862
37863         work around mingw's lack of some S_IF definitions
37864         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
37865         Reported by Simon Josefsson.
37866
37867 2008-12-08  Bruno Haible  <bruno@clisp.org>
37868
37869         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
37870         applied to variables. Needed on MacOS X 10.4/PowerPC.
37871         Reported by Simon Josefsson.
37872
37873 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
37874         and Eric Blake  <ebb9@byu.net>
37875
37876         assert: honor --enable-assert
37877         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
37878         order to honor --enable-assert, rather than treating it as a
37879         synonym for --disable-assert.
37880
37881 2008-12-08  Jim Meyering  <meyering@redhat.com>
37882
37883         * lib/posixtm.c: Remove now-useless declaration of mktime.
37884
37885         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
37886
37887 2008-12-07  Bruno Haible  <bruno@clisp.org>
37888
37889         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
37890         test_once): Mark functions as static.
37891         * tests/test-tls.c (test_tls): Likewise.
37892
37893 2008-12-07  Bruno Haible  <bruno@clisp.org>
37894
37895         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
37896         iconv_register_autodetect.
37897
37898 2008-12-07  Jim Meyering  <meyering@redhat.com>
37899
37900         posixtm.c: avoid a warning
37901         * lib/posixtm.c (posixtime): Don't initialize tm0.
37902         It's no longer needed to placate gcc4's -Wuninitialized,
37903         and the attempt to placate would elicit a new warning.
37904
37905         unicodeio.c: mark unused parameters
37906         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
37907         (fallback_failure_callback): Likewise.
37908
37909 2008-12-07  Bruno Haible  <bruno@clisp.org>
37910
37911         * gnulib-tool (func_create_testdir): When building the tests
37912         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
37913         Reported by Simon Josefsson.
37914
37915 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37916
37917         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
37918
37919 2008-12-06  Bruno Haible  <bruno@clisp.org>
37920
37921         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
37922         Suggested by Eric Blake.
37923
37924 2008-12-06  Bruno Haible  <bruno@clisp.org>
37925
37926         Fix a c-stack test failure on MacOS X.
37927         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
37928         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
37929         handler for SIGBUS as well.
37930         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
37931         install a signal handler for SIGBUS as well.
37932         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
37933
37934 2008-12-06  Bruno Haible  <bruno@clisp.org>
37935
37936         Advocacy documentation.
37937         * doc/gnulib-intro.texi (Benefits): New section.
37938         * doc/gnulib.texi: Update.
37939
37940 2008-12-06  Bruno Haible  <bruno@clisp.org>
37941
37942         Document the 'manywarnings' module.
37943         * doc/manywarnings.texi: New file.
37944         * doc/gnulib.texi: Include it.
37945
37946 2008-12-05  Eric Blake  <ebb9@byu.net>
37947
37948         tests: silence some gcc warnings
37949         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
37950         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
37951         type mismatches.
37952
37953 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37954             Bruno Haible  <bruno@clisp.org>
37955
37956         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
37957
37958 2008-11-29  Jim Meyering  <meyering@redhat.com>
37959
37960         unicodeio.c: mark unused parameters
37961         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
37962         (fallback_failure_callback): Likewise.
37963
37964         fts: fix a thinko
37965         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
37966         (set_stat_type): Return S_IF*-valued "type" directly.
37967         Prompted by James Youngman's spotting a related bug.
37968         Confirmed by further testing through find.
37969
37970         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
37971         * lib/fts.c (D_TYPE): Define.
37972         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
37973         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
37974         (s_ifmt_shift_bits): New function.
37975         (set_stat_type): New function.
37976         (fts_build): When not calling fts_stat, call set_stat_type
37977         to propagate dirent.d_type info to fts_read caller.
37978         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
37979         fts_statp->st_mode type information may be valid.
37980
37981 2008-11-28  Simon Josefsson  <simon@josefsson.org>
37982
37983         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
37984         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
37985         <sds@gnu.org>.
37986
37987 2008-11-20  Bruno Haible  <bruno@clisp.org>
37988
37989         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
37990         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
37991         INCLUDE_NEXT.
37992         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
37993         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
37994         * modules/math (Makefile.am): Substitute
37995         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
37996         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
37997
37998 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
37999             Bruno Haible  <bruno@clisp.org>
38000
38001         * lib/stdint.in.h: Define all type macros so that their expansion is
38002         a single typedef'ed token. Fixes a compilation failure in Boost which
38003         does "using ::int8_t;".
38004
38005 2008-11-18  Simon Josefsson  <simon@josefsson.org>
38006
38007         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
38008         gl_MANYWARN_ALL_GCC.
38009         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
38010         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
38011         * modules/manywarnings: New file.
38012         * MODULES.html.sh: Mention manywarnings module.
38013
38014 2008-11-18  Bruno Haible  <bruno@clisp.org>
38015
38016         * doc/gnulib-tool.texi (Unit tests): New section.
38017
38018 2008-11-18  Simon Josefsson  <simon@josefsson.org>
38019
38020         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
38021         paths like 'lib/po/foo.po'.
38022
38023 2008-11-17  Simon Josefsson  <simon@josefsson.org>
38024
38025         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
38026         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
38027
38028 2008-11-17  Simon Josefsson  <simon@josefsson.org>
38029
38030         * m4/warnings.m4: Use CPPFLAGS to really check whether the
38031         parameter works.
38032
38033 2008-11-17  Simon Josefsson  <simon@josefsson.org>
38034
38035         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
38036
38037 2008-11-17  Bruce Korb  <bkorb@gnu.org>
38038
38039         * modules/parse-duration-tests: New file.
38040         * tests/test-parse-duration.sh: New file.
38041         * tests/test-parse-duration.c: New file.
38042
38043         New module 'parse-duration'.
38044         * lib/parse-duration.h: New file.
38045         * lib/parse-duration.c: New file.
38046         * modules/parse-duration: New file.
38047
38048 2008-11-17  Bruno Haible  <bruno@clisp.org>
38049
38050         * tests/test-select-out.sh: Comment out the first pipe test.
38051         Reported by Simon Josefsson.
38052
38053 2008-11-17  Bruno Haible  <bruno@clisp.org>
38054
38055         * modules/getaddrinfo (Depends-on): Add servent, hostent.
38056         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
38057         gl_HOSTENT.
38058
38059 2008-11-17  Bruno Haible  <bruno@clisp.org>
38060
38061         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
38062         -lnetwork and -lnet. Needed for Haiku and BeOS.
38063
38064 2008-11-16  Bruno Haible  <bruno@clisp.org>
38065
38066         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
38067
38068 2008-11-16  Bruno Haible  <bruno@clisp.org>
38069
38070         Avoid test failure on Haiku.
38071         * tests/test-fsync.c: Include <errno.h>.
38072         (main): Don't require that fsync (0) fails.
38073
38074 2008-11-15  Bruno Haible  <bruno@clisp.org>
38075
38076         New module 'hostent'.
38077         * modules/hostent: New file.
38078         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
38079
38080 2008-11-15  Bruno Haible  <bruno@clisp.org>
38081
38082         New module 'servent'.
38083         * modules/servent: New file.
38084         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
38085
38086 2008-11-15  Bruno Haible  <bruno@clisp.org>
38087
38088         Avoid generating same test program with two different rules.
38089         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
38090         test-frexp to test-frexp-nolibm.
38091         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
38092         test-frexpl to test-frexpl-nolibm.
38093
38094 2008-11-15  Bruno Haible  <bruno@clisp.org>
38095
38096         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
38097         $(FREXPL_LIBM).
38098
38099 2008-11-15  Bruno Haible  <bruno@clisp.org>
38100
38101         * lib/netdb.in.h: Activate the definitions also when the system's
38102         <netdb.h> has 'struct addrinfo'.
38103         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
38104         EAI_OVERFLOW or AI_NUMERICSERV.
38105         * doc/posix-headers/netdb.texi: Document the problem.
38106
38107 2008-11-15  Bruno Haible  <bruno@clisp.org>
38108
38109         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
38110
38111         Make the 'sched' module work on platforms where <sched.h> exists but
38112         is incomplete (such as Haiku).
38113         * lib/sched.in.h; Include the system's <sched.h> if it exists.
38114         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
38115         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
38116         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
38117         HAVE_STRUCT_SCHED_PARAM.
38118         * modules/sched (Depends-on): Add include_next.
38119         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
38120         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
38121         * doc/posix-headers/sched.texi: Document the issue.
38122
38123 2008-11-13  Jim Meyering  <meyering@redhat.com>
38124
38125         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
38126         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
38127         test would fail due to the difference in the Report bugs to ...
38128         line.  The expected address is empty, "<>", while the actual
38129         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
38130
38131 2008-11-12  Bruno Haible  <bruno@clisp.org>
38132
38133         lstat: don't compile lstat.c on systems lacking lstat
38134         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
38135         which don't have lstat; this is handled by lib/sys_stat.in.h already.
38136         Reported by Daniel P. Berrange via Jim Meyering.
38137
38138 2008-11-12  Jim Meyering  <meyering@redhat.com>
38139
38140         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
38141
38142 2008-11-12  Simon Josefsson  <simon@josefsson.org>
38143
38144         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
38145         instead.
38146
38147 2008-11-12  Bruno Haible  <bruno@clisp.org>
38148
38149         * lib/unicodeio.c: Include unistr.h.
38150         (utf8_wctomb): Remove function.
38151         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
38152
38153 2008-11-12  Simon Josefsson  <simon@josefsson.org>
38154
38155         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
38156         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
38157         <bruno@clisp.org>.
38158         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
38159
38160 2008-11-12  Simon Josefsson  <simon@josefsson.org>
38161
38162         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
38163         * doc/gnulib.texi: Add section for warnings.
38164
38165 2008-11-11  Bruno Haible  <bruno@clisp.org>
38166
38167         * lib/sockets.h: Add a comment.
38168
38169 2008-11-11  Karl Berry  <karl@gnu.org>
38170
38171         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
38172
38173 2008-11-11  Eric Blake  <ebb9@byu.net>
38174
38175         fdl.texi: avoid git symlinks
38176         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
38177
38178 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
38179
38180         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
38181
38182 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
38183
38184         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
38185         (gl_WARN_ADD): Substitute $2 if literal.
38186
38187 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
38188
38189         * m4/warning.m4: Remove.
38190
38191 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
38192
38193         * m4/warnings.m4: Almost complete rewrite. :-)
38194
38195 2008-11-10  Simon Josefsson  <simon@josefsson.org>
38196
38197         * modules/warnings: New module.
38198         * m4/warnings.m4: New file.
38199         * MODULES.html.sh: Mention warnings module.
38200         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
38201         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38202
38203 2008-11-10  Eric Blake  <ebb9@byu.net>
38204
38205         fdl.texi: make a symlink to the latest version
38206         * doc/standards.texi: Revert today's earlier change.
38207         * doc/fdl-1.2.texi: Rename from old fdl.texi...
38208         * doc/fdl.texi: ...and replace this with a symlink to the newer
38209         fdl-1.3.texi.
38210
38211 2008-11-10  Bruno Haible  <bruno@clisp.org>
38212
38213         * tests/test-select-fd.c (main): Accept the result file name as fourth
38214         argument.
38215         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
38216         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
38217
38218 2008-11-10  Bruno Haible  <bruno@clisp.org>
38219
38220         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
38221         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
38222         as autoconf-substituted macros.
38223         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
38224         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
38225         gl_NETDB_H_DEFAULTS. Set these variables.
38226         * modules/netdb (Makefile.am): Substitute these variables.
38227
38228 2008-11-10  Eric Blake  <ebb9@byu.net>
38229
38230         standards.texi: include correct file for FDL 1.3
38231         * doc/standards.texi (GNU Free Documentation License): Change
38232         include file to pull in FDL 1.3, not 1.2.
38233
38234         fdl.texi: revert accidental change to license
38235         * doc/fdl.texi: This is FDL 1.2, not 1.3.
38236
38237 2008-11-10  Bruno Haible  <bruno@clisp.org>
38238
38239         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
38240         cross-compiling guesses also when the native compile gives no result.
38241
38242 2008-11-10  Bruno Haible  <bruno@clisp.org>
38243
38244         * lib/spawni.c (__spawni): Force variable into the stack.
38245
38246 2008-11-10  Bruno Haible  <bruno@clisp.org>
38247
38248         Add support for Haiku.
38249         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
38250         glibc and BeOS, but also on Haiku.
38251         * lib/fpurge.c (fpurge): Likewise.
38252         * lib/freadable.c (freadable): Likewise.
38253         * lib/freadahead.c (freadahead): Likewise.
38254         * lib/freading.c (freading): Likewise.
38255         * lib/freadptr.c (freadptr): Likewise.
38256         * lib/freadseek.c (freadptrinc): Likewise.
38257         * lib/fseeko.c (rpl_fseeko): Likewise.
38258         * lib/fseterr.c (fseterr): Likewise.
38259         * lib/fwritable.c (fwritable): Likewise.
38260         * lib/fwriting.c (fwriting): Likewise.
38261         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
38262
38263 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
38264
38265         * lib/config.charset: Treat Haiku like BeOS.
38266
38267 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
38268
38269         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
38270         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
38271
38272 2008-11-08  Bruno Haible  <bruno@clisp.org>
38273
38274         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
38275         AC_CACHE_CHECK.
38276
38277 2008-11-08  Bruno Haible  <bruno@clisp.org>
38278
38279         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
38280
38281 2008-11-08  Bruno Haible  <bruno@clisp.org>
38282
38283         * tests/test-select-fd.c: New file.
38284         * tests/test-select-in.sh: New file.
38285         * tests/test-select-out.sh: New file.
38286         * tests/test-select-stdin.c: New file.
38287         * modules/select-tests (Files): Add the new files.
38288         (Depends-on): Add gettimeofday.
38289         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
38290         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
38291         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
38292
38293 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
38294             Bruno Haible  <bruno@clisp.org>
38295
38296         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
38297
38298 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
38299
38300         * build-aux/pmccabe2html: Added support for C++ source files.
38301
38302 2008-11-05  Ben Pfaff  <blp@gnu.org>
38303
38304         Fix lib/close.c build on Windows.
38305         * modules/close (Files): Add lib/w32sock.h.
38306
38307 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
38308
38309         Accept Bison's NEWS format.
38310         * build-aux/announce-gen (print_news_deltas): Tweak
38311         $re_prefix.
38312
38313 2008-11-04  Bruno Haible  <bruno@clisp.org>
38314
38315         * modules/random_r (Maintainer): Add glibc.
38316
38317 2008-11-04  Simon Josefsson  <simon@josefsson.org>
38318
38319         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
38320         by karl@freefriends.org (Karl Berry).
38321         * doc/alloca.texi: Likewise.
38322         * doc/c-ctype.texi: Likewise.
38323         * doc/c-strcase.texi: Likewise.
38324         * doc/c-strcaseeq.texi: Likewise.
38325         * doc/c-strcasestr.texi: Likewise.
38326         * doc/c-strstr.texi: Likewise.
38327         * doc/c-strtod.texi: Likewise.
38328         * doc/c-strtold.texi: Likewise.
38329         * doc/ctime.texi: Likewise.
38330         * doc/error.texi: Likewise.
38331         * doc/fdl.texi: Likewise.
38332         * doc/gcd.texi: Likewise.
38333         * doc/getdate.texi: Likewise.
38334         * doc/gnulib-intro.texi: Likewise.
38335         * doc/gnulib-tool.texi: Likewise.
38336         * doc/gnulib.texi: Likewise.
38337         * doc/inet_ntoa.texi: Likewise.
38338         * doc/maintain.texi: Likewise.
38339         * doc/make-stds.texi: Likewise.
38340         * doc/quote.texi: Likewise.
38341         * doc/regexprops-generic.texi: Likewise.
38342         * doc/standards.texi: Likewise.
38343         * doc/verify.texi: Likewise.
38344         * doc/visibility.texi: Likewise.
38345         * doc/gnulib.texi (GNU Free Documentation License): Include
38346         fdl-1.3.texi instead of fdl.texi.
38347
38348 2008-11-04  Simon Josefsson  <simon@josefsson.org>
38349
38350         * doc/fdl-1.3.texi: New file, from
38351         <http://www.gnu.org/licenses/fdl-1.3.texi>.
38352         * modules/fdl-1.3: Add.
38353         * MODULES.html.sh: Add fdl-1.3.
38354
38355 2008-11-03  Bruno Haible  <bruno@clisp.org>
38356
38357         Make determination of absolute name of header file work with AIX xlc.
38358         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
38359         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
38360         preprocessing.
38361         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
38362         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
38363
38364 2008-11-03  Simon Josefsson  <simon@josefsson.org>
38365
38366         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
38367         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
38368         <ludo@gnu.org>.
38369
38370 2008-11-02  Bruno Haible  <bruno@clisp.org>
38371
38372         Mark 'strpbrk' obsolete.
38373         * modules/strpbrk (Status, Notice): New sections.
38374         * modules/strtok_r (Depends-on): Add strpbrk.
38375
38376 2008-11-02  Bruno Haible  <bruno@clisp.org>
38377
38378         Mark 'strdup' obsolete.
38379         * modules/strdup (Status, Notice): New sections.
38380         * modules/findprog (Depends-on): Add strdup.
38381         * modules/getaddrinfo (Depends-on): Likewise.
38382         * modules/localename (Depends-on): Likewise.
38383         * modules/relocatable-lib (Depends-on): Likewise.
38384         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
38385         * modules/relocatable-prog (Depends-on): Likewise.
38386         * modules/trim (Depends-on): Likewise.
38387         * modules/unictype/gen-ctype (Depends-on): Likewise.
38388         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
38389
38390 2008-11-02  Bruno Haible  <bruno@clisp.org>
38391
38392         Mark 'strcspn' obsolete.
38393         * modules/strcspn (Status, Notice): New sections.
38394
38395 2008-11-02  Bruno Haible  <bruno@clisp.org>
38396
38397         Mark 'rmdir' obsolete.
38398         * modules/rmdir (Status, Notice): New sections.
38399         * modules/clean-temp (Depends-on): Add rmdir.
38400         * modules/openat (Depends-on): Likewise.
38401
38402 2008-11-02  Bruno Haible  <bruno@clisp.org>
38403
38404         Mark 'raise' obsolete.
38405         * modules/raise (Status, Notice): New sections.
38406         (Include): Specify <signal.h>.
38407         * modules/stdio (Depends-on): Add raise.
38408         * modules/write (Depends-on): Likewise.
38409
38410 2008-11-02  Bruno Haible  <bruno@clisp.org>
38411
38412         Mark 'memset' obsolete.
38413         * modules/memset (Status, Notice): New sections.
38414
38415 2008-11-02  Bruno Haible  <bruno@clisp.org>
38416
38417         Mark 'memmove' obsolete.
38418         * modules/memmove (Status, Notice): New sections.
38419         * modules/argp (Depends-on): Add memmove.
38420         * modules/argz (Depends-on): Likewise.
38421         * modules/canonicalize (Depends-on): Likewise.
38422         * modules/canonicalize-lgpl (Depends-on): Likewise.
38423         * modules/fts (Depends-on): Likewise.
38424         * modules/getcwd (Depends-on): Likewise.
38425         * modules/human (Depends-on): Likewise.
38426         * modules/regex (Depends-on): Likewise.
38427         * modules/striconveh (Depends-on): Likewise.
38428         * modules/trim (Depends-on): Likewise.
38429         * modules/unistr/u8-move (Depends-on): Likewise.
38430         * modules/unistr/u16-move (Depends-on): Likewise.
38431         * modules/unistr/u32-move (Depends-on): Likewise.
38432
38433 2008-11-02  Bruno Haible  <bruno@clisp.org>
38434
38435         Mark 'memcpy' obsolete.
38436         * modules/memcpy (Status, Notice): New sections.
38437
38438 2008-11-02  Bruno Haible  <bruno@clisp.org>
38439
38440         Mark 'memcmp' obsolete.
38441         * modules/memcmp (Status, Notice): New sections.
38442         * modules/argmatch (Depends-on): Add memchr.
38443         * modules/backupfile (Depends-on): Likewise.
38444         * modules/c-strcasestr (Depends-on): Likewise.
38445         * modules/crypto/des (Depends-on): Likewise.
38446         * modules/csharpcomp (Depends-on): Likewise.
38447         * modules/fnmatch (Depends-on): Likewise.
38448         * modules/git-merge-changelog (Depends-on): Likewise.
38449         * modules/isnand (Depends-on): Likewise.
38450         * modules/isnand-nolibm (Depends-on): Likewise.
38451         * modules/isnanf (Depends-on): Likewise.
38452         * modules/isnanf-nolibm (Depends-on): Likewise.
38453         * modules/isnanl (Depends-on): Likewise.
38454         * modules/isnanl-nolibm (Depends-on): Likewise.
38455         * modules/mbchar (Depends-on): Likewise.
38456         * modules/memcoll (Depends-on): Likewise.
38457         * modules/quotearg (Depends-on): Likewise.
38458         * modules/regex (Depends-on): Likewise.
38459         * modules/relocatable-prog (Depends-on): Likewise.
38460         * modules/same (Depends-on): Likewise.
38461         * modules/signbit (Depends-on): Likewise.
38462         * modules/strcasestr-simple (Depends-on): Likewise.
38463         * modules/unictype/gen-ctype (Depends-on): Likewise.
38464         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
38465         * modules/uniname/uniname (Depends-on): Likewise.
38466         * modules/unistr/u8-cmp (Depends-on): Likewise.
38467
38468 2008-11-02  Bruno Haible  <bruno@clisp.org>
38469
38470         Mark 'memchr' obsolete.
38471         * modules/memchr (Status, Notice): New sections.
38472         * modules/argp (Depends-on): Add memchr.
38473         * modules/base64 (Depends-on): Likewise.
38474         * modules/c-strcasestr (Depends-on): Likewise.
38475         * modules/chdir-long (Depends-on): Likewise.
38476         * modules/fnmatch (Depends-on): Likewise.
38477         * modules/getsubopt (Depends-on): Likewise.
38478         * modules/git-merge-changelog (Depends-on): Likewise.
38479         * modules/glob (Depends-on): Likewise.
38480         * modules/strcasestr-simple (Depends-on): Likewise.
38481         * modules/strnlen (Depends-on): Likewise.
38482
38483 2008-11-02  Bruno Haible  <bruno@clisp.org>
38484
38485         Mark 'atexit' obsolete.
38486         * modules/atexit (Status, Notice): New sections.
38487         * modules/chdir-long (Depends-on): Add atexit.
38488         * modules/wait-process (Depends-on): Likewise.
38489
38490 2008-11-02  Bruno Haible  <bruno@clisp.org>
38491
38492         * gnulib-tool: New option --with-obsolete.
38493         (func_usage): Document it.
38494         (func_modules_transitive_closure): Drop obsolete dependencies if
38495         incobsolete is not true.
38496         (func_import): Read and save the incobsolete variable to the cache.
38497
38498 2008-11-02  Bruno Haible  <bruno@clisp.org>
38499
38500         * modules/TEMPLATE-EXTENDED: New field 'Status'.
38501         * gnulib-tool: New option --extract-status.
38502         (func_usage): Document it.
38503         (sed_extract_prog): Recognize it.
38504         (func_get_status): New function.
38505
38506 2008-10-30  Simon Josefsson  <simon@josefsson.org>
38507
38508         * modules/sockets (License): Change from LGPL to LGPLv2+.
38509
38510 2008-10-28  Simon Josefsson  <simon@josefsson.org>
38511
38512         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
38513
38514 2008-10-28  Simon Josefsson  <simon@josefsson.org>
38515
38516         * MODULES.html.sh (Support for systems lacking POSIX:2001):
38517         Mention times and sys_times.
38518         * modules/sys_times, modules/sys_times-tests: New modules.
38519         * modules/times, modules/times-tests: Likewise
38520         * m4/sys_times_h.m4: New file.
38521         * lib/sys_times.in.h: Likewise
38522         * lib/times.c: Likewise.
38523         * tests/test-sys_times.c: Likewise.
38524         * tests/test-times.c: Likewise.
38525         * doc/posix-headers/sys_times.texi: Update.
38526         * doc/posix-functions/times.texi: Update.
38527
38528 2008-10-28  Jim Meyering  <meyering@redhat.com>
38529
38530         * modules/tempname (Depends-on): Add lstat.
38531
38532         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
38533
38534 2008-10-28  Simon Josefsson  <simon@josefsson.org>
38535
38536         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
38537         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
38538         using idiom used elsewhere in gnulib.
38539
38540 2008-10-27  Jim Meyering  <meyering@redhat.com>
38541
38542         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
38543
38544 2008-10-27  Simon Josefsson  <simon@josefsson.org>
38545
38546         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
38547         TESTS_ENVIRONMENT, for shell scripts that needs to call built
38548         programs.
38549         * tests/test-argp-2.sh: Use $EXEEXT when needed.
38550
38551 2008-10-27  Simon Josefsson  <simon@josefsson.org>
38552
38553         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
38554
38555 2008-10-27  Bruno Haible  <bruno@clisp.org>
38556
38557         * tests/test-lstat.c: Include <stdio.h>.
38558
38559 2008-10-27  Simon Josefsson  <simon@josefsson.org>
38560
38561         * modules/lstat-tests: New module.
38562         * tests/test-lstat.c: New file.
38563
38564 2008-10-26  Jim Meyering  <meyering@redhat.com>
38565
38566         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
38567
38568 2008-10-26  Simon Josefsson  <simon@josefsson.org>
38569             Bruno Haible  <bruno@clisp.org>
38570
38571         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
38572         * modules/configmake (Include): Add a note that the include must come
38573         after all system headers.
38574         * lib/javaversion.c: Include configmake.h after all other includes.
38575
38576 2008-10-26  Bruno Haible  <bruno@clisp.org>
38577
38578         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
38579         HAVE_STRUCT_RANDOM_DATA to 1.
38580         (gl_STDLIB_H): Simplify.
38581
38582 2008-10-26  Simon Josefsson  <simon@josefsson.org>
38583
38584         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
38585         substitute HAVE_STRUCT_RANDOM_DATA.
38586         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
38587         random_data.
38588         * modules/stdlib (Makefile.am): Substitute
38589         HAVE_STRUCT_RANDOM_DATA.
38590
38591 2008-10-26  Simon Josefsson  <simon@josefsson.org>
38592
38593         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
38594         * doc/gnulib-intro.texi (Copyright): Likewise.
38595
38596 2008-10-26  Simon Josefsson  <simon@josefsson.org>
38597
38598         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
38599         findings.
38600
38601 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
38602             Bruno Haible  <bruno@clisp.org>
38603
38604         * lib/unistd.in.h: Include <winsock2.h>.
38605         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
38606         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
38607         Provide dummy declarations.
38608         (gethostname): Override.
38609         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
38610         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
38611         gl_PREREQ_SYS_H_WINSOCK2.
38612         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
38613         * doc/posix-functions/gethostname.texi: More details.
38614
38615 2008-10-25  Bruno Haible  <bruno@clisp.org>
38616
38617         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
38618         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
38619         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
38620
38621         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
38622         here ...
38623         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
38624         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
38625         gl_UNISTD_H_DEFAULTS.
38626
38627 2008-10-25  Eric Blake  <ebb9@byu.net>
38628
38629         signbit: avoid spurious compiler failure
38630         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
38631         declarations inside function.
38632
38633 2008-10-24  Simon Josefsson  <simon@josefsson.org>
38634             Bruno Haible  <bruno@clisp.org>
38635
38636         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
38637         * modules/random_r (Depends-on): Add stdint.
38638
38639 2008-10-24  Bruno Haible  <bruno@clisp.org>
38640
38641         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
38642         Eggert.
38643         * modules/strerror (License): Likewise.
38644
38645 2008-10-24  Jim Meyering  <meyering@redhat.com>
38646
38647         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
38648         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
38649
38650 2008-10-24  Eric Blake  <ebb9@byu.net>
38651
38652         getgroups: fix compilation when getgroups is available
38653         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
38654         but with <config.h> override of getgroups disabled.
38655
38656 2008-10-24  Simon Josefsson  <simon@josefsson.org>
38657
38658         * doc/gnulib.texi (Header files): Add note about C++ problems.
38659         Explained by Bruno Haible <bruno@clisp.org>.
38660
38661 2008-10-23  Bruno Haible  <bruno@clisp.org>
38662
38663         Define a dummy SA_NODEFER macro on Interix.
38664         * lib/signal.in.h (SA_NODEFER): Define fallback.
38665         Reported by Aleksey Cheusov <cheusov@tut.by> via
38666         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
38667
38668 2008-10-23  Bruno Haible  <bruno@clisp.org>
38669
38670         * modules/freadahead (License): Change to LGPLv2+.
38671         Suggested by Simon Josefsson.
38672
38673 2008-10-23  Jim Meyering  <meyering@redhat.com>
38674
38675         random_r: new module
38676         * modules/random_r: New file.
38677         * m4/random_r.m4: New file.
38678         * lib/random_r.c: New file, from glibc.
38679         * modules/random_r-tests: New file.
38680         * tests/test-random_r.c: New file.
38681         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
38682          Declare.
38683         (RAND_MAX): Define.
38684         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
38685         * modules/stdlib: Substitute them, too.
38686         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
38687         * doc/glibc-functions/initstate_r.texi: Mention the new module.
38688         * doc/glibc-functions/random_r.texi: Likewise.
38689         * doc/glibc-functions/setstate_r.texi: Likewise.
38690         * doc/glibc-functions/srandom_r.texi: Likewise.
38691         * config/srclist.txt: Mention it.
38692
38693 2008-10-23  David Lutterkort  <lutter@redhat.com>
38694
38695         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
38696         link requirement
38697
38698 2008-10-23  Jim Meyering  <meyering@redhat.com>
38699
38700         selinux-h: mark parameters of stub functions as intentionally unused
38701         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
38702         * lib/se-context.in.h: Likewise.
38703
38704 2008-10-22  Simon Josefsson  <simon@josefsson.org>
38705
38706         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
38707
38708 2008-10-22  Simon Josefsson  <simon@josefsson.org>
38709
38710         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
38711
38712 2008-10-22  Eric Blake  <ebb9@byu.net>
38713
38714         glthread/thread: avoid compiler warning
38715         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
38716         Add unreachable abort to silence compiler.
38717
38718 2008-10-22  Eric Blake  <ebb9@byu.net>
38719
38720         netdb: also supply struct addrinfo for cygwin 1.5.x
38721         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
38722         older cygwin.
38723         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
38724         cygwin.
38725         * doc/posix-headers/netdb.texi (netdb.h): Document this.
38726
38727 2008-10-22  Bruno Haible  <bruno@clisp.org>
38728
38729         * users.txt: Update entry about pspp.
38730
38731 2008-10-21  Bruno Haible  <bruno@clisp.org>
38732
38733         Simplification.
38734         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
38735         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
38736
38737         Simplification.
38738         * lib/ioctl.c (ioctl): Don't undefine.
38739         * lib/socket.c (socket): Don't undefine.
38740
38741         Remove unused module indicator macros.
38742         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
38743         GNULIB_$1 as a C macro.
38744
38745         * doc/posix-functions/close.texi: Undo last change.
38746         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
38747         Windows platforms.
38748
38749 2008-10-21  Bruno Haible  <bruno@clisp.org>
38750
38751         Add gethostname() declaration to <unistd.h>.
38752         * lib/unistd.in.h (gethostname): New declaration.
38753         * lib/gethostname.c: Include <unistd.h>.
38754         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
38755         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
38756         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
38757         and HAVE_GETHOSTNAME.
38758         * modules/gethostname (Depends-on): Add unistd.
38759         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
38760         (Include): Specify <unistd.h>.
38761         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
38762         HAVE_GETHOSTNAME.
38763         * tests/test-gethostname.c: Include <unistd.h> first.
38764
38765 2008-10-21  Bruno Haible  <bruno@clisp.org>
38766
38767         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
38768         * modules/select-tests (Depends-on): Likewise.
38769         Reported by Simon Josefsson.
38770
38771 2008-10-21  Simon Josefsson  <simon@josefsson.org>
38772
38773         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
38774         * lib/accept.c: New file, based on winsock.c.
38775         * lib/bind.c: New file, based on winsock.c.
38776         * lib/connect.c: New file, based on winsock.c.
38777         * lib/getpeername.c: New file, based on winsock.c.
38778         * lib/getsockname.c: New file, based on winsock.c.
38779         * lib/getsockopt.c: New file, based on winsock.c.
38780         * lib/ioctl.c: New file, based on winsock.c.
38781         * lib/listen.c: New file, based on winsock.c.
38782         * lib/recv.c: New file, based on winsock.c.
38783         * lib/recvfrom.c: New file, based on winsock.c.
38784         * lib/send.c: New file, based on winsock.c.
38785         * lib/sendto.c: New file, based on winsock.c.
38786         * lib/setsockopt.c: New file, based on winsock.c.
38787         * lib/shutdown.c: New file, based on winsock.c.
38788         * lib/socket.c: New file, based on winsock.c.
38789         * lib/w32sock.h: New file, based on winsock.c.
38790         * lib/winsock.c: Remove file.
38791         * modules/accept: Likewise.
38792         * modules/bind: Likewise.
38793         * modules/connect: Likewise.
38794         * modules/getpeername: Likewise.
38795         * modules/getsockname: Likewise.
38796         * modules/getsockopt: Likewise.
38797         * modules/ioctl: Likewise.
38798         * modules/listen: Likewise.
38799         * modules/recv: Likewise.
38800         * modules/recvfrom: Likewise.
38801         * modules/send: Likewise.
38802         * modules/sendto: Likewise.
38803         * modules/setsockopt: Likewise.
38804         * modules/shutdown: Likewise.
38805         * modules/socket: Use socket.c instead of winsock.c.
38806         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
38807         * doc/posix-functions/accept.texi: Doc fix.
38808         * doc/posix-functions/bind.texi: Doc fix.
38809         * doc/posix-functions/close.texi: Doc fix.
38810         * doc/posix-functions/connect.texi: Doc fix.
38811         * doc/posix-functions/getpeername.texi: Doc fix.
38812         * doc/posix-functions/getsockname.texi: Doc fix.
38813         * doc/posix-functions/getsockopt.texi: Doc fix.
38814         * doc/posix-functions/ioctl.texi: Doc fix.
38815         * doc/posix-functions/listen.texi: Doc fix.
38816         * doc/posix-functions/recv.texi: Doc fix.
38817         * doc/posix-functions/recvfrom.texi: Doc fix.
38818         * doc/posix-functions/send.texi: Doc fix.
38819         * doc/posix-functions/sendto.texi: Doc fix.
38820         * doc/posix-functions/setsockopt.texi: Doc fix.
38821         * doc/posix-functions/shutdown.texi: Doc fix.
38822         * doc/posix-functions/socket.texi: Doc fix.
38823
38824 2008-10-20  Bruno Haible  <bruno@clisp.org>
38825
38826         Take into account the role of SIGABRT_COMPAT on Windows 2008.
38827         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
38828         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
38829         as an alias for SIGABRT.
38830         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
38831         (sigaction): Map it to SIGABRT.
38832         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
38833
38834 2008-10-20  Bruno Haible  <bruno@clisp.org>
38835
38836         * lib/fts.c: Don't include lstat.h.
38837         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
38838
38839         Move the lstat() declaration to <sys/stat.h>.
38840         * lib/lstat.h: Remove file.
38841         * lib/sys_stat.in.h: Add special invocation convention.
38842         (lstat): New declaration.
38843         * lib/lstat.c (orig_lstat): New function.
38844         (rpl_lstat): Use orig_lstat instead of lstat.
38845         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
38846         AC_C_INLINE. Set REPLACE_LSTAT.
38847         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
38848         and REPLACE_LSTAT.
38849         * modules/lstat (Files): Remove lib/lstat.h.
38850         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
38851         (Include): Specify <sys/stat.h> instead of lstat.h.
38852         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
38853         REPLACE_LSTAT.
38854         * NEWS: Mention the change.
38855
38856 2008-10-20  Bruno Haible  <bruno@clisp.org>
38857
38858         * modules/posix_spawn-tests: New file.
38859         * tests/test-posix_spawn3.c: New file.
38860
38861 2008-10-20  Bruno Haible  <bruno@clisp.org>
38862
38863         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
38864         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
38865         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
38866         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
38867         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
38868
38869 2008-10-20  Bruno Haible  <bruno@clisp.org>
38870
38871         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
38872         of posix_spawn on AIX 5.3.
38873
38874 2008-10-20  Bruno Haible  <bruno@clisp.org>
38875
38876         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
38877
38878 2008-10-20  Bruno Haible  <bruno@clisp.org>
38879
38880         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
38881         of AC_LANG_PROGRAM.
38882
38883 2008-10-20  Simon Josefsson  <simon@josefsson.org>
38884
38885         * lib/netdb.in.h: Don't define GNU specific constants until they
38886         are supported or needed.  Reported by Bruno Haible
38887         <bruno@clisp.org>.
38888
38889 2008-10-20  Simon Josefsson  <simon@josefsson.org>
38890
38891         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
38892
38893 2008-10-20  Simon Josefsson  <simon@josefsson.org>
38894
38895         * lib/getaddrinfo.h: Remove file.
38896         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
38897         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
38898         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
38899         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
38900         * modules/netdb: Substitute GNULIB_GETADDRINFO.
38901         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
38902         * tests/test-getaddrinfo.c: Likewise.
38903         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
38904         * NEWS: Mention change.
38905
38906 2008-10-19  Bruno Haible  <bruno@clisp.org>
38907
38908         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
38909
38910 2008-10-19  Bruno Haible  <bruno@clisp.org>
38911
38912         * lib/wait-process.c: Include simply <sys/wait.h>.
38913         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
38914         WIFSTOPPED): Remove fallback definitions.
38915         * modules/wait-process (Depends-on): Add sys_wait.
38916
38917         New module 'sys_wait'.
38918         * modules/sys_wait: New file.
38919         * lib/sys_wait.in.h: New file, partially copied from
38920         lib/wait-process.c.
38921         * m4/sys_wait_h.m4: New file.
38922         * doc/posix-headers/sys_wait.texi: Mention the new module.
38923
38924 2008-10-19  Bruno Haible  <bruno@clisp.org>
38925
38926         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
38927
38928 2008-10-19  Bruno Haible  <bruno@clisp.org>
38929
38930         Assume that waitpid() fills an 'int' status, not a 'union wait'.
38931         * lib/wait-process.c (WAIT_T): Remove type.
38932         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
38933         (wait_subprocess): Update.
38934
38935 2008-10-19  Bruno Haible  <bruno@clisp.org>
38936
38937         New module 'atoll'.
38938         * modules/atoll: New file.
38939         * lib/stdlib.in.h (atoll): New declaration.
38940         * lib/atoll.c: New file, from glibc with modifications.
38941         * m4/atoll.m4: New file.
38942         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
38943         HAVE_ATOLL.
38944         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
38945         * doc/posix-functions/atoll.texi: Mention the new module.
38946
38947 2008-10-19  Bruno Haible  <bruno@clisp.org>
38948
38949         Add strtoull() declaration to <stdlib.h>.
38950         * lib/stdlib.in.h (strtoull): New declaration.
38951         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
38952         Set HAVE_STRTOULL.
38953         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
38954         HAVE_STRTOULL.
38955         * modules/strtoull (Depends-on): Add stdlib.
38956         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
38957         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
38958         HAVE_STRTOULL.
38959
38960 2008-10-19  Bruno Haible  <bruno@clisp.org>
38961
38962         Add strtoll() declaration to <stdlib.h>.
38963         * lib/stdlib.in.h (strtoll): New declaration.
38964         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
38965         Set HAVE_STRTOLL.
38966         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
38967         HAVE_STRTOLL.
38968         * modules/strtoll (Depends-on): Add stdlib.
38969         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
38970         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
38971
38972 2008-10-19  Bruno Haible  <bruno@clisp.org>
38973
38974         * modules/bcopy (Depends-on): Add strings.
38975         (Include): Specify <strings.h>.
38976
38977 2008-10-19  Bruno Haible  <bruno@clisp.org>
38978
38979         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
38980
38981 2008-10-19  Bruno Haible  <bruno@clisp.org>
38982
38983         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
38984         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
38985         mingw.
38986
38987 2008-10-19  Bruno Haible  <bruno@clisp.org>
38988
38989         * lib/atanl.c: Don't include isnanl.h.
38990         * lib/cosl.c: Likewise.
38991         * lib/ldexpl.c: Likewise.
38992         * lib/logl.c: Likewise.
38993         * lib/sinl.c: Likewise.
38994         * lib/sqrtl.c: Likewise.
38995         * lib/tanl.c: Likewise.
38996
38997         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
38998         * lib/isnanf.h: Remove file.
38999         * lib/isnand.h: Remove file.
39000         * lib/isnanl.h: Remove file.
39001         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
39002         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
39003         macros.
39004         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
39005         HAVE_ISNANF, don't define it as a C macro.
39006         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
39007         HAVE_ISNAND, don't define it as a C macro.
39008         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
39009         HAVE_ISNANL, don't define it as a C macro.
39010         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
39011         HAVE_ISNAN[FDL].
39012         * modules/isnanf (Files): Remove lib/isnanf.h.
39013         (Depends-on): Add math.
39014         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
39015         (Include): Specify <math.h> instead of isnanf.h.
39016         * modules/isnand (Files): Remove lib/isnand.h.
39017         (Depends-on): Add math.
39018         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
39019         (Include): Specify <math.h> instead of isnand.h.
39020         * modules/isnanl (Files): Remove lib/isnanl.h.
39021         (Depends-on): Add math.
39022         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
39023         (Include): Specify <math.h> instead of isnanl.h.
39024         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
39025         HAVE_ISNAN[FDL].
39026         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
39027         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
39028         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
39029         * NEWS: Mention the change.
39030
39031 2008-10-18  Bruno Haible  <bruno@clisp.org>
39032
39033         Add getusershell(), setusershell(), endusershell() declarations to
39034         <unistd.h>.
39035         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
39036         declarations.
39037         * lib/getusershell.c: Include unistd.h.
39038         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
39039         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
39040         HAVE_GETUSERSHELL.
39041         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
39042         and HAVE_GETUSERSHELL.
39043         * modules/getusershell (Depends-on): Add unistd, extensions.
39044         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
39045         (Include): Specify <unistd.h>.
39046         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
39047         HAVE_GETUSERSHELL.
39048
39049 2008-10-18  Bruno Haible  <bruno@clisp.org>
39050
39051         Add a getloadavg() declaration to <stdlib.h>.
39052         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
39053         getloadavg declaration.
39054         (getloadavg): New declaration.
39055         * lib/getloadavg.c: Include <stdlib.h> first.
39056         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
39057         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
39058         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
39059         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
39060         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
39061         * modules/getloadavg (Depends-on): Add stdlib, extensions.
39062         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
39063         (Include): Specify <stdlib.h>.
39064         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
39065         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
39066
39067 2008-10-18  Bruno Haible  <bruno@clisp.org>
39068
39069         * lib/dirchownmod.c: Don't include lchmod.h.
39070
39071         Move the lchmod() declaration to <sys/stat.h>.
39072         * lib/lchmod.h: Remove file.
39073         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
39074         (lchmod): New declaration, moved here from lib/lchown.h.
39075         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
39076         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
39077         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
39078         and HAVE_LCHMOD.
39079         * modules/lchmod (Files): Remove lib/lchmod.h.
39080         (Depends-on): Add sys_stat, extensions.
39081         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
39082         (Include): Specify <sys/stat.h> instead of lchmod.h.
39083         * modules/sys_stat (Depends-on): Add link-warning.
39084         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
39085         definition of GL_LINK_WARNING.
39086         * NEWS: Mention the change.
39087
39088 2008-10-18  Bruno Haible  <bruno@clisp.org>
39089
39090         * lib/fchdir.c: Don't include dirfd.h.
39091         * lib/fts.c: Likewise.
39092         * lib/getcwd.c: Likewise.
39093         * lib/glob.c: Likewise.
39094
39095         Move the dirfd() declaration to <dirent.h>.
39096         * lib/dirfd.h: Remove file.
39097         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
39098         (dirfd): New declaration.
39099         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
39100         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
39101         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
39102         HAVE_DECL_DIRFD.
39103         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
39104         HAVE_DECL_DIRFD.
39105         * modules/dirfd (Files): Remove lib/dirfd.h.
39106         (Depends-on): Add dirent, extensions.
39107         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
39108         (Include): Specify <dirent.h> instead of dirfd.h.
39109         * modules/dirent (Depends-on): Add link-warning.
39110         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
39111         definition of GL_LINK_WARNING.
39112         * NEWS: Mention the change.
39113
39114 2008-10-18  Bruno Haible  <bruno@clisp.org>
39115
39116         Move the euidaccess() declaration to <unistd.h>.
39117         * lib/euidaccess.h: Remove file.
39118         * lib/unistd.in.h (euidaccess): New declaration.
39119         * lib/euidaccess.c: Don't include euidaccess.h.
39120         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
39121         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
39122         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
39123         and HAVE_EUIDACCESS.
39124         * modules/euidaccess (Files): Remove lib/euidaccess.h.
39125         (Depends-on): Add unistd.
39126         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
39127         (Include): Specify <unistd.h> instead of euidaccess.h.
39128         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
39129         HAVE_EUIDACCESS.
39130         * NEWS: Mention the change.
39131
39132 2008-10-18  Bruno Haible  <bruno@clisp.org>
39133
39134         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
39135
39136         Move the getdomainname() declaration to <unistd.h>.
39137         * lib/getdomainname.h: Remove file.
39138         * lib/unistd.in.h (getdomainname): New declaration.
39139         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
39140         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
39141         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
39142         HAVE_GETDOMAINNAME.
39143         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
39144         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
39145         * modules/getdomainname (Files): Remove lib/getdomainname.h.
39146         (Depends-on): Add unistd, extensions.
39147         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
39148         (Includes): Specify <unistd.h> instead of getdomainname.h.
39149         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
39150         HAVE_GETDOMAINNAME.
39151         * NEWS: Mention the change.
39152
39153 2008-10-18  Bruno Haible  <bruno@clisp.org>
39154
39155         * modules/dirent: New file.
39156         * m4/dirent_h.m4: New file.
39157         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
39158         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
39159         * modules/fchdir (Files): Remove lib/dirent.in.h.
39160         (Depends-on): Add dirent.
39161         (Makefile.am): Move rules to modules/dirent.
39162         * doc/posix-headers/dirent.texi: Mention the new module.
39163
39164 2008-10-18  Bruno Haible  <bruno@clisp.org>
39165
39166         Avoid -Wunused-parameter warnings in public gnulib header files.
39167         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
39168         macro.
39169         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
39170
39171 2008-10-18  Bruno Haible  <bruno@clisp.org>
39172
39173         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
39174         * doc/glibc-functions/error.texi: Mention the module 'error'.
39175         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
39176         * doc/glibc-functions/getdomainname.texi: Mention the module
39177         'getdomainname'.
39178         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
39179         * doc/glibc-functions/getpagesize.texi: Mention the module
39180         'getpagesize'.
39181         * doc/glibc-functions/getusershell.texi: Mention the module
39182         'getusershell'.
39183         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
39184         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
39185         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
39186         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
39187         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
39188         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
39189         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
39190         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
39191         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
39192         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
39193         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
39194         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
39195         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
39196         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
39197
39198 2008-10-17  Bruno Haible  <bruno@clisp.org>
39199
39200         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
39201         HP-UX and IRIX, use -0.0L.
39202         * tests/test-ceill.c (minus_zero): Likewise.
39203         * tests/test-floorl.c (minus_zero): Likewise.
39204         * tests/test-frexpl.c (minus_zero): Likewise.
39205         * tests/test-isnan.c (minus_zerol): Likewise.
39206         * tests/test-isnanl.h (minus_zero): Likewise.
39207         * tests/test-ldexpl.c (minus_zero): Likewise.
39208         * tests/test-roundl.c (minus_zero): Likewise.
39209         * tests/test-signbit.c (minus_zerol): Likewise.
39210         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
39211         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
39212         * tests/test-truncl.c (minus_zero): Likewise.
39213         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
39214         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
39215         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
39216         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
39217
39218 2008-10-17  Bruno Haible  <bruno@clisp.org>
39219
39220         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
39221         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
39222         that it gets activated only for gcc >= 3.0.
39223         * lib/dirent.in.h: Likewise.
39224         * lib/errno.in.h: Likewise.
39225         * lib/fcntl.in.h: Likewise.
39226         * lib/float.in.h: Likewise.
39227         * lib/iconv.in.h: Likewise.
39228         * lib/inttypes.in.h: Likewise.
39229         * lib/locale.in.h: Likewise.
39230         * lib/math.in.h: Likewise.
39231         * lib/netdb.in.h: Likewise.
39232         * lib/netinet_in.in.h: Likewise.
39233         * lib/search.in.h: Likewise.
39234         * lib/signal.in.h: Likewise.
39235         * lib/spawn.in.h: Likewise.
39236         * lib/stdarg.in.h: Likewise.
39237         * lib/stdint.in.h: Likewise.
39238         * lib/stdio.in.h: Likewise.
39239         * lib/stdlib.in.h: Likewise.
39240         * lib/string.in.h: Likewise.
39241         * lib/strings.in.h: Likewise.
39242         * lib/sys_file.in.h: Likewise.
39243         * lib/sys_ioctl.in.h: Likewise.
39244         * lib/sys_select.in.h: Likewise.
39245         * lib/sys_socket.in.h: Likewise.
39246         * lib/sys_stat.in.h: Likewise.
39247         * lib/sys_time.in.h: Likewise.
39248         * lib/sysexits.in.h: Likewise.
39249         * lib/time.in.h: Likewise.
39250         * lib/unistd.in.h: Likewise.
39251         * lib/wchar.in.h: Likewise.
39252         * lib/wctype.in.h: Likewise.
39253         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
39254
39255 2008-10-17  Jim Meyering  <meyering@redhat.com>
39256
39257         ignore-value: don't depend on inline module
39258         * modules/ignore-value (Depends-on): Remove 'inline'.
39259         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
39260         Suggestion from Bruno Haible.
39261
39262 2008-10-17  Bruno Haible  <bruno@clisp.org>
39263
39264         New implementation of condition variables for Win32.
39265         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
39266         (gl_linked_waitqueue_t): New type.
39267         (gl_cond_t): Use it.
39268         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
39269         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
39270         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
39271         (glthread_cond_init_func, glthread_cond_wait_func,
39272         glthread_cond_timedwait_func, glthread_cond_signal_func,
39273         glthread_cond_broadcast_func, glthread_cond_destroy_func):
39274         Reimplemented on the basis of gl_linked_waitqueue_t.
39275         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
39276         gl_waitqueue_t.
39277         (gl_rwlock_t): Update.
39278         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
39279
39280 2008-10-17  Simon Josefsson  <simon@josefsson.org>
39281
39282         * modules/recvfrom (Depends-on): Add dependency on getpeername.
39283         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
39284
39285 2008-10-17  Jim Meyering  <meyering@redhat.com>
39286
39287         ignore-value: new module
39288         * modules/ignore-value: New file.
39289         * lib/ignore-value.h: New file.
39290         * MODULES.html.sh (Compiler warning management): New section,
39291         just for this module.  More to come.
39292
39293 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
39294
39295         open-safer.c: avoid 'signed and unsigned in conditional...' warning
39296         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
39297         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
39298
39299 2008-10-16  Jim Meyering  <meyering@redhat.com>
39300
39301         openat-die.c: avoid 'no previous prototype' warning
39302         * lib/openat-die.c: Include "openat.h".
39303         Reported by Reuben Thomas <rrt@sc3d.org>.
39304
39305 2008-10-16  Simon Josefsson  <simon@josefsson.org>
39306
39307         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
39308         * lib/netdb.in.h: Fix typo.
39309         Reported by Bruno Haible  <bruno@clisp.org>
39310
39311         * lib/netdb.in.h: Include sys/socket.h for platforms without
39312         netdb.h, to get structures like hostent on MinGW.
39313         * modules/netdb (Depends-on): Add sys_socket.
39314
39315 2008-10-15  Simon Josefsson  <simon@josefsson.org>
39316
39317         * modules/netdb, modules/netdb-tests: New file.
39318         * m4/netdb_h.m4: New file.
39319         * lib/netdb.in.h: Add, currently just an empty file pending
39320         definitions.
39321         * tests/test-netdb.c: New file.
39322         * doc/posix-headers/netdb.texi: Mention that we replace it if
39323         needed.
39324         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
39325         netdb.
39326
39327 2008-10-15  Simon Josefsson  <simon@josefsson.org>
39328
39329         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
39330         with code.
39331
39332 2008-10-13  Bruno Haible  <bruno@clisp.org>
39333
39334         * lib/glthread/cond.c (glthread_cond_wait_func,
39335         glthread_cond_timedwait_func): Add a comment.
39336
39337 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
39338
39339         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
39340         * tests/test-select.c: Likewise,
39341
39342 2008-10-13  Bruno Haible  <bruno@clisp.org>
39343
39344         * lib/glthread/cond.c (glthread_cond_wait_func,
39345         glthread_cond_timedwait_func): Fix variable name.
39346         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
39347
39348 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
39349
39350         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
39351         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
39352         struct sockaddr.sa_len.
39353         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
39354
39355 2008-10-13  Simon Josefsson  <simon@josefsson.org>
39356
39357         * build-aux/pmccabe2html: Add css and css_url parameters.
39358
39359 2008-10-12  Bruno Haible  <bruno@clisp.org>
39360
39361         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
39362         calling aclx_get.
39363         Reported by Rainer Tammer <tammer@tammer.net>.
39364
39365 2008-10-12  Bruno Haible  <bruno@clisp.org>
39366
39367         Use msvcrt aware primitives for creation/termination of Win32 threads.
39368         * lib/glthread/thread.c: Include <process.h>.
39369         (glthread_create_func): Use _beginthreadex instead of CreateThread.
39370         (wrapper_func): Update signature.
39371         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
39372
39373 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
39374             Bruno Haible  <bruno@clisp.org>
39375
39376         Provide a Win32 implementation of the 'cond' module.
39377         * lib/glthread/cond.h [USE_WIN32]: New implementation.
39378         * lib/glthread/cond.c (glthread_cond_init_func,
39379         glthread_cond_wait_func, glthread_cond_timedwait_func,
39380         glthread_cond_signal_func, glthread_cond_broadcast_func,
39381         glthread_cond_destroy_func) [USE_WIN32]: New functions.
39382         * modules/cond (Dependencies): Add gettimeofday.
39383
39384 2008-10-11  Bruno Haible  <bruno@clisp.org>
39385
39386         Make sleep work on older versions of mingw.
39387         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
39388         only whether it exists.
39389         * doc/posix-functions/sleep.texi: Mention the problem with older
39390         versions of mingw.
39391
39392 2008-10-11  Bruno Haible  <bruno@clisp.org>
39393
39394         New module 'shutdown'.
39395         * modules/shutdown: New file.
39396         * lib/sys_socket.in.h (shutdown): New declaration.
39397         * lib/winsock.c (shutdown): New function.
39398         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
39399         GNULIB_SHUTDOWN.
39400         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
39401         * doc/posix-functions/shutdown.texi: Document the new module.
39402
39403 2008-10-11  Jim Meyering  <meyering@redhat.com>
39404
39405         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
39406
39407 2008-10-11  Bruno Haible  <bruno@clisp.org>
39408
39409         New module 'fclose'.
39410         * modules/fclose: New file.
39411         * lib/stdio.in.h (fclose): New declaration.
39412         * lib/fclose.c: New file.
39413         * m4/fclose.m4: New file.
39414         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
39415         REPLACE_FCLOSE.
39416         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
39417         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
39418         REPLACE_FCLOSE.
39419         * modules/close (Depends-on): fclose.
39420         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
39421
39422 2008-10-11  Bruno Haible  <bruno@clisp.org>
39423
39424         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
39425         set errno and don't call _close.
39426
39427 2008-10-10  Bruno Haible  <bruno@clisp.org>
39428
39429         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
39430         ACL, not afterwards. Fixes test failure on Cygwin.
39431
39432 2008-10-09  Ben Pfaff  <blp@gnu.org>
39433
39434         * build-aux/announce-gen: Fix gnulib version related part of usage
39435         message.  Die with a useful error message if no tarballs are
39436         found.
39437
39438 2008-10-10  Jim Meyering  <meyering@redhat.com>
39439
39440         bootstrap: use git's --depth=N option only if it's supported
39441         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
39442         recognize the --depth option.  Reported by Pádraig Brady.
39443
39444 2008-10-09  Bruno Haible  <bruno@clisp.org>
39445
39446         New module 'ioctl'.
39447         * modules/ioctl: New file.
39448         * lib/sys_socket.in.h (ioctl): Remove declaration.
39449         * lib/winsock.c: Include <sys/ioctl.h>.
39450         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
39451         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
39452         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
39453         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
39454         * doc/posix-functions/ioctl.texi: Mention the new module.
39455
39456 2008-10-09  Bruno Haible  <bruno@clisp.org>
39457
39458         New module 'sys_ioctl'.
39459         * lib/sys_ioctl.in.h: New file.
39460         * m4/sys_ioctl_h.m4: New file.
39461         * modules/sys_ioctl: New file.
39462         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
39463
39464 2008-10-09  Bruno Haible  <bruno@clisp.org>
39465
39466         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
39467         * lib/winsock.c: Include <stdarg.h>.
39468         (rpl_ioctl): Change to second argument 'int' and then varargs.
39469
39470 2008-10-09  Bruno Haible  <bruno@clisp.org>
39471
39472         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
39473         when the sys_socket module is present and the system has <winsock2.h>.
39474
39475 2008-10-09  Bruno Haible  <bruno@clisp.org>
39476
39477         * doc/posix-functions/close.texi: Mention module 'close' instead of
39478         module 'sys_socket'.
39479
39480 2008-10-09  Bruno Haible  <bruno@clisp.org>
39481
39482         * doc/glibc-headers/sys_ioctl.texi: New file.
39483         * doc/gnulib.texi: Include it.
39484
39485 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
39486             Bruno Haible  <bruno@clisp.org>
39487
39488         Combine the two replacements of 'close'.
39489         * lib/sys_socket.in.h (close): Define to a reminder to include
39490         <unistd.h>.
39491         (_gl_close_fd_maybe_socket): New declaration.
39492         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
39493         * lib/winsock.c (close): Remove undefinition.
39494         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
39495         needed for the gnulib module 'close'.
39496         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
39497         define to an error symbol or to a warning, if suitable.
39498         * lib/close.c: Include <sys/socket.h>.
39499         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
39500         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
39501         UNISTD_H_HAVE_WINSOCK2_H.
39502         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
39503         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
39504         UNISTD_H_HAVE_WINSOCK2_H.
39505         * modules/sys_socket (Files): Add m4/unistd_h.m4.
39506         (configure.ac): Set a module indicator.
39507         (Makefile.am): Substitute GNULIB_CLOSE.
39508         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
39509         * modules/poll-tests (Depends-on): Add close.
39510         * modules/select-tests (Depends-on): Likewise.
39511
39512 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
39513             Bruno Haible  <bruno@clisp.org>
39514
39515         New module 'close'.
39516         * modules/close: New file.
39517         * lib/unistd.in.h (close): Move declaration out of the
39518         FCHDIR_REPLACEMENT scope.
39519         (_gl_unregister_fd): New declaration.
39520         * lib/close.c: New file.
39521         * lib/fchdir.c (rpl_close): Remove function.
39522         * m4/close.m4: New file.
39523         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
39524         close.
39525         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
39526         REPLACE_CLOSE.
39527         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
39528         REPLACE_CLOSE.
39529         * modules/fchdir (Depends-on): Add close.
39530
39531 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
39532             Bruno Haible  <bruno@clisp.org>
39533
39534         * lib/fcntl.in.h (open): Simplify conditionals.
39535         (_gl_register_fd): New declaration.
39536         * lib/fchdir.c (rpl_open): Remove function.
39537         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
39538         also.
39539         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
39540         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
39541         open.
39542
39543 2008-10-09  Jim Meyering  <meyering@redhat.com>
39544
39545         GNUmakefile: use the more name-space-friendly "_version"
39546         * top/GNUmakefile (_dummy): Update.
39547         (_version): Rename from "version".
39548
39549 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
39550             Bruno Haible  <bruno@clisp.org>
39551
39552         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
39553         rpl_close.
39554         (_gl_register_fd): New function, extracted from rpl_open.
39555         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
39556         (rpl_open, rpl_opendir): Use _gl_register_fd.
39557
39558 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
39559
39560         Fix organization of 'open' replacement.
39561         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
39562         (gl_FUNC_OPEN): Use it.
39563         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
39564
39565 2008-10-08  Bruno Haible  <bruno@clisp.org>
39566
39567         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
39568
39569 2008-10-08  Simon Josefsson  <simon@josefsson.org>
39570
39571         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
39572         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
39573         listen).
39574
39575 2008-10-08  Eric Blake  <ebb9@byu.net>
39576
39577         GNUmakefile: add 'make version' target
39578         * top/GNUmakefile (_curr-ver): Split version update rules...
39579         (version): ...into a target.
39580
39581 2008-10-07  Bruno Haible  <bruno@clisp.org>
39582
39583         Use a more portable replacement expression for -0.0L.
39584         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
39585         instead of -0.0L. Fix m4 quotation.
39586
39587         * tests/test-signbit.c: Include <float.h>.
39588         (minus_zero): New variable.
39589         (test_signbitl): Use minus_zero instead of -zero.
39590         * modules/signbit-tests (Depends-on): Add float.
39591
39592         * tests/test-ceill.c: Include <float.h>.
39593         (zero): Remove variable.
39594         (minus_zero): New variable.
39595         (main): Use minus_zero instead of -zero.
39596         * modules/ceill-tests (Depends-on): Add float.
39597
39598         * tests/test-floorl.c: Include <float.h>.
39599         (zero): Remove variable.
39600         (minus_zero): New variable.
39601         (main): Use minus_zero instead of -zero.
39602         * modules/floorl-tests (Depends-on): Add float.
39603
39604         * tests/test-roundl.c: Include <float.h>.
39605         (zero): Remove variable.
39606         (minus_zero): New variable.
39607         (main): Use minus_zero instead of -zero.
39608         * modules/roundl-tests (Depends-on): Add float.
39609
39610         * tests/test-truncl.c: Include <float.h>.
39611         (zero): Remove variable.
39612         (minus_zero): New variable.
39613         (main): Use minus_zero instead of -zero.
39614         * modules/truncl-tests (Depends-on): Add float.
39615
39616         * tests/test-frexpl.c (zero): Remove variable.
39617         (minus_zero): New variable.
39618         (main): Use minus_zero instead of -zero.
39619         * modules/frexpl-tests (Depends-on): Add float.
39620
39621         * tests/test-isnan.c (zerol): Remove variable.
39622         (minus_zerol): New variable.
39623         (test_long_double): Use minus_zerol instead of -zerol.
39624         * modules/isnan-tests (Depends-on): Add float.
39625
39626         * tests/test-isnanl.h (zero): Remove variable.
39627         (minus_zero): New variable.
39628         (main): Use minus_zero instead of -zero.
39629         * modules/isnanl-nolibm-tests (Depends-on): Add float.
39630         * modules/isnanl-tests (Depends-on): Add float.
39631
39632         * tests/test-ldexpl.c (zero): Remove variable.
39633         (minus_zero): New variable.
39634         (main): Use minus_zero instead of -zero.
39635         * modules/ldexpl-tests (Depends-on): Add float.
39636
39637         * tests/test-snprintf-posix.h (zerol): Remove variable.
39638         (minus_zerol): New variable.
39639         (test_function): Use minus_zerol instead of -zerol.
39640         * modules/snprintf-posix-tests (Depends-on): Add float.
39641         * modules/vsnprintf-posix-tests (Depends-on): Add float.
39642
39643         * tests/test-sprintf-posix.h (zerol): Remove variable.
39644         (minus_zerol): New variable.
39645         (test_function): Use minus_zerol instead of -zerol.
39646         * modules/sprintf-posix-tests (Depends-on): Add float.
39647         * modules/vsprintf-posix-tests (Depends-on): Add float.
39648
39649         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
39650         (minus_zerol): New variable.
39651         (test_function): Use minus_zerol instead of -zerol.
39652         * modules/vasnprintf-posix-tests (Depends-on): Add float.
39653
39654         * tests/test-vasprintf-posix.c (zerol): Remove variable.
39655         (minus_zerol): New variable.
39656         (test_function): Use minus_zerol instead of -zerol.
39657         * modules/vasprintf-posix-tests (Depends-on): Add float.
39658
39659 2008-10-07  Simon Josefsson  <simon@josefsson.org>
39660
39661         * MODULES.html.sh (Support for building documentation): Mention
39662         pmccabe2html.  Sort entries.
39663
39664         Add pmccabe2html module, from gnupdf.
39665         * build-aux/pmccabe.css: New file.
39666         * build-aux/pmccabe2html: New file.
39667         * m4/pmccabe2html.m4: New file.
39668         * modules/pmccabe2html: New file.
39669
39670 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
39671
39672         flock: new module
39673         * MODULES.html.sh: Add to list of modules.
39674         * lib/flock.c: flock implementation for Windows and Unix systems
39675         which have fcntl.
39676         * doc/glibc-functions/flock.texi: Update documentation.
39677         * lib/sys_file.in.h: <sys/file.h> header file.
39678         * m4/flock.m4: M4 macros.
39679         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
39680         * modules/flock: flock module.
39681         * modules/flock-tests: flock tests module.
39682         * modules/sys_file: sys/file.h module.
39683         * tests/test-flock.c: test suite for flock.
39684
39685 2008-10-06  Jim Meyering  <meyering@redhat.com>
39686
39687         bootstrap: check for LT_INIT more portably still ;-)
39688         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
39689         Spotted by Bruno Haible.
39690
39691 2008-10-06  Eric Blake  <ebb9@byu.net>
39692
39693         test-signbit: avoid tripping Irix cc bug on -0.0L
39694         * tests/test-signbit.c (minus_zerol): Delete, and replace with
39695         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
39696         entire testsuite consistent and avoids an Irix 6.2 bug.
39697
39698 2008-10-05  Bruno Haible  <bruno@clisp.org>
39699             Jim Meyering  <jim@meyering.net>
39700
39701         Add an option for ignoring EPIPE during close_stdout.
39702         * lib/closeout.h: Include <stdbool.h>.
39703         (close_stdout_set_ignore_EPIPE): New declaration.
39704         * lib/closeout.c: Include <stdbool.h>.
39705         (ignore_EPIPE): New variable.
39706         (close_stdout_set_ignore_EPIPE): New function.
39707         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
39708         * lib/close-stream.c (close_stream): Mention the possible EPIPE
39709         failure.
39710         * modules/closeout (Depends-on): Add stdbool.
39711
39712 2008-10-05  Bruno Haible  <bruno@clisp.org>
39713
39714         * modules/accept: New file.
39715         * modules/bind: New file.
39716         * modules/connect: New file.
39717         * modules/getpeername: New file.
39718         * modules/getsockname: New file.
39719         * modules/getsockopt: New file.
39720         * modules/listen: New file.
39721         * modules/recv: New file.
39722         * modules/recvfrom: New file.
39723         * modules/send: New file.
39724         * modules/sendto: New file.
39725         * modules/setsockopt: New file.
39726         * modules/socket: New file.
39727         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
39728         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
39729         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
39730         the particular module is requested. Add a link warning when the
39731         particular module is not requested.
39732         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
39733         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
39734         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
39735         the particular module is requested.
39736         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
39737         gl_SYS_SOCKET_H_DEFAULTS): New macros.
39738         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
39739         * modules/sys_socket (Depends-on): Add link-warning.
39740         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
39741         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
39742         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
39743         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
39744         GL_LINK_WARNING.
39745         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
39746         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
39747         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
39748         * doc/posix-functions/getpeername.texi: Mention the new module
39749         'getpeername'.
39750         * doc/posix-functions/getsockname.texi: Mention the new module
39751         'getsockname'.
39752         * doc/posix-functions/getsockopt.texi: Mention the new module
39753         'getsockopt'.
39754         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
39755         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
39756         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
39757         * doc/posix-functions/send.texi: Mention the new module 'send'.
39758         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
39759         * doc/posix-functions/setsockopt.texi: Mention the new module
39760         'setsockopt'.
39761         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
39762         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
39763         listen, connect, accept.
39764         * modules/select-tests (Depends-on): Likewise.
39765
39766 2008-10-05  Bruno Haible  <bruno@clisp.org>
39767
39768         * lib/winsock.c (strerror): Remove unused #undef.
39769         (rpl_close): Remove unused local variable.
39770
39771         * modules/sys_socket (Depends-on); Add errno.
39772
39773 2008-10-05  Bruno Haible  <bruno@clisp.org>
39774
39775         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
39776         (select): Add a link warning when the 'select' module is not used.
39777         * modules/sys_select (Depends-on): Add link-warning.
39778         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
39779         Suggested by Paolo Bonzini.
39780
39781 2008-10-05  Jim Meyering  <meyering@redhat.com>
39782
39783         bootstrap: check for LT_INIT more portably
39784         * build-aux/bootstrap: Avoid using grep -E, since it's not
39785         portable enough.  Suggestion from Bruno Haible.
39786
39787 2008-10-05  Bruno Haible  <bruno@clisp.org>
39788
39789         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
39790         as being fixed by gnulib.
39791
39792 2008-10-05  Bruno Haible  <bruno@clisp.org>
39793
39794         * modules/select-tests: New file, mostly copied from
39795         modules/sys_select-tests.
39796         * tests/test-select.c: New file, mostly copied from
39797         tests/test-sys_select.c.
39798         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
39799         * modules/sys_select-tests (Depends-on): Remove all dependencies.
39800         (Makefile.am): Remove test_sys_select_LDADD.
39801
39802         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
39803         to an undefined symbol, for an error message.
39804         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
39805         (gl_SYS_SELECT_H_DEFAULTS): New macro.
39806         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
39807         winsock-select.c here.
39808         * modules/sys_select (Files): Remove lib/winsock-select.c.
39809         (Depends-on): Remove alloca.
39810         (Makefile.am): Substitute GNULIB_SELECT.
39811         * modules/select: New file.
39812         * doc/posix-functions/select.texi: Update.
39813
39814 2008-10-05  Bruno Haible  <bruno@clisp.org>
39815
39816         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
39817         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
39818         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
39819         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
39820         getdtablesize.
39821         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
39822         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
39823
39824 2008-10-05  Bruno Haible  <bruno@clisp.org>
39825
39826         * modules/getdtablesize-tests: New file.
39827         * tests/test-getdtablesize.c: New file.
39828
39829         New module 'getdtablesize'.
39830         * lib/unistd.in.h (getdtablesize): New declaration.
39831         * lib/getdtablesize.c: New file.
39832         * m4/getdtablesize.m4: New file.
39833         * modules/getdtablesize: New file.
39834         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
39835         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
39836         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
39837         HAVE_GETDTABLESIZE.
39838         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
39839
39840 2008-10-05  Bruno Haible  <bruno@clisp.org>
39841
39842         * modules/sched (Makefile.am): Fix typo.
39843         Reported by Simon Josefsson.
39844
39845 2008-10-05  Jim Meyering  <meyering@redhat.com>
39846
39847         bootstrap: check for LT_INIT, too
39848         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
39849         are deprecated.  Suggestion from Ralf Wildenhues.
39850
39851 2008-10-05  Bruno Haible  <bruno@clisp.org>
39852
39853         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
39854         overriding them by ours.
39855         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
39856
39857 2008-10-05  Jim Meyering  <meyering@redhat.com>
39858
39859         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
39860         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
39861         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
39862
39863 2008-10-04  Bruno Haible  <bruno@clisp.org>
39864
39865         * modules/dup2 (License): Change to LGPLv2+.
39866         * modules/sleep (License): Likewise.
39867         * modules/perror (License): Likewise.
39868         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
39869         Blake.
39870         * modules/signal (License): Likewise.
39871         * modules/sigprocmask (License): Likewise.
39872         * modules/raise (License): Change to LGPLv2+, with approval by Jim
39873         Meyering.
39874
39875 2008-10-04  Bruno Haible  <bruno@clisp.org>
39876
39877         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
39878         Reported by Rainer Tammer <tammer@tammer.net>.
39879
39880 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
39881             Bruno Haible  <bruno@clisp.org>
39882
39883         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
39884         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
39885         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
39886
39887 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
39888
39889         filevercmp: new module
39890         * lib/filevercmp.h: New function filevercmp comparing version strings.
39891         * lib/filevercmp.c: Implementation of filevercmp function.
39892         * modules/filevercmp: Module metadata.
39893         * tests/test-filevercmp.c: Unit test for new module.
39894         * modules/filevercmp-tests: Unit test metadata.
39895         * MODULES.html.sh: Add filevercmp module.
39896
39897 2008-10-03  Bruno Haible  <bruno@clisp.org>
39898
39899         * lib/c-ctype.h: Add comment.
39900         Reported by Jim Meyering.
39901
39902 2008-10-02  Bruno Haible  <bruno@clisp.org>
39903
39904         * modules/posix_spawn-internal (Depends-on): Add 'open'.
39905
39906 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
39907
39908         * build-aux/bootstrap: Allow renaming bootstrap, and change the
39909         name of bootstrap.conf accordingly.
39910
39911 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
39912
39913         * build-aux/bootstrap: Install git-merge-changelog configuration
39914         items into .gitconfig if needed.
39915
39916 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
39917
39918         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
39919         git repository, and initialize/update it accordingly.
39920
39921 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
39922
39923         * modules/fsync-tests: New file.
39924         * tests/test-fsync.c: New file.
39925
39926         New module 'fsync'.
39927         * lib/fsync.c: New file.
39928         * m4/fsync.m4: New file.
39929         * modules/fsync: New file.
39930         * lib/unistd.in.h (fsync): New declaration.
39931         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
39932         GNULIB_FSYNC and HAVE_FSYNC.
39933         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
39934         * MODULES.html.sh (posix_functions): Add fsync.
39935         * doc/posix-functions/fsync.texi: Mention the new module.
39936
39937 2008-10-02  Jim Meyering  <meyering@redhat.com>
39938
39939         fts.c: sync with similar code from coreutils' remove.c
39940         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
39941         Guard also with "#if defined __linux__", since for now at least,
39942         this code is Linux-kernel-specific.
39943
39944 2008-10-02  Jim Meyering  <meyering@redhat.com>
39945
39946         fts: bug fixes
39947         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
39948         Include <sys/vfs.h>, not <sys/statfs.h>.
39949
39950         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
39951         Include <sys/vfs.h>, not <sys/statfs.h>.
39952
39953 2008-10-01  Bruno Haible  <bruno@clisp.org>
39954
39955         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
39956         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
39957         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
39958         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
39959         * doc/posix-functions/posix_spawnp.texi: Likewise.
39960         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
39961         whether posix_spawn actually works.
39962         * m4/pipe.m4 (gl_PIPE): Likewise.
39963         * modules/execute (Files): Add m4/posix_spawn.m4.
39964         * modules/pipe (Files): Add m4/posix_spawn.m4.
39965         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
39966
39967 2008-10-01  Jim Meyering  <meyering@redhat.com>
39968
39969         remove trailing spaces
39970         * NEWS: Likewise.
39971         * lib/poll.c (poll): Likewise.
39972         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
39973         * lib/winsock.c (rpl_close): Likewise.
39974         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
39975         * modules/yield: Likewise.
39976         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
39977         * tests/test-sys_select.c (connect_to_socket): Likewise.
39978
39979         fts.c: adjust a new interface to be more generally useful
39980         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
39981         (fts_build): Adjust caller.
39982
39983 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
39984
39985         * modules/cond-tests: New file.
39986         * tests/test-cond.c: New file.
39987
39988 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
39989             Bruno Haible  <bruno@clisp.org>
39990
39991         * modules/cond (Dependencies): Add errno, time.
39992         * lib/glthread/cond.h: Include <time.h>.
39993         (gl_cond_define, gl_cond_define_initialized): Use the same definition
39994         across platforms.
39995
39996 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
39997             Bruno Haible  <bruno@clisp.org>
39998
39999         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
40000
40001 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
40002             Bruno Haible  <bruno@clisp.org>
40003
40004         * modules/tls-tests (Depends-on): Add thread, yield.
40005         (configure.ac): Remove all checks.
40006         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
40007         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
40008         gl_thread_self): Remove definitions. Include glthread/thread.h and
40009         glthread/yield.h instead.
40010         (test_tls): Pass an additional NULL argument to gl_thread_join.
40011
40012 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
40013             Bruno Haible  <bruno@clisp.org>
40014
40015         * modules/lock-tests (Depends-on): Add thread, yield.
40016         (configure.ac): Remove all checks.
40017         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
40018         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
40019         gl_thread_self): Remove definitions. Include glthread/thread.h and
40020         glthread/yield.h instead.
40021         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
40022         additional NULL argument to gl_thread_join.
40023
40024 2008-09-30  Bruno Haible  <bruno@clisp.org>
40025
40026         Fix the Win32 implementation of the 'thread' module.
40027         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
40028         pointer type.
40029         (gl_thread_self): Invoke gl_thread_self_func.
40030         (gl_thread_self_func): New declaration.
40031         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
40032         (do_init_self_key, init_self_key): New functions.
40033         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
40034         Remove some fields.
40035         (running_threads, running_lock): Remove variables.
40036         (get_current_thread_handle): New function.
40037         (gl_thread_self_func, wrapper_func, glthread_create_func,
40038         glthread_join_func, gl_thread_exit_func): Largely rewritten and
40039         simplified.
40040
40041 2008-09-30  Bruno Haible  <bruno@clisp.org>
40042
40043         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
40044         files.
40045
40046 2008-09-30  Jim Meyering  <meyering@redhat.com>
40047
40048         fts.m4: correct the test for statfs.f_type
40049         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
40050         when checking for statfs.f_type.
40051
40052 2008-09-15  Simon Josefsson  <simon@josefsson.org>
40053
40054         tests: avoid some compiler warnings
40055         * tests/test-memchr.c (main): Pass NULL indirectly.
40056         * tests/test-getdate.c (main): Remove unused variable 'ret'.
40057
40058 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
40059
40060         getdate.y: disallow countable dayshifts like "4 yesterday ago"
40061         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
40062         exactly specified dayshifts.
40063         (dayshift): New rule.
40064         (rel): Add dayshift.
40065         (relative_time_table) [tomorrow, yesterday, today, now]:
40066         Use tDAY_SHIFT in place of tDAY_UNIT.
40067         * tests/test-getdate.c: Add tests for now-disallowed countable
40068         dayshifts, e.g., "4 yesterday ago".
40069
40070 2008-09-29  Bruno Haible  <bruno@clisp.org>
40071
40072         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
40073         * tests/test-posix_spawn1.in.sh: Renamed from
40074         tests/test-posix_spawn.in.sh.
40075         * tests/test-posix_spawn2.c: New file.
40076         * tests/test-posix_spawn2.in.sh: New file.
40077         * modules/posix_spawnp-tests (Files): Update.
40078         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
40079
40080 2008-09-29  Bruno Haible  <bruno@clisp.org>
40081
40082         Propagate effects of putenv/setenv/unsetenv to child processes.
40083         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
40084         * lib/pipe.c (create_pipe): Likewise.
40085
40086 2008-09-29  Bruno Haible  <bruno@clisp.org>
40087
40088         Enable use of shell scripts as executables in mingw.
40089         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
40090         run the program as a shell script.
40091         * lib/pipe.c (create_pipe): Likewise.
40092         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
40093         resulting array.
40094
40095 2008-09-29  Eric Blake  <ebb9@byu.net>
40096
40097         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
40098
40099 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
40100
40101         * doc/posix-functions/accept.texi: Update mingw problems.
40102         * doc/posix-functions/bind.texi: Update mingw problems.
40103         * doc/posix-functions/close.texi: Update mingw problems.
40104         * doc/posix-functions/connect.texi: Update mingw problems.
40105         * doc/posix-functions/getpeername.texi: Update mingw problems.
40106         * doc/posix-functions/getsockname.texi: Update mingw problems.
40107         * doc/posix-functions/getsockopt.texi: Update mingw problems.
40108         * doc/posix-functions/ioctl.texi: Update mingw problems.
40109         * doc/posix-functions/listen.texi: Update mingw problems.
40110         * doc/posix-functions/recv.texi: Update mingw problems.
40111         * doc/posix-functions/recvfrom.texi: Update mingw problems.
40112         * doc/posix-functions/select.texi: Update mingw problems.
40113         * doc/posix-functions/send.texi: Update mingw problems.
40114         * doc/posix-functions/sendto.texi: Update mingw problems.
40115         * doc/posix-functions/setsockopt.texi: Update mingw problems.
40116         * doc/posix-functions/socket.texi: Update mingw problems.
40117
40118 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
40119             Bruno Haible  <bruno@clisp.org>
40120
40121         * lib/sys_select.in.h: Include sys/time.h.
40122         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
40123         * modules/sys_select: Depend on sys_time.
40124         * tests/test-sys_select.c: Test that sys/select.h defines struct
40125         timeval fully.
40126
40127 2008-09-29  Bruno Haible  <bruno@clisp.org>
40128
40129         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
40130         * lib/sys_select.in.h: Likewise.
40131
40132 2008-09-29  Bruno Haible  <bruno@clisp.org>
40133
40134         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
40135
40136 2008-09-29  Bruno Haible  <bruno@clisp.org>
40137
40138         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
40139         Set LIBSOCKET instead of augmenting LIBS.
40140         * modules/sockets (Link): New section.
40141         * modules/sockets-tests (test_sockets_LDADD): New variable.
40142         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
40143         * modules/poll-tests (test_poll_LDADD): New variable.
40144         * NEWS: Document the change.
40145
40146 2008-09-29  Bruno Haible  <bruno@clisp.org>
40147
40148         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
40149         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
40150         ARPA_INET_H directly.
40151         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
40152
40153 2008-09-28  Bruno Haible  <bruno@clisp.org>
40154
40155         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
40156         from gl_HEADER_SYS_SOCKET.
40157         (gl_HEADER_SYS_SOCKET): Invoke it.
40158         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
40159
40160 2008-09-28  Bruno Haible  <bruno@clisp.org>
40161
40162         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
40163         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
40164         Needed on OSF/1 4.0.
40165
40166 2008-09-28  Bruno Haible  <bruno@clisp.org>
40167
40168         Override open more carefully.
40169         * lib/open.c (orig_open): New function.
40170         (rpl_open): Use orig_open instead of open.
40171         * lib/fcntl.in.h: Add special invocation convention.
40172         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
40173         (gl_FUNC_OPEN): Invoke it.
40174
40175         Override freopen more carefully.
40176         * lib/freopen.c (orig_freopen): New function.
40177         (rpl_freopen): Use orig_freopen instead of freopen.
40178         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
40179         (gl_FUNC_FREOPEN): Invoke it.
40180
40181         Override fopen more carefully.
40182         * lib/fopen.c (orig_fopen): New function.
40183         (rpl_fopen): Use orig_fopen instead of fopen.
40184         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
40185         (gl_FUNC_FOPEN): Invoke it.
40186         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
40187
40188 2008-09-28  Bruno Haible  <bruno@clisp.org>
40189
40190         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
40191         SIGPIPE.
40192
40193 2008-09-28  Bruno Haible  <bruno@clisp.org>
40194
40195         * tests/test-sigaction.c (handler, main): Disable the check whether
40196         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
40197         glibc systems with LinuxThreads.
40198
40199 2008-09-28  Bruno Haible  <bruno@clisp.org>
40200
40201         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
40202
40203         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
40204         with AIX xlc.
40205         * lib/fcntl.in.h (open): Likewise.
40206         Reported by Rainer Tammer <tammer@tammer.net>.
40207
40208 2008-09-28  Bruno Haible  <bruno@clisp.org>
40209
40210         * modules/posix_spawnp-tests: New file.
40211         * tests/test-posix_spawn.c: New file.
40212         * tests/test-posix_spawn.in.sh: New file.
40213
40214         New module 'posix_spawnp'.
40215         * modules/posix_spawnp: New file.
40216         * lib/spawnp.c: New file, from GNU libc with modifications.
40217         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
40218
40219         New module 'posix_spawn'.
40220         * modules/posix_spawn: New file.
40221         * lib/spawn.c: New file, from GNU libc with modifications.
40222         * doc/posix-functions/posix_spawn.texi: Mention the new module.
40223
40224         New module 'posix_spawnattr_destroy'.
40225         * modules/posix_spawnattr_destroy: New file.
40226         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
40227         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
40228         module.
40229
40230         New module 'posix_spawnattr_setsigmask'.
40231         * modules/posix_spawnattr_setsigmask: New file.
40232         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
40233         modifications.
40234         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
40235         new module.
40236
40237         New module 'posix_spawnattr_getsigmask'.
40238         * modules/posix_spawnattr_getsigmask: New file.
40239         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
40240         modifications.
40241         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
40242         new module.
40243
40244         New module 'posix_spawnattr_setsigdefault'.
40245         * modules/posix_spawnattr_setsigdefault: New file.
40246         * lib/spawnattr_setdefault.c: New file, from GNU libc with
40247         modifications.
40248         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
40249         new module.
40250
40251         New module 'posix_spawnattr_getsigdefault'.
40252         * modules/posix_spawnattr_getsigdefault: New file.
40253         * lib/spawnattr_getdefault.c: New file, from GNU libc with
40254         modifications.
40255         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
40256         new module.
40257
40258         New module 'posix_spawnattr_setschedpolicy'.
40259         * modules/posix_spawnattr_setschedpolicy: New file.
40260         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
40261         modifications.
40262         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
40263         new module.
40264
40265         New module 'posix_spawnattr_getschedpolicy'.
40266         * modules/posix_spawnattr_getschedpolicy: New file.
40267         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
40268         modifications.
40269         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
40270         new module.
40271
40272         New module 'posix_spawnattr_setschedparam'.
40273         * modules/posix_spawnattr_setschedparam: New file.
40274         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
40275         modifications.
40276         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
40277         new module.
40278
40279         New module 'posix_spawnattr_getschedparam'.
40280         * modules/posix_spawnattr_getschedparam: New file.
40281         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
40282         modifications.
40283         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
40284         new module.
40285
40286         New module 'posix_spawnattr_setpgroup'.
40287         * modules/posix_spawnattr_setpgroup: New file.
40288         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
40289         modifications.
40290         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
40291         module.
40292
40293         New module 'posix_spawnattr_getpgroup'.
40294         * modules/posix_spawnattr_getpgroup: New file.
40295         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
40296         modifications.
40297         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
40298         module.
40299
40300         New module 'posix_spawnattr_setflags'.
40301         * modules/posix_spawnattr_setflags: New file.
40302         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
40303         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
40304         module.
40305
40306         New module 'posix_spawnattr_getflags'.
40307         * modules/posix_spawnattr_getflags: New file.
40308         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
40309         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
40310         module.
40311
40312         New module 'posix_spawnattr_init'.
40313         * modules/posix_spawnattr_init: New file.
40314         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
40315         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
40316         module.
40317
40318         New module 'posix_spawn_file_actions_destroy'.
40319         * modules/posix_spawn_file_actions_destroy: New file.
40320         * lib/spawn_faction_destroy.c: New file, from GNU libc with
40321         modifications.
40322         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
40323         the new module.
40324
40325         New module 'posix_spawn_file_actions_addopen'.
40326         * modules/posix_spawn_file_actions_addopen: New file.
40327         * lib/spawn_faction_addopen.c: New file, from GNU libc with
40328         modifications.
40329         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
40330         the new module.
40331
40332         New module 'posix_spawn_file_actions_adddup2'.
40333         * modules/posix_spawn_file_actions_adddup2: New file.
40334         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
40335         modifications.
40336         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
40337         the new module.
40338
40339         New module 'posix_spawn_file_actions_addclose'.
40340         * modules/posix_spawn_file_actions_addclose: New file.
40341         * lib/spawn_faction_addclose.c: New file, from GNU libc with
40342         modifications.
40343         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
40344         the new module.
40345
40346         New module 'posix_spawn_file_actions_init'.
40347         * modules/posix_spawn_file_actions_init: New file.
40348         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
40349         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
40350         new module.
40351
40352         New module 'posix_spawn-internal'.
40353         * modules/posix_spawn-internal: New file.
40354         * lib/spawn_int.h: New file, from GNU libc with modifications.
40355         * lib/spawni.c: New file, from GNU libc with modifications.
40356         * m4/posix_spawn.m4: New file.
40357
40358         New module 'spawn'.
40359         * modules/spawn: New file.
40360         * lib/spawn.in.h: New file, from GNU libc with modifications.
40361         * m4/spawn_h.m4: New file.
40362         * doc/posix-headers/spawn.texi: Mention the new module.
40363
40364 2008-09-28  Bruno Haible  <bruno@clisp.org>
40365
40366         * modules/sched-tests: New file.
40367         * tests/test-sched.c: New file.
40368
40369         New module 'sched'.
40370         * modules/sched: New file.
40371         * lib/sched.in.h: New file.
40372         * m4/sched_h.m4: New file.
40373         * doc/posix-headers/sched.texi: Mention the new module.
40374
40375 2008-09-27  Eric Blake  <ebb9@byu.net>
40376
40377         Fix previous patch, and tweak references to $0.
40378         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
40379         (func_version, func_gnulib_dir): Don't call this program
40380         gnulib-tool.
40381         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
40382         with using $0 in function.
40383         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
40384         (func_fatal_error): Reuse the name the user invoked us with.
40385
40386 2008-09-27  Bruno Haible  <bruno@clisp.org>
40387
40388         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
40389         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
40390         (gl_ICONV_H): Not here.
40391         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
40392         instead of assigning ICONV_H directly.
40393
40394         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
40395         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
40396         WCHAR_H directly.
40397
40398 2008-09-27  Bruno Haible  <bruno@clisp.org>
40399
40400         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
40401         * modules/arpa_inet (Depends-on): Add link-warning.
40402         (Makefile.am): Insert the definition of GL_LINK-WARNING.
40403         * modules/unistd (Makefile.am): Likewise.
40404
40405 2008-09-26  Bruno Haible  <bruno@clisp.org>
40406
40407         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
40408         variables.
40409         (func_version): Essentially copied from gnulib-tool.
40410         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
40411         func_readlink): Copied from gnulib-tool.
40412
40413 2008-09-26  Bruno Haible  <bruno@clisp.org>
40414
40415         * gnulib-tool (func_version): Change directory to $gnulib_dir before
40416         invoking git-version-gen.
40417
40418 2008-09-26  Bruno Haible  <bruno@clisp.org>
40419
40420         * posix-modules: Update to directory names changed on 2008-01-19.
40421         Remove commas in output before splitting into words. No more need to
40422         avoid 'ftruncate' since 2007-02-19.
40423
40424 2008-09-26  Bruno Haible  <bruno@clisp.org>
40425
40426         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
40427
40428 2008-09-26  Bruno Haible  <bruno@clisp.org>
40429
40430         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
40431         * modules/fwriteerror (Depends-on): Add errno.
40432
40433 2008-09-26  Bruno Haible  <bruno@clisp.org>
40434
40435         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
40436         * tests/test-vc-list-files-cvs.sh: Likewise.
40437
40438 2008-09-26  Bruno Haible  <bruno@clisp.org>
40439
40440         * doc/posix-headers/sys_resource.texi: Reorder items.
40441
40442 2008-09-26  Jim Meyering  <meyering@redhat.com>
40443
40444         fts: tweak inode comparison function
40445         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
40446         inode numbers, as documented.
40447
40448         fts: sort dirent entries on inode number before traversing
40449         This avoids a quadratic, seek-related performance penalty when
40450         operating on a directory containing many entries (measurable at 10k;
40451         3.5 hours at 2 million entries with a cold cache) on certain types
40452         of file systems, including ext3 and ext4, but not tmpfs.
40453         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
40454         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
40455         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
40456         (fs_handles_readdir_ordered_dirents_efficiently): New function.
40457         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
40458         (fts_build): Set the stat.st_ino member from D_INO.
40459         If it is likely to be useful, sort dirent entries on inode number.
40460
40461         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
40462         and the struct statfs.f_type member.
40463         * modules/fts (Depends-on): Add d-ino.
40464
40465 2008-09-26  Bruno Haible  <bruno@clisp.org>
40466
40467         * modules/sigpipe-die (Depends-on): Add sigpipe.
40468
40469         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
40470         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
40471         and GNULIB_STDIO_H_SIGPIPE are set.
40472         * lib/stdio-write.c: New file.
40473         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
40474         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
40475         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
40476         REPLACE_STDIO_WRITE_FUNCS.
40477         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
40478         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
40479         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
40480         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
40481         * modules/stdio (Files): Add lib/stdio-write.c.
40482         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
40483         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
40484         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
40485         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
40486         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
40487         REPLACE_FPRINTF_POSIX.
40488         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
40489         REPLACE_PRINTF_POSIX.
40490         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
40491         REPLACE_VFPRINTF_POSIX.
40492         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
40493         REPLACE_VPRINTF_POSIX.
40494         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
40495         SIGPIPE issue.
40496         * doc/posix-functions/fputc.texi: Likewise.
40497         * doc/posix-functions/fputs.texi: Likewise.
40498         * doc/posix-functions/fwrite.texi: Likewise.
40499         * doc/posix-functions/printf.texi: Likewise.
40500         * doc/posix-functions/putc.texi: Likewise.
40501         * doc/posix-functions/putchar.texi: Likewise.
40502         * doc/posix-functions/puts.texi: Likewise.
40503         * doc/posix-functions/vfprintf.texi: Likewise.
40504         * doc/posix-functions/vprintf.texi: Likewise.
40505
40506         * modules/safe-write (Depends-on): Add write.
40507
40508         * modules/sigpipe-tests: New file.
40509         * tests/test-sigpipe.c: New file.
40510         * tests/test-sigpipe.sh: New file.
40511
40512         * modules/write: New file.
40513         * lib/unistd.in.h: Include <sys/types.h>.
40514         (write): New declaration.
40515         * lib/write.c: New file.
40516         * m4/write.m4: New file.
40517         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
40518         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
40519         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
40520         GNULIB_WRITE, REPLACE_WRITE.
40521         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
40522         and the SIGPIPE issue.
40523
40524         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
40525         (raise): New declaration.
40526         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
40527         (ext_signal): New function.
40528         (rpl_raise): New function.
40529         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
40530         GNULIB_SIGNAL_H_SIGPIPE.
40531         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
40532         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
40533
40534         * modules/sigpipe: New file.
40535         * m4/sigpipe.m4: New file.
40536
40537 2008-09-25  Derek Price  <derek@ximbiot.com>
40538             Bruno Haible  <bruno@clisp.org>
40539
40540         * gnulib-tool (func_import): Report all license incompatibilities, not
40541         just the first one.
40542
40543 2008-09-25  Bruno Haible  <bruno@clisp.org>
40544
40545         * gnulib-tool (func_import): When computing the edits, consider not
40546         only the Makefile.ams that exist but also those that will be generated.
40547
40548 2008-09-25  Simon Josefsson  <simon@josefsson.org>
40549
40550         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
40551         fixes gnulib-tool --test warning about duplicate dependency.
40552
40553 2008-09-25  Bruno Haible  <bruno@clisp.org>
40554
40555         * gnulib-tool: Don't ask the user to perform edits in the generated
40556         Makefile.ams.
40557         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
40558         apply to the Makefile.am being generated.
40559         (func_emit_tests_Makefile_am): Execute edits that apply to the
40560         Makefile.am being generated.
40561         (func_import): Setup list of Makefile.am edits before emitting the
40562         Makefile.ams, not at the end.
40563         (func_create_testdir): Update.
40564         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
40565
40566 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
40567
40568         * gnulib-tool (func_import): Store the --tests-base option in the
40569         comment in gnulib-cache.m4.
40570
40571 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
40572
40573         * NEWS: Document increased portability that sys_select now provides.
40574
40575         * lib/sys_select.in.h: Install select wrapper.
40576         * lib/sys_socket.in.h: Use more descriptive name when there is no
40577         select wrapper.
40578         * lib/winsock-select.c: New.
40579         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
40580         Require gl_HEADER_SYS_SOCKET.
40581         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
40582         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
40583         * tests/test-sys_select.c: Add functional tests.
40584
40585 2008-09-24  Eric Blake  <ebb9@byu.net>
40586
40587         open, fopen: close fd leak in last patch
40588         * lib/open.c (rpl_open): Close fd before returning error.
40589         * lib/fopen.c (rpl_fopen): Close fd before returning error.
40590         * doc/posix-functions/open.texi (open): Document that Irix also
40591         has the bug.
40592         * doc/posix-functions/fopen.texi (fopen): Likewise.
40593         Reported by Paolo Bonzini.
40594
40595 2008-09-24  Bruno Haible  <bruno@clisp.org>
40596
40597         Ensure that a filename ending in a slash cannot be used to access a
40598         non-directory.
40599         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
40600         to check whether it's really a directory.
40601         * lib/fopen.c: Include fcntl.h, unistd.h.
40602         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
40603         and fdopen().
40604         * modules/fopen (Depends-on): Add unistd.
40605         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
40606         * tests/test-fopen.c (main): Likewise.
40607         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
40608         * doc/posix-functions/fopen.texi: Likewise.
40609         Reported by Eric Blake.
40610
40611 2008-09-23  Eric Blake  <ebb9@byu.net>
40612
40613         c-stack: avoid compiler optimizations when provoking overflow
40614         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
40615         recursion harder to optimize, to ensure a stack overflow occurs.
40616         * tests/test-c-stack.c (recurse): Likewise.
40617         Borrowed from libsigsegv.
40618
40619         c-stack: work around Irix sigaltstack bug
40620         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
40621         whether sigaltstack uses wrong end of stack_t (copied in part from
40622         libsigsegv).
40623         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
40624         Irix bug, without requiring an over-allocation.
40625         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
40626         bug.
40627
40628         fopen: document mingw bug on directories
40629         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
40630         not allowing a stream visiting a directory, even though reading
40631         from such a stream is not portable.
40632
40633 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
40634
40635         * lib/poll.c: Rewrite.
40636         * modules/poll: Depend on alloca.
40637
40638 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
40639
40640         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
40641         instead define prototypes for a full set of wrappers.  Ensure
40642         that Cygwin does not use the compatibility code, which is only
40643         for MinGW.
40644         * lib/winsock.c: New.
40645         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
40646         * modules/sys_socket: Add lib/winsock.c.
40647
40648         * modules/poll-tests: Add errno and perror.
40649         * tests/test-poll.c: Use ioctl, not ioctlsocket.
40650
40651 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
40652
40653         * tests/test-poll.c: Downgrade minimum needed Winsock version.
40654
40655 2008-09-23  Bruno Haible  <bruno@clisp.org>
40656
40657         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
40658         * doc/glibc-functions/*: Likewise.
40659
40660 2008-09-23  Simon Josefsson  <simon@josefsson.org>
40661
40662         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
40663         success.
40664
40665 2008-09-22  Eric Blake  <ebb9@byu.net>
40666             Bruno Haible  <bruno@clisp.org>
40667
40668         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
40669         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
40670         supply %A but mishandle pseudo-NaN.
40671         Reported by Simon Josefsson.
40672
40673 2008-09-21  Bruno Haible  <bruno@clisp.org>
40674
40675         * tests/test-lock.c (main): Tweak skip message.
40676         * tests/test-tls.c (main): Likewise.
40677
40678 2008-09-21  Bruno Haible  <bruno@clisp.org>
40679
40680         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
40681         whether 'struct sigaction' has sa_sigaction here...
40682         (gl_PREREQ_SIG_HANDLER_H): ... not here.
40683         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
40684
40685 2008-09-21  Bruno Haible  <bruno@clisp.org>
40686
40687         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
40688         section.
40689         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
40690         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
40691         the new section.
40692         (Support for obsolete systems lacking POSIX:2001): New section.
40693         (String handling <string.h>): Move strdup to the new section.
40694         Suggested by Simon Josefsson and Paolo Bonzini.
40695
40696 2008-09-21  Bruno Haible  <bruno@clisp.org>
40697
40698         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
40699         exponents in %e and %g results on 'long double'. Needed for mingw's
40700         improved *printf functions.
40701         * tests/test-vasprintf-posix.c (test_function): Likewise.
40702         * tests/test-snprintf-posix.h (test_function): Likewise.
40703         * tests/test-sprintf-posix.h (test_function): Likewise.
40704         Reported by Eric Blake.
40705
40706 2008-09-21  Bruno Haible  <bruno@clisp.org>
40707
40708         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
40709         * tests/test-sprintf-posix.h (test_function): Likewise.
40710
40711 2008-09-21  Bruno Haible  <bruno@clisp.org>
40712
40713         * modules/getpass (Depends-on): Add strdup-posix.
40714
40715         New module 'strdup-posix'.
40716         * modules/strdup-posix: New file.
40717         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
40718         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
40719         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
40720         REPLACE_STRDUP.
40721         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
40722         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
40723         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
40724         strdup-posix.
40725
40726         * modules/strdup (Depends-on): Remove malloc-posix.
40727
40728 2008-09-20  Bruno Haible  <bruno@clisp.org>
40729
40730         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
40731         Wildenhues.
40732
40733 2008-09-20  Bruno Haible  <bruno@clisp.org>
40734
40735         Ensure that wint_t gets defined on IRIX 5.3.
40736         * lib/wchar.in.h (wint_t): Define if not defined by the system.
40737         * lib/wctype.in.h (wint_t): Likewise.
40738         (__wctype_wint_t): Remove type.
40739         (isw*): Use wint_t instead of __wctype_wint_t.
40740         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
40741         * modules/wchar (Files): Add m4/wint_t.m4.
40742         (Makefile.am): Substitute HAVE_WINT_T.
40743         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
40744         * tests/test-wctype.c: Check that wint_t is defined.
40745         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
40746         * doc/posix-headers/wctype.texi: Likewise.
40747         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
40748
40749 2008-09-18  Bruno Haible  <bruno@clisp.org>
40750
40751         * gnulib-tool (func_exit): Update comment.
40752
40753 2008-09-18  Simon Josefsson  <simon@josefsson.org>
40754
40755         * modules/getaddrinfo (Depends-on): Remove strdup, this module
40756         assumes strdup exists and does not depend on strdup to return
40757         ENOMEM on out of memory conditions.
40758
40759 2008-09-18  Bruno Haible  <bruno@clisp.org>
40760
40761         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
40762         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
40763         digits for the exponent.
40764
40765 2008-09-18  Jim Meyering  <meyering@redhat.com>
40766             Bruno Haible  <bruno@clisp.org>
40767
40768         * lib/vasnprintf.c (decimal_point_char): Define also if
40769         NEED_PRINTF_INFINITE_LONG_DOUBLE.
40770
40771 2008-09-16  Bruno Haible  <bruno@clisp.org>
40772         and Eric Blake  <ebb9@byu.net>
40773
40774         vasnprintf: support Irix 5.3
40775         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
40776         that mishandle long double infinity.
40777         Reported by Tom G. Christensen.
40778
40779 2008-09-16  Bruno Haible  <bruno@clisp.org>
40780
40781         * doc/glibc-functions/scandir.texi: Mention the function is missing on
40782         Solaris 9.
40783         * doc/glibc-functions/alphasort.texi: Likewise.
40784         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
40785
40786 2008-09-16  Jim Meyering  <meyering@redhat.com>
40787
40788         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
40789         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
40790         a umask modification leak out of a subshell.  Otherwise, the
40791         opensolaris /bin/sh would be accepted and thus cause unwarranted
40792         failures in the coreutils test suite.
40793
40794 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
40795
40796         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
40797         to succeed.
40798
40799 2008-09-16  Jim Meyering  <meyering@redhat.com>
40800
40801         avoid spurious test failure when library is built without ACL support
40802         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
40803         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
40804         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
40805         * tests/test-copy-acl.sh: Likewise.
40806
40807 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40808
40809         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
40810         based on character occurrence counts.
40811
40812 2008-09-15  Eric Blake  <ebb9@byu.net>
40813
40814         tests: avoid some compiler warnings
40815         * tests/test-memchr.c (main): Pass NULL indirectly.
40816         * tests/test-closein.c (main): Avoid unused variable.
40817
40818 2008-09-15  Bruno Haible  <bruno@clisp.org>
40819
40820         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
40821         are missing on OpenBSD 4.0 individually.
40822         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
40823
40824 2008-09-15  Bruno Haible  <bruno@clisp.org>
40825
40826         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
40827         * doc/posix-functions/strerror.texi: Mention also Cygwin.
40828         * doc/posix-functions/perror.texi: Likewise.
40829         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
40830         is missing.
40831         Reported by Eric Blake.
40832
40833         * lib/errno.in.h: Use replacement values >= 2000.
40834         Reported by Eric Blake.
40835
40836 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40837
40838         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
40839         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
40840         limit.
40841         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
40842         compareseq was aborted.
40843
40844 2008-09-14  Bruno Haible  <bruno@clisp.org>
40845
40846         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
40847         yvec_edit_count.
40848         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
40849         (fstrcmp_bounded): Simplify result computation accordingly.
40850
40851 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40852
40853         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
40854         (fstrcmp): Define in terms of fstrcmp_bounded.
40855         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
40856         lower_bound argument.
40857         Return quickly if the result is certainly < lower_bound.
40858         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
40859
40860 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40861
40862         * lib/diffseq.h (EARLY_ABORT): New macro.
40863         (compareseq): Change return type to bool. Return true when EARLY_ABORT
40864         evaluates to true.
40865
40866 2008-09-14  Bruno Haible  <bruno@clisp.org>
40867
40868         * modules/perror-tests: New file.
40869         * tests/test-perror.sh: New file.
40870         * tests/test-perror.c: New file.
40871
40872         New module 'perror'.
40873         * lib/stdio.in.h (perror): New declaration.
40874         * lib/perror.c: New file.
40875         * m4/perror.m4: New file.
40876         * modules/perror: New file.
40877         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
40878         * doc/posix-functions/perror.texi: Mention the perror module.
40879         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
40880         REPLACE_PERROR.
40881         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
40882         REPLACE_PERROR.
40883
40884 2008-09-14  Bruno Haible  <bruno@clisp.org>
40885
40886         * modules/stdio (Makefile.am): Reorder to match the order in
40887         lib/stdio.in.h.
40888         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
40889
40890 2008-09-13  Bruno Haible  <bruno@clisp.org>
40891
40892         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
40893
40894 2008-09-13  Bruno Haible  <bruno@clisp.org>
40895
40896         Extend strerror to cover the added errno values.
40897         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
40898         (rpl_strerror): Provide error messages for the added errno values and
40899         for the WSA* values.
40900         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
40901         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
40902         strerror.
40903         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
40904         * modules/strerror (Depends-on): Add errno.
40905         * doc/posix-functions/strerror.texi: Document the change.
40906         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
40907         and EOVERFLOW.
40908
40909 2008-09-13  Bruno Haible  <bruno@clisp.org>
40910
40911         * modules/EOVERFLOW: Remove file.
40912         * m4/eoverflow.m4: Remove file.
40913         * modules/EOVERFLOW-tests: Remove file.
40914         * tests/test-EOVERFLOW.c: Remove file.
40915         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
40916         * modules/ftell (Depends-on): Likewise.
40917         * modules/getdelim (Depends-on): Likewise.
40918         * modules/getugroups (Depends-on): Likewise.
40919         * modules/poll (Depends-on): Likewise.
40920         * modules/snprintf (Depends-on): Likewise.
40921         * modules/sprintf-posix (Depends-on): Likewise.
40922         * modules/vasnprintf (Depends-on): Likewise.
40923         * modules/vasprintf (Depends-on): Likewise.
40924         * modules/vfprintf-posix (Depends-on): Likewise.
40925         * modules/vsnprintf (Depends-on): Likewise.
40926         * modules/vsprintf-posix (Depends-on): Likewise.
40927         * modules/xvasprintf (Depends-on): Likewise.
40928         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
40929         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
40930         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
40931         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
40932         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
40933         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
40934         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
40935         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
40936         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
40937         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
40938         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
40939         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
40940         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
40941         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
40942         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
40943         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
40944         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
40945         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
40946         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
40947         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
40948         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
40949         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
40950         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
40951         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
40952         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
40953         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
40954         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
40955         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
40956         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
40957         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
40958         * MODULES.html.sh: Remove EOVERFLOW.
40959         * NEWS: Mention the change.
40960
40961 2008-09-13  Bruno Haible  <bruno@clisp.org>
40962
40963         * modules/errno-tests: New file.
40964         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
40965
40966         * lib/errno.in.h: New file.
40967         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
40968         * modules/errno: New file.
40969         * doc/posix-headers/errno.texi: Update documentation.
40970         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
40971
40972 2008-09-13  Bruno Haible  <bruno@clisp.org>
40973
40974         * tests/test-poll.c: Use #if for native Windows, rather than testing
40975         __MSVCRT__.
40976
40977 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
40978             Bruno Haible  <bruno@clisp.org>
40979
40980         * lib/glob.c: Don't include <pwd.h> on native Windows.
40981         (WINDOWS32): New macro.
40982         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
40983
40984 2008-09-13  Bruno Haible  <bruno@clisp.org>
40985
40986         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
40987         (ETIMEDOUT): Remove macro.
40988         (glthread_cond_timedwait_multithreaded): New declaration.
40989         (glthread_cond_timedwait): Use it.
40990         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
40991         (glthread_cond_timedwait_multithreaded): New function.
40992
40993 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
40994
40995         * modules/poll-tests: Do not check for io.h.
40996         * tests/test-poll.c: Check for __MSVCRT__ instead.
40997
40998 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
40999
41000         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
41001         * modules/poll-tests: Add inet_pton, stdbool, sockets.
41002         * tests/test-poll.c: Use them.  Use _pipe on Windows.
41003
41004 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
41005
41006         * modules/poll-tests: New.
41007         * tests/test-poll.c: New.
41008
41009 2008-09-12  Eric Blake  <ebb9@byu.net>
41010
41011         frexp: test for NetBSD failure on -0.0
41012         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
41013         not all, bugs from NetBSD 3.0 have been fixed.
41014         * doc/posix-functions/frexp.texi (frexp): Document bug.
41015         Reported by Thomas Klausner.
41016
41017         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
41018         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
41019         literal -0.0.
41020         Reported by Jonathan C. Patschke <jp@centtech.com>.
41021
41022 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41023
41024         * lib/glthread/cond.h: Use dummy implementation also if
41025         USE_WIN32_THREADS.
41026
41027 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41028
41029         * modules/fnmatch-posix (License): Change to LGPLv2+.
41030         * modules/fnmatch-gnu (License): Likewise.
41031
41032 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41033
41034         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
41035
41036 2008-09-11  Jim Meyering  <meyering@redhat.com>
41037
41038         * users.txt: Add gtk-vnc.
41039
41040 2008-09-08  Simon Josefsson  <simon@josefsson.org>
41041
41042         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
41043         rotate amounts.
41044
41045         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
41046         required for 16-bit and 8-bit rotates.
41047         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
41048         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
41049         UINT8_MAX instead of hard-coded constants.
41050         Suggested by Paul Eggert.
41051
41052 2008-09-07  Bruno Haible  <bruno@clisp.org>
41053
41054         * tests/test-striconveh.c (main): Check behaviour when converting from
41055         UTF-7.
41056
41057         Make striconveh work better with stateful encodings.
41058         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
41059         that iconv does not increment the inptr when returning -1/EINVAL.
41060
41061 2008-09-07  Bruno Haible  <bruno@clisp.org>
41062
41063         * build-aux/config.rpath: Update according to libtool-2.2.6.
41064         * build-aux/config.libpath: Likewise.
41065
41066 2008-09-06  Bruno Haible  <bruno@clisp.org>
41067
41068         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
41069         * lib/freadptr.c (freadptr): Likewise.
41070         * lib/freadseek.c (freadptrinc): Likewise.
41071         Reported by Simon Josefsson.
41072
41073 2008-09-06  Bruno Haible  <bruno@clisp.org>
41074
41075         * modules/freadptr (License): Change to LGPLv2+.
41076         * modules/freadseek (License): Likewise.
41077         Suggested by Eric Blake.
41078
41079         * modules/memchr2 (License): Change to LGPLv2+.
41080         Approved by Eric Blake.
41081
41082 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41083             Bruno Haible  <bruno@clisp.org>
41084
41085         Make gnulib-tool work with native 'sed' on AIX.
41086         * gnulib-tool (sed_noop): New variable.
41087         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
41088         func_add_or_update, func_create_testdir): Use it to initialize sed
41089         script variables.
41090         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
41091
41092 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
41093             Bruno Haible  <bruno@clisp.org>
41094
41095         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
41096         also works after #include directives.
41097
41098 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
41099
41100         getdate.y: reject an out-of-range timezone value
41101         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
41102         the range [-24...+24].  When specified with only one or two digits,
41103         * tests/test-getdate.c: Tests for the fix.
41104         * doc/getdate.texi: Document this change.
41105
41106 2008-09-03  Bruno Haible  <bruno@clisp.org>
41107
41108         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
41109
41110 2008-09-02  Simon Josefsson  <simon@josefsson.org>
41111
41112         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
41113         <bruce.korb@gmail.com> with ideas from Ben Pfaff
41114         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
41115         Blake <ebb9@byu.net>.
41116
41117         * tests/test-bitrotate.c: Add more test vectors.
41118
41119 2008-09-02  Eric Blake  <ebb9@byu.net>
41120
41121         vasnprintf-posix: handle large precision via %.*d
41122         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
41123         when handling it ourselves.
41124         * tests/test-vasnprintf-posix.c (test_function): Add test.
41125         * tests/test-snprintf-posix.h (test_function): Likewise.
41126         * tests/test-sprintf-posix.h (test_function): Likewise.
41127         * tests/test-vasprintf-posix.c (test_function): Likewise.
41128         Reported by Alain Guibert.
41129
41130 2008-09-01  Eric Blake  <ebb9@byu.net>
41131
41132         c-stack: make configure-time check more robust
41133         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
41134         successful sigaction call.
41135         Reported by Tom G. Christensen.
41136
41137 2008-09-01  Bruno Haible  <bruno@clisp.org>
41138
41139         New module 'findprog-lgpl'.
41140         * modules/findprog-lgpl: New file.
41141         * lib/findprog-lgpl.c: New file.
41142         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
41143         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
41144         to decide whether to use strdup or xstrdup, concatenated_filename or
41145         xconcatenated_filename.
41146
41147 2008-09-01  Bruno Haible  <bruno@clisp.org>
41148
41149         Split module 'concat-filename' into 'concat-filename' (LGPL) and
41150         'xconcat-filename' (GPL).
41151         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
41152         (License): Change to LGPLv2+.
41153         * modules/xconcat-filename: New file.
41154         * lib/concat-filename.h (concatenated_filename): Change specification.
41155         (xconcatenated_filename): New declaration.
41156         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
41157         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
41158         memory situations.
41159         * lib/xconcat-filename.c: New file.
41160         * NEWS: Mention the change.
41161         * lib/findprog.c: Include concat-filename.h, not filename.h.
41162         (find_in_path): Use xconcatenated_filename instead of
41163         concatenated_filename.
41164         * lib/javacomp.c: Include concat-filename.h, not filename.h.
41165         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
41166         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
41167         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
41168         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
41169         instead of concatenated_filename.
41170         * lib/javaexec.c: Include concat-filename.h, not filename.h.
41171         (execute_java_class): Use xconcatenated_filename instead of
41172         concatenated_filename.
41173         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
41174         * modules/javacomp (Depends-on): Likewise.
41175         * modules/javaexec (Depends-on): Likewise.
41176
41177 2008-09-01  Bruno Haible  <bruno@clisp.org>
41178
41179         Split module 'filename' into 'filename' and 'concat-filename'.
41180         * modules/filename: Keep only lib/filename.h.
41181         (License): Change to LGPLv2+.
41182         * modules/concat-filename: New file, extracted from modules/filename.
41183         * lib/filename.h (concatenated_filename): Remove declaration.
41184         * lib/concat-filename.h: New file, extracted from lib/filename.h.
41185         * lib/concat-filename.c: Include concat-filename.h.
41186         * NEWS: Mention the change.
41187
41188 2008-09-01  Simon Josefsson  <simon@josefsson.org>
41189
41190         * lib/bitrotate.h (rotl8, rotr8): Add.
41191
41192         * modules/bitrotate (configure.ac): Need
41193         AC_REQUIRE([AC_C_INLINE]).
41194         (Description): Mention stdint.h.  Reported by Bruno Haible
41195         <bruno@clisp.org>.
41196
41197         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
41198         Paolo Bonzini <bonzini@gnu.org>.
41199
41200 2008-08-31  Bruno Haible  <bruno@clisp.org>
41201
41202         Assume Solaris specific bi-arch conventions on Solaris systems.
41203         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
41204         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
41205         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
41206         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
41207         like acl_libdirstem.
41208         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
41209         acl_libdirstem.
41210         * NEWS: Mention the change.
41211         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
41212
41213 2008-08-31  Jim Meyering  <meyering@redhat.com>
41214
41215         * lib/strftime.h: Add comments describing the two added arguments.
41216
41217         remove duplicate #include directives
41218         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
41219         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
41220
41221 2008-08-31  Bruno Haible  <bruno@clisp.org>
41222
41223         New module 'sigpipe-die'.
41224         * modules/sigpipe-die: New file.
41225         * lib/sigpipe-die.h: New file.
41226         * lib/sigpipe-die.c: New file.
41227         * MODULES.html.sh (Signal handling): Add sigpipe-die.
41228
41229 2008-08-31  Bruno Haible  <bruno@clisp.org>
41230
41231         Don't override previously installed signal handlers.
41232         * lib/fatal-signal.c (saved_sigactions): New variable.
41233         (uninstall_handlers): Reset the signal to the saved handler, not
41234         to SIG_DFL (except when ignored).
41235         (install_handlers): Save the previous handlers.
41236
41237 2008-08-30  Bruno Haible  <bruno@clisp.org>
41238
41239         * gnulib-tool (func_reset_sigpipe): New function.
41240         (func_get_automake_snippet, func_modules_transitive_closure,
41241         func_import): Invoke it before a join command that reads from stdin,
41242         to avoid "echo: write error: Broken pipe" error messages on stderr.
41243         Reported by Sam Steingold <sds@gnu.org>.
41244
41245 2008-08-30  Bruno Haible  <bruno@clisp.org>
41246
41247         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
41248         Code copied from m4/open.m4.
41249         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
41250         access and the filename ends in a slash. Code copied from lib/open.c.
41251         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
41252         * tests/test-fopen.c (main): Check against bug with trailing slash.
41253
41254 2008-08-29  Bruno Haible  <bruno@clisp.org>
41255
41256         Avoid some "gcc -pedantic" warnings.
41257         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
41258         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
41259         * lib/dirent.in.h: Likewise.
41260         * lib/fcntl.in.h: Likewise.
41261         * lib/float.in.h: Likewise.
41262         * lib/iconv.in.h: Likewise.
41263         * lib/inttypes.in.h: Likewise.
41264         * lib/locale.in.h: Likewise.
41265         * lib/math.in.h: Likewise.
41266         * lib/netinet_in.in.h: Likewise.
41267         * lib/search.in.h: Likewise.
41268         * lib/signal.in.h: Likewise.
41269         * lib/stdarg.in.h: Likewise.
41270         * lib/stdint.in.h: Likewise.
41271         * lib/stdio.in.h: Likewise.
41272         * lib/stdlib.in.h: Likewise.
41273         * lib/string.in.h: Likewise.
41274         * lib/strings.in.h: Likewise.
41275         * lib/sys_select.in.h: Likewise.
41276         * lib/sys_socket.in.h: Likewise.
41277         * lib/sys_stat.in.h: Likewise.
41278         * lib/sys_time.in.h: Likewise.
41279         * lib/sysexits.in.h: Likewise.
41280         * lib/time.in.h: Likewise.
41281         * lib/unistd.in.h: Likewise.
41282         * lib/wchar.in.h: Likewise.
41283         * lib/wctype.in.h: Likewise.
41284         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
41285         * modules/fchdir (Makefile.am): Likewise.
41286         * modules/fcntl (Makefile.am): Likewise.
41287         * modules/float (Makefile.am): Likewise.
41288         * modules/iconv_open (Makefile.am): Likewise.
41289         * modules/inttypes (Makefile.am): Likewise.
41290         * modules/locale (Makefile.am): Likewise.
41291         * modules/math (Makefile.am): Likewise.
41292         * modules/netinet_in (Makefile.am): Likewise.
41293         * modules/search (Makefile.am): Likewise.
41294         * modules/signal (Makefile.am): Likewise.
41295         * modules/stdarg (Makefile.am): Likewise.
41296         * modules/stdint (Makefile.am): Likewise.
41297         * modules/stdio (Makefile.am): Likewise.
41298         * modules/stdlib (Makefile.am): Likewise.
41299         * modules/string (Makefile.am): Likewise.
41300         * modules/strings (Makefile.am): Likewise.
41301         * modules/sys_select (Makefile.am): Likewise.
41302         * modules/sys_socket (Makefile.am): Likewise.
41303         * modules/sys_stat (Makefile.am): Likewise.
41304         * modules/sys_time (Makefile.am): Likewise.
41305         * modules/sysexits (Makefile.am): Likewise.
41306         * modules/time (Makefile.am): Likewise.
41307         * modules/unistd (Makefile.am): Likewise.
41308         * modules/wchar (Makefile.am): Likewise.
41309         * modules/wctype (Makefile.am): Likewise.
41310         Reported by Reuben Thomas <rrt@sc3d.org>.
41311
41312 2008-08-29  Bruno Haible  <bruno@clisp.org>
41313
41314         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
41315         any more.
41316
41317 2008-08-29  Simon Josefsson  <simon@josefsson.org>
41318
41319         * MODULES.html.sh (Misc): Add bitrotate.
41320
41321         * modules/bitrotate: New file.
41322
41323         * lib/bitrotate.h: New file.
41324
41325         * modules/bitrotate-tests: New file.
41326
41327         * tests/test-bitrotate.c: New file.
41328
41329         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
41330         on the bitrotate module.
41331
41332         * lib/arctwo.c: Use new bitrotate module.
41333
41334 2008-08-29  Jim Meyering  <meyering@redhat.com>
41335
41336         bootstrap: merge changes from coreutils
41337         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
41338         of copied files.  Remove a kludge, now that this is fixed.
41339         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
41340         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
41341         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
41342
41343 2008-08-29  Bruno Haible  <bruno@clisp.org>
41344
41345         * MODULES.html.sh: Remove --cvs-urls option.
41346
41347 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
41348
41349         maint.mk: adjust to file name change
41350         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
41351
41352 2008-08-28  Jim Meyering  <meyering@redhat.com>
41353
41354         * modules/getndelim2 (License): Relicense to LGPLv2+.
41355         Approved by Richard Stallman for the version of 1995, and by
41356         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
41357
41358 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
41359
41360         * lib/getdelim.c (flockfile, funlockfile): Make all of them
41361         dummy if one is not available.  Do not touch them if
41362         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
41363         (getc_maybe_unlocked): New.
41364         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
41365
41366 2008-08-26  Eric Blake  <ebb9@byu.net>
41367
41368         doc/INSTALL: resync from autoconf
41369         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
41370         (INSTALL_PRELUDE): Delete; this is done more efficiently by
41371         moving...
41372         * install.texi [!autoconf]: ...here.  Resync from autoconf.
41373         * INSTALL: Regenerate.
41374         * INSTALL.ISO: New file.
41375         * INSTALL.UTF-8: Likewise.
41376
41377 2008-08-26  Jim Meyering  <meyering@redhat.com>
41378
41379         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
41380         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
41381         these definitions conditional, so that they may be overridden, too.
41382
41383 2008-08-26  Bruno Haible  <bruno@clisp.org>
41384
41385         Generate INSTALL file variants with prettier quotes.
41386         * doc/Makefile (INSTALL_PRELUDE): New macro.
41387         (INSTALL): Use it.
41388         (INSTALL.ISO, INSTALL.UTF-8): New rules.
41389
41390 2008-08-26  Bruno Haible  <bruno@clisp.org>
41391
41392         Run makeinfo in an English locale.
41393         * doc/Makefile (MAKEINFO): New variable.
41394
41395 2008-08-26  Bruno Haible  <bruno@clisp.org>
41396
41397         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
41398         Suggested by Eric Blake.
41399
41400 2008-08-25  Bruno Haible  <bruno@clisp.org>
41401
41402         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
41403
41404 2008-08-25  Eric Blake  <ebb9@byu.net>
41405
41406         c-stack: test that stack overflow can be caught
41407         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
41408         that platform allows handling stack overflow; at least OS/2 EMX
41409         has sigaltstack, but crashes before transferring control to
41410         handler on stack overflow.
41411         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
41412         check for HAVE_STACK_OVERFLOW_HANDLING.
41413         Reported by Elbert Pol.
41414
41415 2008-08-25  Bruno Haible  <bruno@clisp.org>
41416
41417         * doc/posix-functions/strftime.texi: Fix description of strftime
41418         module.
41419
41420 2008-08-24  Bruno Haible  <bruno@clisp.org>
41421
41422         * tests/uniwidth/test-uc_width2.c: New file.
41423         * tests/uniwidth/test-uc_width2.sh: New file.
41424         * modules/uniwidth/width-tests (Files): Add the new files.
41425         (TESTS): Add uniwidth/test-uc_width2.sh.
41426         (TESTS_ENVIRONMENT): New variable.
41427         (check_PROGRAMS): Add test-uc_width2.
41428         (test_uc_width2_SOURCES): New variable.
41429
41430         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
41431         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
41432         not 0x00AB.
41433         Reported by Alexander V. Lukyanov <lav@netis.ru>.
41434
41435 2008-08-22  Eric Blake  <ebb9@byu.net>
41436
41437         test-lock, test-tls: mention why a test is skipped
41438         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
41439         skipped.
41440         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
41441
41442         count-one-bits: relax license
41443         * modules/count-one-bits (License): Relicense to LGPLv2+.
41444         Suggested by Ludovic Courtès, approved by Ben Pfaff.
41445
41446 2008-08-22  Andreas Schwab  <schwab@suse.de>
41447
41448         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
41449         Remove spurious space in assignment.
41450
41451 2008-08-21  Simon Josefsson  <simon@josefsson.org>
41452
41453         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
41454         Paul Eggert <eggert@CS.UCLA.EDU>.
41455
41456 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
41457
41458         * modules/gettext: Add m4/threadlib.m4.
41459
41460 2008-08-19  Eric Blake  <ebb9@byu.net>
41461
41462         test-c-stack: fix compilation failure on FreeBSD 5.0
41463         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
41464         headers before <sys/resource.h>.
41465         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
41466         the bug.
41467         Reported by Nelson H. F. Beebe.
41468
41469         strverscmp: migrate from "strverscmp.h" to <string.h>
41470         * modules/string (Makefile.am): Add new hooks.
41471         * modules/strverscmp (Files): Remove strverscmp.h.
41472         (Depends-on): Add string.
41473         (configure.ac): Add indicator.
41474         (Include): Mention new header.
41475         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
41476         defaults.
41477         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
41478         results.
41479         * lib/strverscmp.h: Delete.
41480         * lib/string.in.h (strverscmp): Provide declaration, when needed.
41481         * tests/test-strverscmp.c (includes): Adjust client.
41482         * lib/check-version.c (includes): Likewise.
41483         * NEWS: Document the change.
41484
41485         strverscmp: add unit test
41486         * modules/strverscmp-tests: New file.
41487         * tests/test-strverscmp.c: Likewise.
41488
41489 2008-08-19  Simon Josefsson  <simon@josefsson.org>
41490
41491         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
41492         regarding Windows crypto stuff, from Mono.
41493
41494 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
41495
41496         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
41497         if present, for intel RND.  Return error on failures.
41498
41499 2008-08-18  Ben Pfaff  <blp@gnu.org>
41500
41501         gitlog-to-changelog: give better diagnostic for failed pipe-open
41502         * build-aux/gitlog-to-changelog: Improve error message: suggest
41503         that the version of Git may be too old.
41504
41505 2008-08-18  Simon Josefsson  <simon@josefsson.org>
41506
41507         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
41508         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
41509
41510 2008-08-18  Bruno Haible  <bruno@clisp.org>
41511
41512         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
41513         pthread_in_use().
41514
41515 2008-08-18  Bruno Haible  <bruno@clisp.org>
41516
41517         * lib/glthread/threadlib.c: Include <pthread.h>.
41518
41519 2008-08-18  Bruno Haible  <bruno@clisp.org>
41520
41521         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
41522         glthread_recursive_lock_* macros.
41523         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
41524         Fix syntax error.
41525
41526 2008-08-18  Bruno Haible  <bruno@clisp.org>
41527
41528         * lib/glthread/thread.c: Avoid forcing a context switch right after
41529         thread creation.
41530
41531 2008-08-17  Bruno Haible  <bruno@clisp.org>
41532
41533         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
41534         * lib/glthread/thread.h: Provide Win32 specific implementation.
41535         * modules/thread (Files): Add lib/glthread/thread.c.
41536         (Depends-on): Add lock.
41537         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
41538
41539 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41540
41541         New module 'yield'.
41542         * modules/yield: New file.
41543         * lib/glthread/yield.h: New file.
41544         * m4/yield.m4: New file.
41545         * MODULES.html.sh (Multithreading): Add yield.
41546
41547 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41548
41549         New module 'thread'.
41550         * modules/thread: New file.
41551         * lib/glthread/thread.h: New file.
41552         * m4/thread.m4: New file.
41553         * MODULES.html.sh (Multithreading): Add thread.
41554
41555 2008-08-17  Bruno Haible  <bruno@clisp.org>
41556
41557         * lib/glthread/lock.h: Include <stdlib.h> always.
41558         * lib/glthread/tls.h: Likewise.
41559         * lib/glthread/cond.h: Likewise.
41560
41561 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41562
41563         New module 'cond'.
41564         * modules/cond: New file.
41565         * lib/glthread/cond.h: New file.
41566         * lib/glthread/cond.c: New file.
41567         * m4/cond.m4: New file.
41568         * MODULES.html.sh (Multithreading): Add cond.
41569
41570 2008-08-16  Eric Blake  <ebb9@byu.net>
41571
41572         c-stack: fix regression on Irix 5.3 from 2008-06-21
41573         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
41574         sa_sigaction...
41575         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
41576         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
41577         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
41578         * modules/signal (Makefile.am): Use the value.
41579         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
41580         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
41581         * doc/posix-headers/signal.texi (signal.h): Document this
41582         portability issue.
41583         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
41584         Reported by Tom G. Christensen.
41585
41586 2008-08-17  Bruno Haible  <bruno@clisp.org>
41587
41588         New module 'threadlib'.
41589         * modules/threadlib: New file.
41590         * lib/glthread/threadlib.c: New file, extracted from
41591         lib/glthread/lock.c.
41592         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
41593         functions.
41594         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
41595         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
41596         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
41597         macros.
41598         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
41599         (gl_DISABLE_THREADS): Remove macro.
41600         * modules/lock (Files): Remove build-aux/config.rpath.
41601         (Depends-on): Remove havelib. Add threadlib.
41602         (configure.ac-early): Remove section.
41603         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
41604         * modules/tls (Depends-on): Remove lock. Add threadlib.
41605         (Link): New section, copied from threadlib.
41606         * MODULES.html.sh (Multithreading): Add threadlib.
41607
41608 2008-08-14  Bruno Haible  <bruno@clisp.org>
41609
41610         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
41611         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
41612         glthread_rwlock_unlock, glthread_rwlock_destroy,
41613         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
41614         glthread_recursive_lock_destroy): Define as macros always.
41615         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
41616         glthread_lock_lock.
41617         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
41618         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
41619         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
41620         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
41621         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
41622         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
41623         (glthread_recursive_lock_lock_func): Renamed from
41624         glthread_recursive_lock_lock.
41625         (glthread_recursive_lock_unlock_func): Renamed from
41626         glthread_recursive_lock_unlock.
41627         (glthread_recursive_lock_destroy_func): Renamed from
41628         glthread_recursive_lock_destroy.
41629
41630 2008-08-14  Bruno Haible  <bruno@clisp.org>
41631
41632         * lib/glthread/lock.h: Renamed from lib/lock.h.
41633         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
41634         * lib/glthread/tls.h: Renamed from lib/tls.h.
41635         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
41636         * lib/fstrcmp.c: Update includes.
41637         * lib/strsignal.c: Update includes.
41638         * modules/lock (Files, Makefile.am): Update.
41639         (Include): Change to "glthread/lock.h".
41640         * modules/tls (Files, Makefile.am): Update.
41641         (Include): Change to "glthread/tls.h".
41642         * tests/test-lock.c: Update includes.
41643         * tests/test-tls.c: Update includes.
41644         * NEWS: Mention the renamed header files.
41645
41646 2008-08-11  Jim Meyering  <meyering@redhat.com>
41647
41648         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
41649
41650 2008-08-11  Eric Blake  <ebb9@byu.net>
41651
41652         test-c-stack: avoid C99-ism
41653         * tests/test-c-stack.c (main): Fix whitespace, move declaration
41654         before statement.
41655         Reported by Alain Guibert.
41656
41657 2008-08-10  Jim Meyering  <meyering@redhat.com>
41658
41659         ensure that return value of uinttostr et al are not ignored
41660         * lib/inttostr.h (__GNUC_PREREQ): Define.
41661         (__attribute_warn_unused_result__): Define.
41662         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
41663
41664 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
41665
41666         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
41667         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
41668
41669 2008-08-07  Jim Meyering  <meyering@redhat.com>
41670
41671         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
41672
41673         * modules/mkstemp (License): Relicense under LGPLv2+.
41674         * modules/tempname (License): Likewise.
41675
41676 2008-08-06  Bruno Haible  <bruno@clisp.org>
41677
41678         * lib/poll.c (poll): Further micro-optimization.
41679
41680 2008-08-06  Jim Meyering  <meyering@redhat.com>
41681
41682         inet_pton.c: use locale-independent tolower
41683         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
41684         (inet_pton6): Use c_tolower rather than tolower.
41685         * modules/inet_pton (Depends-on): Add c-ctype.
41686
41687 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
41688
41689         * lib/poll.c (poll): Avoid division when timeout is 0, cache
41690         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
41691
41692 2008-08-06  Jim Meyering  <meyering@redhat.com>
41693
41694         * modules/inet_pton (License): Relicense under LGPLv2+.
41695
41696 2008-08-03  Bruno Haible  <bruno@clisp.org>
41697
41698         Additional non-aborting API for lock and tls.
41699         * lib/lock.h: Include <errno.h>.
41700         (glthread_lock_init): New macro/function.
41701         (gl_lock_init): Define as wrapper around glthread_lock_init.
41702         (glthread_lock_lock): New macro/function.
41703         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
41704         (glthread_lock_unlock): New macro/function.
41705         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
41706         (glthread_lock_destroy): New macro/function.
41707         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
41708         (glthread_rwlock_init): New macro/function.
41709         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
41710         (glthread_rwlock_rdlock): New macro/function.
41711         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
41712         (glthread_rwlock_wrlock): New macro/function.
41713         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
41714         (glthread_rwlock_unlock): New macro/function.
41715         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
41716         (glthread_rwlock_destroy): New macro/function.
41717         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
41718         (glthread_recursive_lock_init): New macro/function.
41719         (gl_recursive_lock_init): Define as wrapper around
41720         glthread_recursive_lock_init.
41721         (glthread_recursive_lock_lock): New macro/function.
41722         (gl_recursive_lock_lock): Define as wrapper around
41723         glthread_recursive_lock_lock.
41724         (glthread_recursive_lock_unlock): New macro/function.
41725         (gl_recursive_lock_unlock): Define as wrapper around
41726         glthread_recursive_lock_unlock.
41727         (glthread_recursive_lock_destroy): New macro/function.
41728         (gl_recursive_lock_destroy): Define as wrapper around
41729         glthread_recursive_lock_destroy.
41730         (glthread_once): New macro/function.
41731         (gl_once): Define as wrapper around glthread_once.
41732         Update function declarations.
41733         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
41734         glthread_rwlock_init. Return error code.
41735         (glthread_rwlock_rdlock_multithreaded): Renamed from
41736         glthread_rwlock_rdlock. Return error code.
41737         (glthread_rwlock_wrlock_multithreaded): Renamed from
41738         glthread_rwlock_wrlock. Return error code.
41739         (glthread_rwlock_unlock_multithreaded): Renamed from
41740         glthread_rwlock_unlock. Return error code.
41741         (glthread_rwlock_destroy_multithreaded): Renamed from
41742         glthread_rwlock_destroy. Return error code.
41743         (glthread_recursive_lock_init_multithreaded): Renamed from
41744         glthread_recursive_lock_init. Return error code.
41745         (glthread_recursive_lock_lock_multithreaded): Renamed from
41746         glthread_recursive_lock_lock. Return error code.
41747         (glthread_recursive_lock_unlock_multithreaded): Renamed from
41748         glthread_recursive_lock_unlock. Return error code.
41749         (glthread_recursive_lock_destroy_multithreaded): Renamed from
41750         glthread_recursive_lock_destroy. Return error code.
41751         (glthread_once_call): Make static.
41752         (glthread_once_multithreaded): Renamed from glthread_once.
41753         * lib/tls.h: Include <errno.h>.
41754         (glthread_tls_key_init): New macro/function.
41755         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
41756         (glthread_tls_set): New macro/function.
41757         (gl_tls_set): Define as wrapper around glthread_tls_set.
41758         (glthread_tls_key_destroy): New macro/function.
41759         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
41760         Update function declarations.
41761         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
41762         glthread_tls_get.
41763         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
41764
41765 2008-08-04  Eric Blake  <ebb9@byu.net>
41766
41767         gnumakefile: use space, not TAB, outside of targets
41768         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
41769
41770 2008-08-02  Jim Meyering  <meyering@redhat.com>
41771
41772         getdate.y: avoid locale-dependent date parsing failure
41773         In Turkish locales, getdate would fail to recognize keywords
41774         containing a lowercase "i".  The solution is not to rely on
41775         locale-sensitive case-conversion.
41776         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
41777         (lookup_word): Use c_toupper in place of toupper.
41778         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
41779         Reported by Vefa Bicakci <bicave@superonline.com> in
41780         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
41781         * modules/getdate (Depends-on): Add c-ctype.
41782
41783 2008-08-02  Bruno Haible  <bruno@clisp.org>
41784
41785         * gnulib-tool (func_import): When updating or creating a .gitignore
41786         file, prepend each added line with a slash, and ignore leading slashes
41787         from the existing lines.
41788         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
41789
41790 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41791
41792         Portability fix for GNU make 3.79.1.
41793         * top/GNUmakefile: Avoid 'else COND', which older GNU make
41794         versions do not understand.
41795
41796 2008-08-01  Bruno Haible  <bruno@clisp.org>
41797
41798         Work around bug of HP-UX 10.20 cc with -0.0 literal.
41799         * tests/test-isnanf.h (zero): New variable.
41800         (main): Avoid literal -0.0f.
41801         * tests/test-isnand.h (zero): New variable.
41802         (main): Avoid literal -0.0.
41803         * tests/test-isnanl.h (zero): New variable.
41804         (main): Avoid literal -0.0L.
41805         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
41806         (test_float, test_double, test_long_double): Avoid literals -0.0f,
41807         -0.0, -0.0L.
41808         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
41809         (test_signbitd): Avoid literal -0.0.
41810         (test_signbitl): Avoid literal -0.0L.
41811         * tests/test-ceilf1.c (zero): New variable.
41812         (main): Avoid literal -0.0f.
41813         * tests/test-ceill.c (zero): New variable.
41814         (main): Avoid literal -0.0L.
41815         * tests/test-floorf1.c (zero): New variable.
41816         (main): Avoid literal -0.0f.
41817         * tests/test-floorl.c (zero): New variable.
41818         (main): Avoid literal -0.0L.
41819         * tests/test-roundf1.c (zero): New variable.
41820         (main): Avoid literal -0.0f.
41821         * tests/test-round1.c (zero): New variable.
41822         (main): Avoid literal -0.0.
41823         * tests/test-roundl.c (zero): New variable.
41824         (main): Avoid literal -0.0L.
41825         * tests/test-truncf1.c (zero): New variable.
41826         (main): Avoid literal -0.0f.
41827         * tests/test-trunc1.c (zero): New variable.
41828         (main): Avoid literal -0.0.
41829         * tests/test-truncl.c (zero): New variable.
41830         (main): Avoid literal -0.0L.
41831         * tests/test-frexp.c (zero): New variable.
41832         (main): Avoid literal -0.0.
41833         * tests/test-frexpl.c (zero): New variable.
41834         (main): Avoid literal -0.0L.
41835         * tests/test-ldexpl.c (zero): New variable.
41836         (main): Avoid literal -0.0L.
41837         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
41838         (zerod, zerol): New variables.
41839         (test_function): Avoid literals -0.0, -0.0L.
41840         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
41841         (zerod, zerol): New variables.
41842         (test_function): Avoid literals -0.0, -0.0L.
41843         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
41844         (zerod, zerol): New variables.
41845         (test_function): Avoid literals -0.0, -0.0L.
41846         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
41847         (zerod, zerol): New variables.
41848         (test_function): Avoid literals -0.0, -0.0L.
41849         * tests/test-strtod.c (zero): New variable.
41850         (main): Avoid literal -0.0.
41851         Reported by Jonathan C. Patschke <jp@centtech.com>.
41852
41853 2008-07-31  Jim Meyering  <meyering@redhat.com>
41854
41855         sha256.h: correct definition of SHA224_DIGEST_SIZE
41856         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
41857         Reported by Paulie Pena IV <paulie4@gmail.com>.
41858         Define as 224 / 8, rather than as a literal.
41859         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
41860         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
41861         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
41862
41863 2008-07-31  Bruno Haible  <bruno@clisp.org>
41864
41865         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
41866         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
41867         Reported by Jonathan Patschke <jp@centtech.com>.
41868
41869 2008-07-31  Bruno Haible  <bruno@clisp.org>
41870
41871         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
41872         Reported by Paolo Bonzini <bonzini@gnu.org>.
41873
41874 2008-07-30  Eric Blake  <ebb9@byu.net>
41875
41876         test-strtod: allow compilation without -lm
41877         * tests/test-strtod.c (main): Avoid link dependence on fabs.
41878         Reported by Dennis Clarke <blastwave@gmail.com>.
41879
41880 2008-07-28  Jim Meyering  <meyering@redhat.com>
41881
41882         bootstrap: work also when there are no .po files in po/
41883         * build-aux/bootstrap (update_po_files): Complete the change
41884         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
41885
41886 2008-07-27  Jim Meyering  <meyering@redhat.com>
41887
41888         * users.txt: Add zile.
41889
41890 2008-07-26  Ben Pfaff  <blp@gnu.org>
41891
41892         Add missing dependencies on new m4/exponent[fdl].m4 files.
41893         * modules/isnanf-nolibm: Add m4/exponentf.m4.
41894         * modules/isnand-nolibm: Add m4/exponentd.m4.
41895         * modules/isnanl-nolibm: Add m4/exponentl.m4.
41896         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
41897         m4/isnan[fdl].m4, because the macros actually used moved.
41898         Reported by Jim Meyering.
41899
41900 2008-07-14  Ben Pfaff  <blp@gnu.org>
41901
41902         Add isinf module.
41903         * lib/isinf.c: New file.
41904         * lib/math.in.h: Define isinf macro if we have decided to replace
41905         it.
41906         * m4/isinf.m4: New file.
41907         * m4/math_h.m4: Initialize and substitute variables for isinf
41908         module.
41909         * modules/isinf: New file.
41910         * modules/isinf-tests: New file.
41911         * modules/math: Add substitutions for new module.
41912         * tests/test-isinf.c: New file.
41913         * doc/posix-functions/isinf.texi: Mention new module.
41914         * MODULES.html.sh: Mention new module.
41915
41916 2008-07-14  Ben Pfaff  <blp@gnu.org>
41917
41918         Factor out some macros for use by additional modules.
41919         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
41920         exponentf.m4.
41921         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
41922         exponentd.m4.
41923         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
41924         file exponentl.m4.
41925         * m4/exponentf.m4: New file.
41926         * m4/exponentd.m4: New file.
41927         * m4/exponentl.m4: New file.
41928         * modules/isnanf: Use new file m4/exponentf.m4.
41929         * modules/isnand: Use new file m4/exponentd.m4.
41930         * modules/isnanl: Use new file m4/exponentl.m4.
41931
41932 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
41933
41934         mktime.c: normalize tp->tm_isdst value to -1/0/1.
41935         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
41936         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
41937         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
41938
41939         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
41940         readlink on platforms without PATH_MAX.
41941
41942 2008-07-21  Eric Blake  <ebb9@byu.net>
41943
41944         Warn, not fail, on stale version.
41945         * top/GNUmakefile (_curr-ver): Tone down previous patch.
41946
41947         Don't allow installation with stale devel version number.
41948         * top/GNUmakefile (_is-install-target): New macro.
41949         (_curr-ver): Forbid installation with stale version number.
41950
41951 2008-07-20  Bruno Haible  <bruno@clisp.org>
41952
41953         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
41954         TESTS_ENVIRONMENT.
41955         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
41956
41957 2008-07-20  Bruno Haible  <bruno@clisp.org>
41958
41959         * lib/c-stack.h (c_stack_action): Add documentation.
41960         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
41961
41962 2008-07-20  Bruno Haible  <bruno@clisp.org>
41963
41964         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
41965         * modules/readlink (License): Likewise.
41966
41967 2008-07-17  Eric Blake  <ebb9@byu.net>
41968
41969         * modules/c-stack (Link): Fix typo.
41970
41971         Make c-stack use libsigsegv, when available.
41972         * modules/c-stack (Depends-on): Add libsigsegv.
41973         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
41974         needed.
41975         * lib/c-stack.c (SIGSTKSZ): Define fallback.
41976         (segv_handler, overflow_handler, c_stack_action)
41977         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
41978         implementation when libsigsegv is available, but only when using
41979         the library is necessary.
41980         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
41981         comment, explaining why XSI check fails on Linux.
41982         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
41983         * tests/test-c-stack2.sh: Tweak skip message.
41984         * NEWS: Document new link-time requirements.
41985
41986 2008-07-16  Eric Blake  <ebb9@byu.net>
41987
41988         c-stack: Expose false positives when not using libsigsegv.
41989         * modules/c-stack-tests (Files): Expand test.
41990         * tests/test-c-stack.c (main): Add means to conditionally trigger
41991         non-overflow SIGSEGV.
41992         * tests/test-c-stack2.sh: New file.
41993
41994 2008-07-14  Bruno Haible  <bruno@clisp.org>
41995
41996         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
41997         Reported by Eric Blake.
41998
41999 2008-07-14  Sam Steingold  <sds@gnu.org>
42000             Bruno Haible  <bruno@clisp.org>
42001
42002         New module libsigsegv.
42003         * modules/libsigsegv: New file.
42004         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
42005         modifications.
42006         * MODULES.html.sh (Signal handling): New section.
42007
42008 2008-07-14  Bruno Haible  <bruno@clisp.org>
42009
42010         * modules/unictype/ctype-* (Description): Add the word "function".
42011         Improves the resulting doc in MODULES.html.
42012
42013 2008-07-12  Ben Pfaff  <blp@gnu.org>
42014
42015         Add longlong module.
42016         * modules/longlong: New file.
42017
42018 2008-07-12  Bruno Haible  <bruno@clisp.org>
42019
42020         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
42021         to empty.
42022
42023 2008-07-10  Ben Pfaff  <blp@gnu.org>
42024
42025         Add isnan module.
42026         * doc/posix-functions/isnan.texi: Mention new module.
42027         * lib/math.in.h: Define isnan macro if we have decided to replace
42028         it.
42029         * m4/isnan.m4: New file.
42030         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
42031         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
42032         also.
42033         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
42034         redundancy.
42035         * m4/math_h.m4: Initialize and substitute variables for isnan
42036         module.
42037         * modules/isnan: New file.
42038         * modules/isnan-tests: New file.
42039         * modules/math: Add substitutions for new module.
42040         * tests/test-isnan.c: New file.
42041         * MODULES.html.sh: Mention new module.
42042
42043 2008-07-10  Ben Pfaff  <blp@gnu.org>
42044
42045         Add isnanf module.
42046         * lib/isnanf.m4: New file.
42047         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
42048         (gl_HAVE_ISNANF_IN_LIBM): New macro.
42049         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
42050         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
42051         * modules/isnanf: New file.
42052         * modules/isnanf-tests: New file.
42053         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
42054         files.
42055         * tests/test-isnanf-nolibm.c: factored most of its contents into
42056         new file tests/test-isnanf.h.
42057         * tests/test-isnanf.h: New file.
42058         * tests/test-isnanf.c: New file.
42059         * MODULES.html.sh: Mention new module.
42060         * doc/glibc-functions/isnanf.texi: Mention new module.
42061
42062 2008-07-10  Ben Pfaff  <blp@gnu.org>
42063
42064         Add isnand module.
42065         * lib/isnand.h: New file.
42066         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
42067         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
42068         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
42069         functionality also.
42070         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
42071         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
42072         (gl_HAVE_ISNAND_IN_LIBM): New macro.
42073         * modules/isnand: New file.
42074         * modules/isnand-tests: New file.
42075         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
42076         files.
42077         * tests/test-isnand-nolibm.c: factored most of its contents into
42078         new file tests/test-isnand.h.
42079         * tests/test-isnand.h: New file.
42080         * tests/test-isnand.c: New file.
42081         * MODULES.html.sh: Mention new module.
42082
42083 2008-07-10  Ben Pfaff  <blp@gnu.org>
42084
42085         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
42086         * lib/isnand.h: Rename lib/isnand-nolibm.h.
42087         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
42088         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
42089         * modules/isnanf-nolibm: Update references to renamed files.
42090         * modules/isnand-nolibm: Likewise.
42091         * modules/isnanf-nolibm-tests: Likewise.
42092         * modules/isnand-nolibm-tests: Likewise.
42093         * lib/frexp.c: Likewise.
42094         * lib/isfinite.c: Likewise.
42095         * lib/signbitd.c: Likewise.
42096         * lib/signbitf.c: Likewise.
42097         * lib/vasnprintf.c: Likewise.
42098         * tests/test-ceilf1.c: Likewise.
42099         * tests/test-ceilf2.c: Likewise.
42100         * tests/test-floorf1.c: Likewise.
42101         * tests/test-floorf2.c: Likewise.
42102         * tests/test-frexp.c: Likewise.
42103         * tests/test-round1.c: Likewise.
42104         * tests/test-round2.c: Likewise.
42105         * tests/test-roundf1.c: Likewise.
42106         * tests/test-strtod.c: Likewise.
42107         * tests/test-trunc1.c: Likewise.
42108         * tests/test-trunc2.c: Likewise.
42109         * tests/test-truncf1.c: Likewise.
42110         * tests/test-truncf2.c: Likewise.
42111         * NEWS: Mention the renamed header files.
42112
42113 2008-07-11  Jim Meyering  <meyering@redhat.com>
42114
42115         vc-list-files: make the last-resort awk code more portable
42116         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
42117         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
42118         does not support it.
42119
42120 2008-07-10  Eric Blake  <ebb9@byu.net>
42121
42122         Work with tar's bootstrap.
42123         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
42124         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
42125         an m4 comment.
42126
42127 2008-07-09  Jim Meyering  <meyering@redhat.com>
42128
42129         posix-shell.m4: fix typo that made this test malfunction
42130         * m4/posix-shell.m4: Remove capitalization in variable name.
42131
42132 2008-07-08  Bruno Haible  <bruno@clisp.org>
42133
42134         * m4/onceonly.m4: Update comments.
42135         Reported by Ben Pfaff <blp@cs.stanford.edu>.
42136
42137 2008-07-04  Jim Meyering  <meyering@redhat.com>
42138
42139         * users.txt: Add vc-dwim.
42140         (bison, coreutils): Use the gitweb URL.
42141
42142 2008-07-03  Jim Meyering  <meyering@redhat.com>
42143
42144         * users.txt: Add libffcall.  From Sam Steingold.
42145
42146 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
42147
42148         getdate.y: do not ignore TZ with relative day, month or year offset
42149         * lib/getdate.y (get_date): Move the tz-handling block to follow the
42150         relative-date-handling, since otherwise, the latter would clobber the
42151         sole output (an updated Start value) of the tz-handling block.
42152         * tests/test-getdate.c: Tests for the fix
42153
42154 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42155
42156         Recognize 'foo_LIBRARIES += libgnu.a'.
42157         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
42158         makefile snippet has already specified an installation location,
42159         also using '+='.
42160
42161 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
42162
42163         getdate.y: factor out common actions
42164         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
42165         Use them in place of open-coded actions.
42166
42167 2008-07-01  Simon Josefsson  <simon@josefsson.org>
42168
42169         Add self-test for getdate module.
42170         * modules/getdate-tests: New file.
42171         * tests/test-getdate.c: New file.
42172
42173 2008-06-29  Bruno Haible  <bruno@clisp.org>
42174
42175         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
42176         .gitignore.
42177         Reported by Sylvain Beucler <beuc@beuc.net>.
42178
42179 2008-06-29  Bruno Haible  <bruno@clisp.org>
42180
42181         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
42182         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
42183
42184 2008-06-29  Bruno Haible  <bruno@clisp.org>
42185
42186         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
42187         EXTRA_DIST.
42188         Reported by Sylvain Beucler <beuc@beuc.net>.
42189
42190 2008-06-26  Jim Meyering  <meyering@redhat.com>
42191
42192         make several modules depend on the "open" module
42193         This provides slightly increased consistency when opening-for-write
42194         the name of a non-directory spelled with a trailing slash.
42195         * modules/chdir-safer: Likewise.
42196         * modules/chown: Likewise.
42197         * modules/clean-temp: Likewise.
42198         * modules/copy-file: Likewise.
42199         * modules/fchdir: Likewise.
42200         * modules/fcntl-safer: Likewise.
42201         * modules/pipe: Likewise.
42202         * modules/utime: Likewise.
42203         Prompted by Eric Blake and Bruno Haible.
42204
42205 2008-06-24  Andreas Schwab  <schwab@suse.de>
42206
42207         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
42208         literals can be used as initializers for global variables.
42209
42210 2008-06-23  Eric Blake  <ebb9@byu.net>
42211
42212         Make gnulib-cache.m4 easier to diff.
42213         * gnulib-tool (func_import): Allow newlines when reading cached
42214         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
42215
42216 2008-06-23  Bruno Haible  <bruno@clisp.org>
42217
42218         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
42219         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
42220         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
42221         m4/signalblocking.m4.
42222         (gl_PREREQ_SIGACTION): Don't invoke it.
42223         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
42224         gl_PREREQ_SIG_HANDLER_H.
42225         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
42226         Don't check for sigaction here.
42227
42228 2008-06-23  Bruno Haible  <bruno@clisp.org>
42229
42230         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
42231         (install_handlers): Don't set the SA_RESETHAND flag.
42232
42233 2008-06-23  Bruno Haible  <bruno@clisp.org>
42234
42235         * m4/sigaction.m4: Comment fixes.
42236         * lib/signal.in.h: Likewise.
42237
42238 2008-06-23  Eric Blake  <ebb9@byu.net>
42239
42240         Fix typo.
42241         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
42242
42243         Avoid SA_ namespace.
42244         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
42245         Reported by Ralf Wildenhues.
42246
42247         Avoid test failure due to SA_RESTORER.
42248         * tests/test-sigaction.c (SA_MASK): New macro.
42249         (main): Avoid failing due to extension flags being set.
42250         Reported by Jim Meyering.
42251
42252         Revert use of sig-handler.h in sigprocmask.c.
42253         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
42254         it requires the existence of struct sigaction.
42255         * lib/sigprocmask.c (handler_t): Restore typedef.
42256         (rpl_signal, old_handlers): Use local type.
42257
42258 2008-06-22  Bruno Haible  <bruno@clisp.org>
42259
42260         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
42261         conditionally.
42262         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
42263
42264 2008-06-22  Bruno Haible  <bruno@clisp.org>
42265
42266         * doc/posix-functions/siginterrupt.texi: Move note.
42267
42268         * lib/signal.in.h (SA_RESTART): New macro.
42269         * lib/sigaction.c: Update comment.
42270
42271         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
42272
42273         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
42274         (gl_PREREQ_SIGPROCMASK): Invoke it.
42275         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
42276
42277         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
42278
42279         * lib/sigprocmask.c: Update a comment.
42280
42281 2008-06-21  Eric Blake  <ebb9@byu.net>
42282
42283         Use sigaction module rather than signal().
42284         * modules/c-stack (Depends-on): Add sigaction.
42285         * modules/fatal-signal (Depends-on): Likewise.
42286         * modules/nanosleep (Depends-on): Likewise.
42287         * modules/sigprocmask (Files): Add sig-handler.h.
42288         * modules/sigaction (Files): Likewise.
42289         * lib/sig-handler.h (get_handler): New file, suggested by Paul
42290         Eggert.
42291         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
42292         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
42293         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
42294         (init_fatal_signals): Likewise.
42295         * lib/nanosleep.c (rpl_nanosleep): Likewise.
42296         (siginterrupt): Delete fallback.
42297         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
42298         instead.
42299         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
42300         siginterrupt.
42301
42302         New module sigaction, for mingw.
42303         * modules/sigaction: New module...
42304         * modules/sigaction-tests: ...and its test.
42305         * m4/sigaction.m4: New file.
42306         * lib/sigaction.c: Likewise.
42307         * tests/test-sigaction.c: Likewise.
42308         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
42309         * modules/signal (Makefile.am): Likewise.
42310         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
42311         needed.
42312         * doc/posix-headers/signal.texi (signal.h): Mention provided
42313         types.
42314         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
42315         that sigaction is preferable.
42316         * doc/posix-functions/sigaction.texi (sigaction): Mention new
42317         module.
42318         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
42319         sigaction.
42320
42321         Improve robustness of sigprocmask by overriding signal.
42322         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
42323         is in use.
42324         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
42325         (SIGKILL, SIGSTOP): Provide fallbacks.
42326         (rpl_signal): Implement.
42327         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
42328         signal can be called inside handlers.
42329
42330         Fix nanosleep module on mingw.
42331         * modules/nanosleep (Depends-on): Add sys_select.
42332         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
42333
42334         Fix licensing of sigprocmask.
42335         * modules/raise (License): Relicense as LGPL.
42336
42337 2008-06-21  Bruno Haible  <bruno@clisp.org>
42338
42339         * lib/propername.c (proper_name_utf8): Don't use the transliterated
42340         result if it contains question marks.
42341         Reported by Michael Geng <linux@michaelgeng.de>.
42342
42343 2008-06-19  Bruno Haible  <bruno@clisp.org>
42344
42345         Fix CVS-ism.
42346         * doc/gnulib.texi: Include updated-stamp.texi.
42347         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
42348         (updated-stamp.texi): New rule.
42349         (gnulib.info): Depend on it.
42350         * doc/.gitignore: Add updated-stamp.texi.
42351         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
42352
42353 2008-06-19  Bruno Haible  <bruno@clisp.org>
42354
42355         * doc/Makefile (gnulib.info): Update and simplify dependencies.
42356         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
42357
42358 2008-06-19  Eric Blake  <ebb9@byu.net>
42359
42360         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
42361         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
42362         Reported by Stepan Kasal.
42363
42364 2008-06-18  Bruno Haible  <bruno@clisp.org>
42365
42366         * lib/fatal-signal.c (init_fatal_signals): Add comment.
42367         Reported by Eric Blake.
42368
42369 2008-06-18  Eric Blake  <ebb9@byu.net>
42370
42371         Work around cygwin 1.5.25 strsignal bug.
42372         * tests/test-strsignal.c: Allow for const char *.
42373         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
42374
42375 2008-06-18  Simon Josefsson  <simon@josefsson.org>
42376
42377         * users.txt: Update URL to article and add author/date
42378         information.
42379
42380 2008-06-17  Bruno Haible  <bruno@clisp.org>
42381
42382         New macro gl_DISABLE_THREADS.
42383         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
42384         if the user did not pass --enable-threads or --disable-threads option.
42385         (gl_DISABLE_THREADS): New macro.
42386         Reported by Eric Blake <ebb9@byu.net>.
42387
42388 2008-06-17  Bruno Haible  <bruno@clisp.org>
42389
42390         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
42391         when the macro ignores it.
42392         Based on a patch by Eric Blake <ebb9@byu.net>.
42393
42394 2008-06-17  Bruno Haible  <bruno@clisp.org>
42395
42396         * modules/tls (License): Change to LGPLv2+.
42397         Reported by Eric Blake.
42398
42399 2008-06-17  Eric Blake  <ebb9@byu.net>
42400
42401         Simplify c-stack prerequisites.
42402         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
42403         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
42404         no longer requires <ucontext.h> to exist.  Optimize setrlimit
42405         check.
42406         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
42407         <sys/resource.h>.
42408
42409         Move c-stack test into testsuite.
42410         * modules/c-stack-tests: New file.
42411         * lib/c-stack.c [DEBUG]: Move test program...
42412         * tests/test-c-stack.c: ...into this new file.  Skip rather than
42413         fail test if sigaltstack is lacking.
42414         * tests/test-c-stack.sh: New driver file.
42415
42416 2008-06-16  Eric Blake  <ebb9@byu.net>
42417
42418         Use raise module consistently.
42419         * modules/fatal-signal (Depends-on): Add raise.
42420         * modules/sigprocmask (Depends-on): Likewise.
42421         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
42422         * lib/sigprocmask.c (sigprocmask): Likewise.
42423         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
42424         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
42425
42426         Fix compliance bug in sigpending.
42427         * lib/sigprocmask.c (sigpending): Return pending array via
42428         parameter, not return value.
42429
42430 2008-06-14  Eric Blake  <ebb9@byu.net>
42431
42432         Improve obstack-printf test code.
42433         * tests/test-obstack-printf.c (test_function): Fix comment, and
42434         simplify usage of obstack_* in macros.  Add a test for coverage.
42435         Reported by Bruno Haible.
42436
42437 2008-06-14  Bruno Haible  <bruno@clisp.org>
42438
42439         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
42440         array size as a constant, not as a const variable.
42441         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
42442         AC_USE_SYSTEM_EXTENSIONS.
42443         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
42444         Test whether the obstack_printf function actually exists.
42445         * modules/obstack-printf (Depends-on): Add extensions.
42446         (Include): Remove obstack.h.
42447         * modules/obstack-printf-posix (Depends-on): Add extensions.
42448         (Include): Remove obstack.h.
42449
42450 2008-06-13  Eric Blake  <ebb9@byu.net>
42451
42452         Add obstack-printf and obstack-printf-posix modules.
42453         * modules/obstack-printf: New file.
42454         * modules/obstack-printf-posix: Likewise.
42455         * MODULES.html.sh (Misc): Mention them.
42456         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
42457         Likewise.
42458         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
42459         Likewise.
42460         * modules/stdio (Makefile.am): Accomodate new modules.
42461         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
42462         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
42463         Declare.
42464         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
42465         functions.
42466         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
42467         (gl_REPLACE_OBSTACK_PRINTF): New macros
42468         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
42469         * tests/test-obstack-printf.c: New file.
42470         * modules/obstack-printf-tests: Likewise.
42471         * modules/obstack-printf-posix-tests: Likewise.
42472
42473 2008-06-11  Bruno Haible  <bruno@clisp.org>
42474
42475         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
42476         * lib/open.c: Include errno.h.
42477         (open): Fail when attempting to write to a file that has a trailing
42478         slash.
42479         * tests/test-open.c (main): Test against trailing slash bug.
42480         * doc/posix-functions/open.texi: Mention the trailing slash bug.
42481
42482 2008-06-10  Bruno Haible  <bruno@clisp.org>
42483
42484         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
42485         for $? to work inside the trap command, with various /bin/sh-s.
42486         * tests/test-vc-list-files-cvs.sh: Likewise.
42487
42488 2008-06-10  Bruno Haible  <bruno@clisp.org>
42489
42490         * lib/acl-internal.h: Don't include gettext.h here.
42491         * lib/set-mode-acl.c: Include gettext.h here.
42492         * lib/copy-acl.c: Likewise.
42493
42494 2008-06-10  Bruno Haible  <bruno@clisp.org>
42495
42496         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
42497         * lib/wait-process.c (wait_subprocess): Likewise.
42498         * lib/execute.h (execute): Add termsigp argument.
42499         * lib/execute.c (execute): Likewise.
42500         * lib/csharpcomp.c (compile_csharp_using_pnet,
42501         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
42502         * lib/csharpexec.c (execute_csharp_using_pnet,
42503         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
42504         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
42505         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
42506         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
42507         is_jikes_present): Update.
42508         * lib/javaexec.c (execute_java_class): Update.
42509         * lib/javaversion.c (execute_and_read_line): Update.
42510         * NEWS: Document the changes.
42511         Reported by Eric Blake.
42512
42513 2008-06-10  Eric Blake  <ebb9@byu.net>
42514
42515         Add missing include.
42516         * tests/test-strstr.c (includes): Add <signal.h>.
42517         * tests/test-strcasestr.c (includes): Likewise.
42518         * tests/test-memmem.c (includes): Likewise.
42519
42520 2008-06-10  Bruno Haible  <bruno@clisp.org>
42521
42522         * lib/wait-process.c (wait_subprocess): Add an assertion.
42523
42524 2008-06-10  Bruno Haible  <bruno@clisp.org>
42525
42526         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
42527
42528 2008-06-10  Bruno Haible  <bruno@clisp.org>
42529
42530         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
42531         using alarm().
42532         * tests/test-strcasestr.c (main): Likewise.
42533         * tests/test-strstr.c (main): Likewise.
42534
42535 2008-06-09  Bruno Haible  <bruno@clisp.org>
42536
42537         Work around the Solaris 10 ACE ACLs ABI change.
42538         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
42539         declare if ACL_NO_TRIVIAL is present.
42540         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
42541         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
42542         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
42543         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
42544         define if ACL_NO_TRIVIAL is present.
42545         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
42546         and use the current ABI.
42547         (file_has_acl): Use same #if condition as elsewhere.
42548         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
42549         in use, and use the current ABI.
42550         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
42551         Reported by Jim Meyering.
42552
42553 2008-06-09  Eric Blake  <ebb9@byu.net>
42554
42555         Work around environments that (stupidly) ignore SIGALRM.
42556         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
42557         before using alarm().
42558         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
42559         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
42560         Reported by Ian Beckwith <ianb@erislabs.net>.
42561
42562         Produce autobuild blurb earlier in log.
42563         * modules/autobuild (configure.ac-early): Move AB_INIT here.
42564
42565 2008-06-09  Jim Meyering  <meyering@redhat.com>
42566         and OndÅ™ej Vašík  <ovasik@redhat.com>
42567
42568         utimens.c: correct kernel bug work-around
42569         OndÅ™ej Vašík found that the invalid return value of 280 indicates
42570         failure, not success, and the kernel bug we're trying to work
42571         around affects not just the utimensat call, but also the fallback
42572         futimens call.
42573         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
42574         not success.
42575         [HAVE_FUTIMENS]: Use the same work-around, here.
42576
42577 2008-06-09  Jim Meyering  <meyering@redhat.com>
42578
42579         add more guards around definition of ACE_-related code
42580         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
42581         ALLOW and ACE_OWNER are also defined.
42582
42583 2008-06-08  Bruno Haible  <bruno@clisp.org>
42584
42585         * lib/acl-internal.h: Add me as co-author.
42586         * lib/file-has-acl.c: Likewise.
42587         * lib/set-mode-acl.c: Likewise.
42588         * lib/copy-acl.c: Likewise.
42589
42590 2008-06-08  Bruno Haible  <bruno@clisp.org>
42591
42592         Add support for AIX ACLs.
42593         * lib/acl-internal.h (acl_nontrivial): New declaration.
42594         * lib/file-has-acl.c (acl_nontrivial): New function.
42595         (file_has_acl): Add implementation using AIX 4 ACL API.
42596         * lib/set-mode-acl.c (qset_acl): Likewise.
42597         * lib/copy-acl.c (qcopy_acl): Likewise.
42598
42599 2008-06-08  Bruno Haible  <bruno@clisp.org>
42600
42601         Add support for HP-UX ACLs.
42602         * lib/acl-internal.h (acl_nontrivial): New declaration.
42603         * lib/file-has-acl.c (acl_nontrivial): New function.
42604         (file_has_acl): Add implementation using HP-UX 11 ACL API.
42605         * lib/set-mode-acl.c (qset_acl): Likewise.
42606         * lib/copy-acl.c (qcopy_acl): Likewise.
42607
42608 2008-06-08  Bruno Haible  <bruno@clisp.org>
42609
42610         Add support for Cygwin ACLs.
42611         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
42612         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
42613         the chmod_or_fchmod call.
42614         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
42615
42616 2008-06-08  Bruno Haible  <bruno@clisp.org>
42617
42618         Fix bug with setuid modes in Solaris 10+ code.
42619         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
42620         succeeded, when the mode contains some special bits.
42621
42622 2008-06-08  Bruno Haible  <bruno@clisp.org>
42623
42624         Add support for Solaris 7..10 ACLs.
42625         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
42626         declarations.
42627         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
42628         functions.
42629         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
42630         * lib/set-mode-acl.c (qset_acl): Likewise.
42631         * lib/copy-acl.c (qcopy_acl): Likewise.
42632
42633 2008-06-08  Bruno Haible  <bruno@clisp.org>
42634
42635         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
42636         declaration.
42637         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
42638         (acl_access_nontrivial): Remove MacOS X case.
42639         (file_has_acl): Use acl_extended_nontrivial.
42640         * lib/copy-acl.c (qcopy_acl): Likewise.
42641
42642 2008-06-08  Bruno Haible  <bruno@clisp.org>
42643
42644         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
42645
42646 2008-06-08  Jim Meyering  <meyering@redhat.com>
42647
42648         * modules/acl (Maintainer): Add Bruno Haible.
42649
42650 2008-06-07  Bruno Haible  <bruno@clisp.org>
42651
42652         Improve support for Tru64 ACLs.
42653         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
42654         ACL on OSF/1.
42655
42656 2008-06-07  Bruno Haible  <bruno@clisp.org>
42657
42658         Add support for MacOS X ACLs.
42659         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
42660         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
42661         * lib/set-mode-acl.c (qset_acl): Likewise.
42662         * lib/copy-acl.c (qcopy_acl): Likewise.
42663
42664 2008-06-07  Bruno Haible  <bruno@clisp.org>
42665
42666         Fix memory leak introduced on 2008-05-22.
42667         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
42668         use.
42669
42670 2008-06-07  Bruno Haible  <bruno@clisp.org>
42671
42672         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
42673         to construct an empty ACL.
42674
42675 2008-06-07  Bruno Haible  <bruno@clisp.org>
42676
42677         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
42678         precisely.
42679         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
42680
42681 2008-06-07  Bruno Haible  <bruno@clisp.org>
42682
42683         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
42684         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
42685
42686 2008-06-07  Bruno Haible  <bruno@clisp.org>
42687
42688         * doc/posix-functions/_setjmp.texi: Explain the use of this function
42689         regardless of POSIX.
42690         * doc/posix-functions/_longjmp.texi: Likewise.
42691         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
42692         SystemV platform in this case.
42693
42694 2008-06-06  Eric Blake  <ebb9@byu.net>
42695
42696         Document abort() bugs.
42697         * doc/posix-functions/abort.texi (abort): Mention anomalies.
42698
42699         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
42700         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
42701         sigsetjmp.
42702         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
42703         siglongjmp, but only as a macro.
42704         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
42705         is obsolete.
42706         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
42707
42708         Tweak documentation to cover cygwin argz bugs.
42709         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
42710         argz bug fix; no code change needed since no cygwin releases
42711         occurred between the last fix and the bug being tested.
42712         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
42713         module and recently fixed cygwin bugs.
42714         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
42715         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
42716         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
42717         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
42718         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
42719         Likewise.
42720         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
42721         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
42722         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
42723         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
42724         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
42725         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
42726         Likewise.
42727
42728         Avoid gcc warning on cygwin.
42729         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
42730         !ACL_NO_TRIVIAL]: Avoid unused variable.
42731
42732 2008-06-05  Eric Blake  <ebb9@byu.net>
42733
42734         Be tolerant of UNKNOWN version in gnulib-tool test dir.
42735         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
42736         git-version-gen fails to come up with a version.
42737         Reported by Simon Josefsson.
42738
42739 2008-06-05  Jim Meyering  <meyering@redhat.com>
42740             Paul Eggert  <eggert@cs.ucla.edu>
42741
42742         utimens.c: work around a probable Linux kernel bug
42743         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
42744         appears to be a kernel bug that causes utimensat to return 280
42745         instead of 0, indicating success.
42746
42747 2008-06-04  Bruno Haible  <bruno@clisp.org>
42748
42749         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
42750         2008-06-01 commit.
42751
42752 2008-06-04  Bruno Haible  <bruno@clisp.org>
42753
42754         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
42755         * lib/file-has-acl.c (acl_access_nontrivial): New function.
42756         (file_has_acl): Use it. Save errno afterwards.
42757         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
42758
42759 2008-06-03  Bruno Haible  <bruno@clisp.org>
42760
42761         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
42762         draft code. Simplify #ifs.
42763         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
42764         Put Solaris code after POSIX-draft code. Fix comments regarding
42765         Solaris 10, HP-UX. Mention Cygwin.
42766         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
42767
42768 2008-06-03  Eric Blake  <ebb9@byu.net>
42769
42770         Provide fallback for older kernels.
42771         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
42772         Provide runtime fallback if kernel lacks support.
42773         Reported by Mike Frysinger.
42774
42775 2008-06-02  Bruno Haible  <bruno@clisp.org>
42776
42777         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
42778         it exists.
42779
42780 2008-06-02  Bruno Haible  <bruno@clisp.org>
42781
42782         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
42783         * lib/copy-acl.c (qcopy_acl): Update comment.
42784
42785 2008-06-02  Bruno Haible  <bruno@clisp.org>
42786
42787         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
42788         like ACL APIs.
42789
42790 2008-06-02  Bruno Haible  <bruno@clisp.org>
42791
42792         * tests/test-file-has-acl.sh: Use different code for Cygwin.
42793         * tests/test-set-mode-acl.sh: Likewise.
42794         * tests/test-copy-acl.sh: Likewise.
42795         * tests/test-copy-file.sh: Likewise.
42796
42797 2008-06-02  Bruno Haible  <bruno@clisp.org>
42798
42799         * tests/test-file-has-acl.sh: Remove unused code.
42800
42801 2008-06-01  Bruno Haible  <bruno@clisp.org>
42802
42803         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
42804         (copy_acl): Just a wrapper around qcopy_acl that emits the error
42805         messages.
42806         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
42807
42808 2008-06-01  Bruno Haible  <bruno@clisp.org>
42809
42810         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
42811         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
42812         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
42813         APIs.
42814         * modules/acl-tests (configure.ac): Remove tests now contained in
42815         m4/acl.m4.
42816
42817 2008-06-02  Jim Meyering  <meyering@redhat.com>
42818
42819         announce-gen: use a better key-server host name
42820         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
42821         it may be more consistently reliable.  Suggested by Werner Koch
42822         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
42823
42824 2008-06-01  Bruno Haible  <bruno@clisp.org>
42825
42826         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
42827         Reported by Voroskoi Andras <voroskoi@gmail.com>.
42828
42829 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
42830
42831         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
42832
42833 2008-06-01  Bruno Haible  <bruno@clisp.org>
42834
42835         New ACL tests.
42836         * tests/test-file-has-acl.sh: New file.
42837         * tests/test-file-has-acl.c: New file.
42838         * tests/test-set-mode-acl.sh: New file.
42839         * tests/test-set-mode-acl.c: New file.
42840         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
42841         * tests/test-copy-acl.c: New file.
42842         * modules/acl-tests: New file, based on modules/copy-file-tests.
42843         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
42844         (Depends-on): Add acl-tests.
42845         (configure.ac): Remove checks.
42846         (Makefile.am): Don't create test-sameacls program here any more.
42847
42848 2008-06-01  Bruno Haible  <bruno@clisp.org>
42849
42850         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
42851         * tests/test-sameacls.c: Include progname.h.
42852         (main): Invoke set_program_name. Portability fixes for MacOS X,
42853         Solaris, HP-UX.
42854
42855 2008-06-01  Bruno Haible  <bruno@clisp.org>
42856
42857         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
42858         function.
42859         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
42860
42861 2008-06-01  Bruno Haible  <bruno@clisp.org>
42862
42863         * modules/rpmatch (Depends-on): Add strdup.
42864
42865 2008-06-01  Bruno Haible  <bruno@clisp.org>
42866
42867         * lib/pipe.c: Include unistd-safer.h.
42868         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
42869         * modules/pipe (Depends-on): Add unistd-safer.
42870
42871 2008-05-30  Simon Josefsson  <simon@josefsson.org>
42872
42873         * modules/autobuild (configure.ac): Call AB_INIT.
42874
42875 2008-05-30  Simon Josefsson  <simon@josefsson.org>
42876
42877         * tests/test-getaddrinfo.c: Don't print debug messages by default.
42878         Suggested by Bruno Haible <bruno@clisp.org>.
42879
42880 2008-05-30  Simon Josefsson  <simon@josefsson.org>
42881
42882         * tests/test-base64.c: Cast size_t to unsigned long when invoking
42883         printf.  Use %lu instead of %d.  Reported by Bruno Haible
42884         <bruno@clisp.org>.
42885
42886 2008-05-29  Eric Blake  <ebb9@byu.net>
42887
42888         Prefer new POSIX 200x interfaces over futimesat.
42889         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
42890         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
42891         when available.
42892         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
42893
42894 2008-05-28  Bruno Haible  <bruno@clisp.org>
42895
42896         * modules/stpcpy (License): Change to LGPLv2+.
42897         Requested by David Lutterkort <dlutter@redhat.com>.
42898
42899 2008-05-27  Bruno Haible  <bruno@clisp.org>
42900
42901         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
42902         current mingw.
42903         Reported by Jose E. Marchesi <jemarch@gnu.org>.
42904
42905 2008-05-27  Bruno Haible  <bruno@clisp.org>
42906
42907         * modules/iconv_open (Link): New section, from module 'iconv'.
42908         * modules/striconv (Link): Likewise.
42909         * modules/striconveh (Link): Likewise.
42910         * modules/xstriconv (Link): Likewise.
42911         * modules/unicodeio (Link): Likewise.
42912         * modules/propername (Link): Likewise.
42913         Reported by Jim Meyering.
42914
42915 2008-05-26  Jim Meyering  <meyering@redhat.com>
42916
42917         sha256: do not artificially restrict buffer length to be < 2^32
42918         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
42919         uint32_t to size_t.
42920         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
42921         to match.
42922
42923         avoid unaligned access errors, e.g., on sparc
42924         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
42925         direct access through a possibly-unaligned uint64* pointer.
42926         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
42927         direct access through a possibly-unaligned uint32* pointer.
42928         Prompted by this patch from Tom "spot" Callaway:
42929         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
42930
42931         sha512.c: fix typo in comment
42932         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
42933
42934 2008-05-25  Bruno Haible  <bruno@clisp.org>
42935
42936         * lib/set-mode-acl.c: Renamed from lib/acl.c.
42937         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
42938         (Makefile.am): Update lib_SOURCES.
42939
42940 2008-05-25  Bruno Haible  <bruno@clisp.org>
42941
42942         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
42943
42944 2008-05-25  Jim Meyering  <meyering@redhat.com>
42945
42946         useless-if-before-free: freed expr may have white-space differences
42947         * build-aux/useless-if-before-free: Recognize cases in which the
42948         freed expression differs from the tested one in embedded white
42949         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
42950         $1 was used, so we can't make any regexp shy.  Improved tests now
42951         detect this.
42952
42953         useless-if-before-free: accept white space in the expression.
42954         * build-aux/useless-if-before-free: For now, any white space
42955         in the expression must be identical in the free argument.
42956
42957         useless-if-before-free: efficiency tweak
42958         * build-aux/useless-if-before-free: Make the expression-matching
42959         regexp "shy".
42960         Make the *outer* regexp shy, not the expr-matching one.
42961
42962         update code-in-comment to accept cast of free arg
42963         * build-aux/useless-if-before-free: Update regexp.
42964
42965 2008-05-25  Bruno Haible  <bruno@clisp.org>
42966
42967         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
42968         * modules/copy-file-tests (Files, Makefile.am): Update.
42969         * tests/test-copy-file.c (func_test_copy): Update.
42970
42971 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
42972
42973         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
42974
42975 2008-05-23  Bruno Haible  <bruno@clisp.org>
42976
42977         Improve support for ACLs on OSF/1.
42978         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
42979         Remove fallback for unknown flavors of ACLs.
42980
42981 2008-05-22  Bruno Haible  <bruno@clisp.org>
42982
42983         Add support for ACLs on OSF/1.
42984         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
42985         replacements.
42986         (acl_free_text): New macro fallback.
42987         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
42988         acl_free.
42989         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
42990         acl_free_text function. Require AC_C_INLINE.
42991
42992 2008-05-22  Bruno Haible  <bruno@clisp.org>
42993
42994         Make copy_acl work on MacOS X 10.5.
42995         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
42996         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
42997         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
42998         If MODE_INSIDE_ACL, don't assume that every system has the same text
42999         representation for ACLs as FreeBSD.
43000         * lib/copy-acl.c (copy_acl): Add support for platforms with
43001         !MODE_INSIDE_ACL.
43002         * lib/file-has-acl.c (file_has_acl): Likewise.
43003         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
43004         FreeBSD, MacOS X, or IRIX, respectively.
43005
43006 2008-05-22  Bruno Haible  <bruno@clisp.org>
43007
43008         * lib/acl.h: Don't include <sys/acl.h>.
43009         (GETACLCNT): Move fallback to lib/acl-internal.h.
43010         * lib/acl-internal.h: Include <sys/acl.h> here.
43011         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
43012
43013 2008-05-22  Bruno Haible  <bruno@clisp.org>
43014
43015         Split off copy_acl function to separate file.
43016         * lib/copy-acl.c: New file, extracted from lib/acl.c.
43017         * lib/acl.c (copy_acl): Moved function to separate file.
43018         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
43019         * modules/acl (Files): Add lib/copy-acl.c.
43020         (Makefiles.am): Augment lib_SOURCES.
43021
43022 2008-05-22  Bruno Haible  <bruno@clisp.org>
43023
43024         * modules/copy-file-tests: New file.
43025         * tests/test-copy-file.sh: New file.
43026         * tests/test-copy-file.c: New file.
43027         * tests/test-copy-file-sameacls.c: New file.
43028
43029 2008-05-22  Eric Blake  <ebb9@byu.net>
43030
43031         Avoid gcc warning.
43032         * tests/test-memcmp.c (main): Pass NULL indirectly.
43033
43034 2008-05-21  Bruno Haible  <bruno@clisp.org>
43035
43036         Add reference doc about ACLs.
43037         * doc/acl-resources.txt: New file.
43038         * doc/acl-cygwin.txt: New file.
43039
43040 2008-05-21  Bruno Haible  <bruno@clisp.org>
43041
43042         Avoid one more warning from gcc.
43043         * lib/vasnprintf.c (IF_LINT): Update comments.
43044         (VASNPRINTF): Use it also for the 'prefix' array initializer.
43045
43046 2008-05-21  Jim Meyering  <meyering@redhat.com>
43047
43048         avoid a warning from gcc
43049         * lib/vasnprintf.c (IF_LINT): Define.
43050         (scale10_round_decimal_long_double):
43051         Use it to avoid a "may be used uninitialized" warning.
43052         (scale10_round_decimal_double): Likewise.
43053
43054 2008-05-21  Simon Josefsson  <simon@josefsson.org>
43055
43056         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
43057         declared.
43058
43059 2008-05-20  Bruno Haible  <bruno@clisp.org>
43060
43061         * tests/test-memcmp.c (main): Test also the sign of the result. Test
43062         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
43063
43064 2008-05-20  Simon Josefsson  <simon@josefsson.org>
43065
43066         * modules/memcmp-tests: New file.
43067         * tests/test-memcmp.c: New file.
43068
43069 2008-05-19  Bruno Haible  <bruno@clisp.org>
43070
43071         * modules/propername (Notice, configure.ac): Put quoted "..." into
43072         --keyword option.
43073         * lib/propername.h: Update comments accordingly.
43074         Reported by Eric Blake.
43075
43076 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
43077
43078         * modules/getpass-gnu (Depends-on): Add fseeko.
43079
43080 2008-05-19  Simon Josefsson  <simon@josefsson.org>
43081
43082         * modules/base64-tests: New file.
43083
43084 2008-05-19  Bo Borgerson <gigabo@gmail.com>
43085
43086         * lib/base64.c (base64_decode_ctx): If a decode context structure
43087         was passed in use it to ignore newlines.  If a context structure
43088         was _not_ passed in, continue to treat newlines as garbage (this
43089         is the historical behavior).  Formerly base64_decode.
43090         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
43091         takes a decode context structure.
43092         * lib/base64.h (base64_decode): Macro for four-argument calls.
43093         (base64_decode_alloc): Likewise.
43094         * lib/base64.c (base64_decode_ctx): If a decode context structure
43095         was passed in use it to ignore newlines.  If a context structure
43096         was _not_ passed in, continue to treat newlines as garbage (this
43097         is the historical behavior).  Formerly base64_decode.
43098         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
43099         takes a decode context structure.
43100         * lib/base64.h (base64_decode): Macro for four-argument calls.
43101         (base64_decode_alloc): Likewise.
43102
43103 2008-05-19  Jim Meyering  <meyering@redhat.com>
43104
43105         avoid a warning from gcc
43106         * lib/trim.c (IF_LINT): Define.
43107         (trim2): Use it to avoid a "may be used uninitialized" warning.
43108
43109         Fix doc typo.
43110         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
43111
43112 2008-05-19  Bruno Haible  <bruno@clisp.org>
43113
43114         * doc/glibc-functions/getpass.texi: Document limits of other
43115         implementations.
43116
43117 2008-05-19  Simon Josefsson  <simon@josefsson.org>
43118             Bruno Haible <bruno@clisp.org>
43119
43120         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
43121
43122 2008-05-18  Bruno Haible  <bruno@clisp.org>
43123
43124         * modules/propername: New file, from GNU gettext.
43125         * lib/propername.h: New file, from GNU gettext.
43126         * lib/propername.c: New file, from GNU gettext.
43127         * MODULES.html.sh (Internationalization functions): Add propername.
43128
43129 2008-05-16  Jim Meyering  <meyering@redhat.com>
43130             Bruno Haible  <bruno@clisp.org>
43131
43132         Avoid some warnings from "gcc -Wshadow".
43133         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
43134
43135 2008-05-15  Eric Blake  <ebb9@byu.net>
43136
43137         Extend previous patch to cygwin 1.7.0.
43138         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
43139         fast implementation in cygwin >= 1.7.0.
43140         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
43141         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
43142
43143 2008-05-15  Bruno Haible  <bruno@clisp.org>
43144
43145         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
43146         implementation in glibc >= 2.9.
43147         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
43148         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
43149
43150 2008-05-15  Bruno Haible  <bruno@clisp.org>
43151
43152         * MODULES.html.sh (Internationalization functions): Remove linebreak.
43153         (Unicode string functions): Add unilbrk/*.
43154         Reported by Karl Berry.
43155
43156 2008-05-15  Eric Blake  <ebb9@byu.net>
43157
43158         Fix violation of <stdbool.h> replacement in regex.
43159         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
43160         * lib/regexec.c (re_search_internal): Likewise.
43161         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
43162
43163 2008-05-15  Jim Meyering  <meyering@redhat.com>
43164
43165         avoid distracting test output when git or cvs is not found
43166         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
43167         * tests/test-vc-list-files-git.sh: Likewise.
43168
43169 2008-05-15  Eric Blake  <ebb9@byu.net>
43170
43171         Glibc finally accepted the memmem speedup code, bugzilla #5514.
43172         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
43173         glibc version.
43174         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
43175         * doc/posix-functions/strstr.texi (strstr): Likewise.
43176         * lib/str-two-way.h (MAX): Sychronize with glibc.
43177
43178 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
43179
43180         * lib/regcomp.c (optimize_utf8): Add a note on why we test
43181         opr.ctx_type.
43182         (calc_first): Initialize constraint field.
43183         (duplicate_node_closure): Use it instead of special casing ANCHORS.
43184         Fix grammar.
43185         (duplicate_node): Merge constraint field for all node types.
43186         (calc_eclosure_iter): Look at constraint field for all node types.
43187         * lib/regex_internal.c (create_cd_newstate): Don't look at
43188         opr.ctx_type.
43189
43190 2008-05-14  Bruno Haible  <bruno@clisp.org>
43191
43192         Help GCC to do better code generation.
43193         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
43194         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
43195         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
43196         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
43197         Declare with attribute 'malloc' if supported.
43198
43199 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
43200
43201         use "echo STR|wc -c" rather than unportable "expr length STR"
43202         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
43203         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
43204
43205 2008-05-14  Jim Meyering  <meyering@redhat.com>
43206
43207         use dd ibs=$n count=1 ... rather than less-portable head -c$n
43208         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
43209         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
43210         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
43211         via Collin Lasse.
43212
43213 2008-05-14  Eric Blake  <ebb9@byu.net>
43214
43215         Avoid quadratic growth in gl_LIBSOURCES.
43216         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
43217         Suggested by Bruno Haible.
43218
43219         Test xmemdup0.
43220         * modules/xmemdup0-tests: New file.
43221         * tests/test-xmemdup0.c: Likewise.
43222
43223 2008-05-13  Eric Blake  <ebb9@byu.net>
43224
43225         Split xmemdup0 into its own module.
43226         * modules/xmemdup0: New file.
43227         * lib/xmemdup0.h: Likewise.
43228         * lib/xmemdup0.c: Likewise.
43229         * MODULES.html.sh (Memory management functions): Add xmemdup0.
43230         * lib/xalloc.h (xmemdup0): Remove.
43231         * lib/xmalloc.c (xmemdup0): Likewise.
43232
43233 2008-05-13  Eric Blake  <ebb9@byu.net>
43234             Bruno Haible  <bruno@clisp.org>
43235
43236         Reduce number of forks required during autoconf.
43237         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
43238         and gl_LIBSOURCES_DIR.
43239         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
43240         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
43241         m4_syscmd per file.
43242         <m4_foreach_w>: Move...
43243         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
43244
43245 2008-05-13  Eric Blake  <ebb9@byu.net>
43246
43247         * gnulib-tool: Fix various comment typos.
43248
43249 2008-05-12  Bruno Haible  <bruno@clisp.org>
43250
43251         Tailor the linebreaking algorithm.
43252         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
43253
43254 2008-05-12  Bruno Haible  <bruno@clisp.org>
43255
43256         Update to Unicode 5.0.0.
43257         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
43258         LBP_JV, LBP_JT. Redistribute values.
43259         (unilbrk_table): Change size.
43260         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
43261         Unicode TR#14 rev. 22.
43262         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
43263         LBP_JV, LBP_JT. Redistribute values.
43264         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
43265         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
43266         Update.
43267         * lib/unilbrk/lbrkprop1.h: Regenerated.
43268         * lib/unilbrk/lbrkprop2.h: Regenerated.
43269         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
43270         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
43271         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
43272         Likewise.
43273         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
43274         Likewise.
43275         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
43276         result.
43277         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
43278         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
43279         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
43280         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
43281         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
43282         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
43283
43284 2008-05-11  Bruno Haible  <bruno@clisp.org>
43285
43286         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
43287
43288 2008-05-11  Bruno Haible  <bruno@clisp.org>
43289
43290         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
43291         * modules/unilbrk/gen-lbrk: New file.
43292
43293 2008-05-11  Bruno Haible  <bruno@clisp.org>
43294
43295         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
43296         * m4/sha512.m4 (gl_SHA512): Likewise.
43297
43298 2008-05-11  Jim Meyering  <meyering@redhat.com>
43299
43300         New modules: crypto/sha256, crypto/sha512 (from coreutils)
43301         * modules/crypto/sha256: New file.
43302         * modules/crypto/sha512: Likewise.
43303         * lib/sha256.c: Likewise.
43304         * lib/sha256.h: Likewise.
43305         * lib/sha512.c: Likewise.
43306         * lib/sha512.h: Likewise.
43307         * lib/u64.h: Likewise.
43308         * m4/sha256.m4: Likewise.
43309         * m4/sha512.m4: Likewise.
43310         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
43311
43312 2008-05-10  Bruno Haible  <bruno@clisp.org>
43313
43314         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
43315         (Input/Output <stdio.h>): Add xprintf.
43316         (Signal handling <signal.h>): Add strsignal.
43317         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
43318         (Core language properties): Add func.
43319         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
43320         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
43321         strings.
43322         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
43323         (Input/output): New section.
43324         (File system functions): Add openat-die, stat-macros.
43325         (Networking functions): Add sockets.
43326         (Unicode string functions): Add unictype/*.
43327         (Support for building libraries and executables): Add gperf.
43328         (Support for building documentation): Add agpl-3.0.
43329         (Misc): Add nocrash.
43330
43331 2008-05-10  Bruno Haible  <bruno@clisp.org>
43332
43333         * modules/unictype/gen-ctype: New file.
43334
43335 2008-05-10  Jim Meyering  <meyering@redhat.com>
43336
43337         Make chdir-safer.c more efficient on a system with no symlinks.
43338         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
43339         also if ELOOP is zero.  Suggested by Bruno Haible.
43340
43341         Make chdir-safer.c slightly safer.
43342         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
43343         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
43344
43345         Avoid compile failure on systems without ELOOP (like mingw).
43346         * lib/chdir-safer.c (ELOOP): Define if not already defined.
43347         Reported by Bruno Haible.
43348
43349 2008-05-10  Bruno Haible  <bruno@clisp.org>
43350
43351         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
43352         (is_utf8_encoding): Use a case-insensitive comparison.
43353         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
43354         streq.
43355
43356 2008-05-10  Bruno Haible  <bruno@clisp.org>
43357
43358         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
43359         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
43360         * lib/unilbrk/ulc-common.h (iconv_string_length,
43361         iconv_string_keeping_offsets): Remove declarations.
43362         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
43363         Don't include <iconv.h>, streq.h, xsize.h.
43364         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
43365         conversion.
43366         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
43367         <iconv.h>, streq.h, xsize.h.
43368         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
43369         conversion.
43370         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
43371         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
43372         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
43373         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
43374
43375 2008-05-10  Bruno Haible  <bruno@clisp.org>
43376
43377         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
43378         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
43379
43380         * modules/unilbrk/u32-width-linebreaks-tests: New file.
43381         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
43382
43383         * modules/unilbrk/u16-width-linebreaks-tests: New file.
43384         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
43385
43386         * modules/unilbrk/u8-width-linebreaks-tests: New file.
43387         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
43388
43389         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
43390         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
43391
43392         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
43393         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
43394
43395         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
43396         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
43397
43398         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
43399         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
43400
43401 2008-05-10  Bruno Haible  <bruno@clisp.org>
43402
43403         Split up 'linebreak' module.
43404         * lib/unilbrk.h: New file, based on lib/linebreak.h.
43405         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
43406         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
43407         modifications.
43408         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
43409         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
43410         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
43411         lib/linebreak.c.
43412         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
43413         lib/linebreak.c.
43414         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
43415         lib/linebreak.c.
43416         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
43417         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
43418         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
43419         lib/linebreak.c.
43420         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
43421         lib/linebreak.c.
43422         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
43423         lib/linebreak.c.
43424         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
43425         lib/linebreak.c.
43426         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
43427         lib/linebreak.c.
43428         * modules/unilbrk/base: New file.
43429         * modules/unilbrk/tables: New file.
43430         * modules/unilbrk/u8-possible-linebreaks: New file.
43431         * modules/unilbrk/u16-possible-linebreaks: New file.
43432         * modules/unilbrk/u32-possible-linebreaks: New file.
43433         * modules/unilbrk/ulc-common: New file.
43434         * modules/unilbrk/ulc-possible-linebreaks: New file.
43435         * modules/unilbrk/u8-width-linebreaks: New file.
43436         * modules/unilbrk/u16-width-linebreaks: New file.
43437         * modules/unilbrk/u32-width-linebreaks: New file.
43438         * modules/unilbrk/ulc-width-linebreaks: New file.
43439         * lib/linebreak.h: Remove file.
43440         * lib/linebreak.c: Remove file.
43441         * m4/linebreak.m4: Remove file.
43442         * modules/linebreak: Remove file.
43443         * NEWS: Mention the changes.
43444
43445 2008-05-09  Eric Blake  <ebb9@byu.net>
43446
43447         Add xmemdup0.
43448         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
43449         implementation.
43450         * lib/xmalloc.c (xmemdup0): New C implementation.
43451
43452 2008-05-08  Bruno Haible  <bruno@clisp.org>
43453
43454         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
43455
43456 2008-05-07  Eric Blake  <ebb9@byu.net>
43457
43458         Support cross-compilation of <wctype.h>.
43459         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
43460         AC_CACHE_CHECK.
43461
43462 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
43463
43464         * build-aux/vc-list-files: Add support for bzr.
43465
43466 2008-05-03  Jim Meyering  <meyering@redhat.com>
43467
43468         avoid failed assertion with tight malloc
43469         * tests/test-getndelim2.c: Correct an off-by-one assertion.
43470
43471 2008-05-03  Simon Josefsson  <simon@josefsson.org>
43472
43473         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
43474         are needed from arpa/inet.h.
43475         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
43476         Reported by Bruno Haible.
43477
43478 2008-05-02  Jim Meyering  <meyering@redhat.com>
43479
43480         avoid compilation error on FreeBSD 6
43481         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
43482
43483 2008-05-01  Jim Meyering  <meyering@redhat.com>
43484
43485         useless-if-before-free: correct --help's exit status description
43486         * build-aux/useless-if-before-free (usage): Like grep, exit 0
43487         for one or more matches, etc.  Reported by Bruno Haible.
43488
43489         vc-list-files: make the stand-alone gnulib test work
43490         * modules/vc-list-files-tests (configure.ac):
43491         Define and AC_SUBST abs_aux_dir.
43492         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
43493         $(abs_top_srcdir) to each script and having each of them
43494         duplicate the work of setting PATH, set PATH here, using
43495         the new variable, abs_aux_dir instead.
43496         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
43497         * tests/test-vc-list-files-git.sh: Likewise.
43498         Reported by Bruno Haible.
43499
43500 2008-05-01  Bruno Haible  <bruno@clisp.org>
43501
43502         * lib/getndelim2.c (getndelim2): Fix newsize computation during
43503         reallocation. Rename 'done' to 'found_delimiter'.
43504
43505 2008-05-01  Jim Meyering  <meyering@redhat.com>
43506
43507         vc-list-files: accommodate /bin/sh like the one from Solaris 10
43508         * build-aux/vc-list-files: Use `...`, not $(...).
43509
43510 2008-04-30  Jim Meyering  <meyering@redhat.com>
43511
43512         add tests for vc-list-files
43513         * modules/vc-list-files-tests: New module.
43514         * tests/test-vc-list-files-cvs.sh: New file.
43515         * tests/test-vc-list-files-git.sh: New file.
43516
43517         avoid a warning from gcc
43518         * lib/getndelim2.c (IF_LINT): Define.
43519         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
43520
43521         vc-list-files: work properly with build-aux/cvsu, too
43522         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
43523         to all cvs-based clauses.
43524
43525         vc-list-files: work properly in the CVS+awk case, too
43526         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
43527
43528         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
43529         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
43530         take more than one file argument, so .  Add quotes, just in case $dir
43531         ever contains a shell meta-character.  Prompted by Soren Hansen in
43532         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
43533
43534 2008-04-29  Eric Blake  <ebb9@byu.net>
43535
43536         Optimize getndelim2 to use block operations when possible.
43537         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
43538         freadseek, and memchr2.
43539         * lib/getndelim2.c (getndelim2): Use them for block reads.
43540
43541 2008-04-29  Bruno Haible  <bruno@clisp.org>
43542
43543         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
43544         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
43545         * modules/inet_ntop (Depends-on): Add extensions.
43546         * modules/inet_pton (Depends-on): Likewise.
43547         Reported by Simon Josefsson.
43548
43549 2008-04-29  Jim Meyering  <meyering@redhat.com>
43550
43551         When the is more than one match in a block, match all of them.
43552         * build-aux/useless-if-before-free: Iterate through each block
43553         until there are no more matches.
43554
43555         Fix broken useless-if-before-free script.
43556         * build-aux/useless-if-before-free: Fix typo: missing "?" after
43557         the expression to match cast of argument to free-like function.
43558
43559 2008-04-29  Eric Blake  <ebb9@byu.net>
43560
43561         Use new header.
43562         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
43563
43564 2008-04-29  Jim Meyering  <meyering@redhat.com>
43565
43566         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
43567         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
43568         by gnulib to exist and to declare e.g., inet_ntop.
43569         Don't include "inet_ntop.h", now removed.
43570
43571         * m4/arpa_inet_h.m4: Remove trailing blanks.
43572
43573 2008-04-29  Eric Blake  <ebb9@byu.net>
43574
43575         Silence valgrind on safe reads beyond potential array bounds.
43576         * lib/rawmemchr.valgrind: New file.
43577         * lib/strchrnul.valgrind: Likewise.
43578         * modules/rawmemchr (Files): Distribute new file.
43579         * modules/strchrnul (Files): Likewise.
43580         Suggested by Bruno Haible.
43581
43582 2008-04-29  Bruno Haible  <bruno@clisp.org>
43583
43584         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
43585         (inet_ntop, inet_pton): Change portability warning's wording.
43586         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
43587         Invoke gl_CHECK_NEXT_HEADERS.
43588         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
43589         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
43590         set ARPA_INET_H.
43591         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
43592         * modules/arpa_inet (Description): No longer only for systems that
43593         lack it.
43594         (Depends-on): Add include_next.
43595         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
43596         HAVE_ARPA_INET_H.
43597
43598 2008-04-29  Jim Meyering  <meyering@redhat.com>
43599
43600         * modules/mkdir (License): Re-license as LGPLv2+.
43601
43602 2008-04-29  Bruno Haible  <bruno@clisp.org>
43603
43604         * modules/rawmemchr (Maintainer): Set to Eric.
43605         * modules/strchrnul (Maintainer): Likewise.
43606
43607 2008-04-29  Simon Josefsson  <simon@josefsson.org>
43608
43609         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
43610         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
43611
43612         * modules/arpa_inet (arpa/inet.h): Use them.
43613
43614 2008-04-28  Eric Blake  <ebb9@byu.net>
43615
43616         Test getndelim2.
43617         * modules/getndelim2-tests: New file.
43618         * tests/test-getndelim2.c: Likewise.
43619         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
43620         stream.
43621         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
43622
43623         * MODULES.html.sh: Document new module.
43624
43625 2008-04-20  Bruno Haible  <bruno@clisp.org>
43626
43627         * lib/c-stack.c (die): Use raise.
43628         * modules/c-stack (Depends-on): Add raise.
43629
43630 2008-04-28  Bruno Haible  <bruno@clisp.org>
43631
43632         Expect rpmatch to be declared.
43633         * lib/yesno.c (rpmatch): Remove declaration.
43634
43635         Declare rpmatch.
43636         * lib/stdlib.in.h (rpmatch): New declaration.
43637         * lib/rpmatch.c: Include <stdlib.h> first.
43638         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
43639         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
43640         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
43641         HAVE_RPMATCH.
43642         * modules/rpmatch (Depends-on): Add stdlib, extensions.
43643         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
43644         (Include): Set to <stdlib.h>.
43645         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
43646         HAVE_RPMATCH.
43647         * NEWS: Document the change.
43648
43649 2008-04-28  Bruno Haible  <bruno@clisp.org>
43650
43651         Change rpmatch to use nl_langinfo when appropriate.
43652         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
43653         (N_): New macro.
43654         (localized_pattern): New function/macro.
43655         (try): Remove match, nomatch arguments. Copy the pattern into safe
43656         memory before caching it.
43657         (rpmatch): Use localized_pattern. Add translator comments.
43658         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
43659         Suggested by Eric Blake.
43660         * modules/rpmatch (Depends-on): Add stdbool.
43661
43662 2008-04-28  Eric Blake  <ebb9@byu.net>
43663
43664         Add rawmemchr module, matching glibc.
43665         * modules/string (Makefile.am): New indicator.
43666         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
43667         * lib/string.in.h (rawmemchr): Declare when appropriate.
43668         * modules/rawmemchr: New file.
43669         * m4/rawmemchr.m4: Likewise.
43670         * lib/rawmemchr.c: Likewise.
43671         * modules/rawmemchr-tests: Likewise.
43672         * tests/test-rawmemchr.c: Likewise.
43673         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
43674         module.
43675         * modules/strchrnul (Depends-on): Add rawmemchr.
43676         * lib/strchrnul.c (strchrnul): Optimize a corner case.
43677
43678         Whitespace cleanup.
43679         * tests/test-strchrnul.c: Reindent.
43680         * lib/strchrnul.c: Likewise.
43681
43682         Optimize and test strchrnul.
43683         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
43684         * modules/strchrnul-tests: New file.
43685         * tests/test-strchrnul.c: Likewise.
43686
43687         Remove intprops dependency.
43688         * modules/memchr (Depends-on): Remove intprops.
43689         * modules/memrchr (Depends-on): Likewise.
43690         * modules/memchr2 (Depends-on): Likewise.
43691         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
43692         * lib/memrchr.c (__memrchr): Likewise.
43693         * lib/memrchr2.c (memchr2): Likewise.
43694         Reported by Simon Josefsson.
43695
43696 2008-04-28  Simon Josefsson  <simon@josefsson.org>
43697
43698         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
43699         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
43700
43701 2008-04-28  Simon Josefsson  <simon@josefsson.org>
43702
43703         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
43704
43705         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
43706
43707         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
43708
43709         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
43710         declarations.
43711         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
43712
43713         * m4/inet_pton.m4: Don't check for header files.
43714
43715         * m4/inet_ntop.m4: Don't check for header files.
43716
43717 2008-04-28  Simon Josefsson  <simon@josefsson.org>
43718
43719         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
43720         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
43721         trigger for cygwin).
43722         Reported by Bruno Haible  <bruno@clisp.org>.
43723
43724 2008-04-28  Bruno Haible  <bruno@clisp.org>
43725
43726         * doc/posix-functions/strdup.texi: Mention mingw problem.
43727
43728 2008-04-27  Bruno Haible  <bruno@clisp.org>
43729
43730         * modules/stat-time-tests (Depends-on): Add sleep.
43731         * tests/test-stat-time.c (force_unlink): New function.
43732         (cleanup): Use it.
43733         (test_mtime): Remove the ctime related tests.
43734         (test_ctime): New function, containing the ctime related tests.
43735         (main): Call test_ctime, except on native Windows platforms.
43736
43737 2008-04-27  Bruno Haible  <bruno@clisp.org>
43738
43739         * lib/rpmatch.c (rpmatch): Add some comments.
43740         Reported by James Youngman <jay@gnu.org>.
43741
43742 2008-04-27  Bruno Haible  <bruno@clisp.org>
43743
43744         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
43745         quiet NaNs.
43746
43747 2008-04-27  Bruno Haible  <bruno@clisp.org>
43748
43749         Make test-yesno.sh work on mingw.
43750         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
43751         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
43752         (main): Set stdin to binary mode.
43753         * modules/yesno-tests (Depends-on): Add binary-io.
43754
43755 2008-04-27  Bruno Haible  <bruno@clisp.org>
43756
43757         Fix 'isfinite' on x86, x86_64, ia64 platforms.
43758         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
43759         argument that lie outside the IEEE 854 domain.
43760         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
43761         (gl_ISFINITE): Use it.
43762         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
43763
43764 2008-04-27  Bruno Haible  <bruno@clisp.org>
43765
43766         Allow local renaming in config.h.
43767         * lib/memrchr.c (memrchr): Don't undefine outside libc.
43768
43769 2008-04-27  Bruno Haible  <bruno@clisp.org>
43770
43771         * lib/memchr.c (__memchr): Change type of 'i'.
43772         * lib/memchr2.c (memchr2): Likewise.
43773
43774 2008-04-26  Eric Blake  <ebb9@byu.net>
43775         and Bruno Haible  <bruno@clisp.org>
43776
43777         Optimize and test memrchr.
43778         * modules/memrchr (Depends-on): Add intprops.
43779         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
43780         * modules/memrchr-tests: New file.
43781         * tests/test-memrchr.c: New file.
43782
43783 2008-04-26  Bruno Haible  <bruno@clisp.org>
43784
43785         Add tentative support for DragonFly BSD.
43786         * lib/stdio-impl.h: Add macros for DragonFly BSD.
43787         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
43788         fp.
43789         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
43790         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
43791         * lib/fpurge.c (fpurge): Likewise.
43792         * lib/freadable.c (freaadable): Likewise.
43793         * lib/freadahead.c (freadahead): Likewise.
43794         * lib/freading.c (freading): Likewise.
43795         * lib/freadptr.c (freadptr): Likewise.
43796         * lib/freadseek.c (freadptrinc): Likewise.
43797         * lib/fseeko.c (fseeko): Likewise.
43798         * lib/fseterr.c (fseterr): Likewise.
43799         * lib/fwritable.c (fwritable): Likewise.
43800         * lib/fwriting.c (fwriting): Likewise.
43801
43802 2008-04-26  Bruno Haible  <bruno@clisp.org>
43803
43804         * lib/stdio-impl.h: New file.
43805         * lib/fbufmode.c: Include stdio-impl.h.
43806         (fbufmode): Use fp_, remove redundant #defines.
43807         * lib/fflush.c: Include stdio-impl.h.
43808         (clear_ungetc_buffer): Remove redundant #defines.
43809         * lib/fpurge.c: Include stdio-impl.h.
43810         (fpurge): Remove redundant #defines.
43811         * lib/freadable.c: Include stdio-impl.h.
43812         (freadable): Remove redundant #defines.
43813         * lib/freadahead.c: Include stdio-impl.h.
43814         (freadahead): Remove redundant #defines.
43815         * lib/freading.c: Include stdio-impl.h.
43816         (freading): Remove redundant #defines.
43817         * lib/freadptr.c: Include stdio-impl.h.
43818         (freadptr): Remove redundant #defines.
43819         * lib/freadseek.c: Include stdio-impl.h.
43820         (freadptrinc): Remove redundant #defines.
43821         * lib/fseeko.c: Include stdio-impl.h.
43822         (rpl_fseeko): Remove redundant #defines.
43823         * lib/fseterr.c: Include stdio-impl.h.
43824         (fseterr): Remove redundant #defines.
43825         * lib/fwritable.c: Include stdio-impl.h.
43826         (fwritable: Remove redundant #defines.
43827         * lib/fwriting.c: Include stdio-impl.h.
43828         (fwriting): Remove redundant #defines.
43829         * modules/fbufmode (Files): Add lib/stdio-impl.h.
43830         * modules/fflush (Files): Likewise.
43831         * modules/fpurge (Files): Likewise.
43832         * modules/freadable (Files): Likewise.
43833         * modules/freadahead (Files): Likewise.
43834         * modules/freading (Files): Likewise.
43835         * modules/freadptr (Files): Likewise.
43836         * modules/freadseek (Files): Likewise.
43837         * modules/fseeko (Files): Likewise.
43838         * modules/fseterr (Files): Likewise.
43839         * modules/fwritable (Files): Likewise.
43840         * modules/fwriting (Files): Likewise.
43841
43842 2008-04-26  Bruno Haible  <bruno@clisp.org>
43843
43844         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
43845         restore_seek_optimization, update_fpos_cache): New functions, extracted
43846         from rpl_fflush.
43847         (rpl_fflush): Use them.
43848         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
43849         (gl_REPLACE_FFLUSH): Use it.
43850
43851 2008-04-26  Bruno Haible  <bruno@clisp.org>
43852
43853         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
43854         on Solaris.
43855         * tests/test-xstrtoimax.sh: Likewise.
43856         * tests/test-xstrtoumax.sh: Likewise.
43857         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
43858
43859 2008-04-26  Bruno Haible  <bruno@clisp.org>
43860
43861         * modules/memchr-tests: New file.
43862         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
43863
43864 2008-04-26  Eric Blake  <ebb9@byu.net>
43865             Bruno Haible  <bruno@clisp.org>
43866
43867         * lib/memchr.c: Include intprops.h.
43868         (__memchr): Optimize parallel detection of matching bytes. Rename local
43869         variables. Add explanatory comments.
43870
43871 2008-04-26  Bruno Haible  <bruno@clisp.org>
43872
43873         Fix module 'memchr', broken since 2000-10-28.
43874         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
43875
43876 2008-04-26  Bruno Haible  <bruno@clisp.org>
43877
43878         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
43879         comments.
43880
43881 2008-04-25  Eric Blake  <ebb9@byu.net>
43882
43883         Use native fstatat on cygwin 1.7.0.
43884         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
43885         first.
43886
43887 2008-04-23  Eric Blake  <ebb9@byu.net>
43888
43889         Improve memchr2 performance.
43890         * lib/memchr2.c (memchr2): Further optimize parallel detection of
43891         NUL bytes.
43892         * modules/memchr2 (Depends-on): Use intprops.h.
43893
43894 2008-04-23  Simon Josefsson  <simon@josefsson.org>
43895
43896         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
43897         an inline function instead of a CPP macro.  Patch by Ben Pfaff
43898         <blp@cs.stanford.edu>.
43899
43900 2008-04-23  Simon Josefsson  <simon@josefsson.org>
43901
43902         * lib/arpa_inet.in.h: New file.
43903
43904         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
43905         (Makefile.am): Sed in substitute header file.
43906
43907         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
43908         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
43909
43910         * modules/inet_ntop (configure.ac): Use
43911         gl_ARPA_INET_MODULE_INDICATOR.
43912
43913         * modules/inet_pton (configure.ac): Use
43914         gl_ARPA_INET_MODULE_INDICATOR.
43915
43916 2008-04-22  Jim Meyering  <meyering@redhat.com>
43917
43918         * modules/verify (License): Re-license as LGPLv2+.
43919
43920 2008-04-22  Simon Josefsson  <simon@josefsson.org>
43921
43922         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
43923         parameter to void* as per POSIX standard (MinGW uses char*).
43924
43925 2008-04-21  Bruno Haible  <bruno@clisp.org>
43926
43927         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
43928         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
43929         Define to replacements if REPLACE_ISWCNTRL is 1.
43930         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
43931         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
43932         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
43933         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
43934         what it fixes.
43935         * doc/posix-functions/iswalpha.texi: Likewise.
43936         * doc/posix-functions/iswblank.texi: Likewise.
43937         * doc/posix-functions/iswcntrl.texi: Likewise.
43938         * doc/posix-functions/iswdigit.texi: Likewise.
43939         * doc/posix-functions/iswgraph.texi: Likewise.
43940         * doc/posix-functions/iswlower.texi: Likewise.
43941         * doc/posix-functions/iswprint.texi: Likewise.
43942         * doc/posix-functions/iswpunct.texi: Likewise.
43943         * doc/posix-functions/iswspace.texi: Likewise.
43944         * doc/posix-functions/iswupper.texi: Likewise.
43945         * doc/posix-functions/iswxdigit.texi: Likewise.
43946         Reported by Alain Guibert.
43947
43948 2008-04-21  Bruno Haible  <bruno@clisp.org>
43949
43950         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
43951         Patch by Alain Guibert.
43952
43953 2008-04-21  Bruno Haible  <bruno@clisp.org>
43954
43955         Fix test failures on mingw.
43956         * tests/test-xstrtol.c (print_no_progname): New function.
43957         (main): Install it in error_print_progname hook.
43958         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
43959         * tests/test-xstrtoimax.sh: Likewise.
43960         * tests/test-xstrtoumax.sh: Likewise.
43961
43962 2008-04-21  Bruno Haible  <bruno@clisp.org>
43963
43964         Fix test failure on mingw.
43965         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
43966
43967 2008-04-21  Bruno Haible  <bruno@clisp.org>
43968
43969         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
43970         Actually assign a value.
43971
43972 2008-04-20  Bruno Haible  <bruno@clisp.org>
43973
43974         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
43975         take 2.
43976         * lib/canonicalize.c (canonicalize_file_name): Elide if the
43977         'canonicalize-lgpl' module is also used.
43978         * lib/canonicalize-lgpl.c: Undo last change.
43979         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
43980
43981 2008-04-20  Bruno Haible  <bruno@clisp.org>
43982
43983         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
43984         config.h. Provide _mkdir based fallback for mingw.
43985         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
43986         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
43987         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
43988         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
43989         rather than defining mkdir in config.h.
43990         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
43991         (gl_SYS_STAT_H_DEFAULTS): New macro.
43992         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
43993         HAVE_IO_H any more.
43994         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
43995         HAVE_DECL_MKDIR and HAVE_IO_H.
43996
43997 2008-04-20  Bruno Haible  <bruno@clisp.org>
43998
43999         * lib/isapipe.c: Port to native Windows platforms.
44000
44001 2008-04-20  Bruno Haible  <bruno@clisp.org>
44002
44003         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
44004
44005 2008-04-21  Eric Blake  <ebb9@byu.net>
44006
44007         Work around preprocessors that don't handle UINTMAX_MAX.
44008         * lib/memchr2.c (memchr2): Avoid embedded #if.
44009         Reported by Alain Guibert, fix suggested by Bruno Haible.
44010
44011 2008-04-21  Simon Josefsson  <simon@josefsson.org>
44012
44013         * doc/posix-functions/strftime.texi (strftime): Explain better
44014         Windows incompatibility.  Suggested by Micah Cowan
44015         <micah@cowan.name>.
44016
44017 2008-04-20  Bruno Haible  <bruno@clisp.org>
44018
44019         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
44020         unistr/u8-mblen.
44021
44022 2008-04-20  Bruno Haible  <bruno@clisp.org>
44023
44024         Fix test failure on platforms with non-GNU iconv.
44025         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
44026         (U_TO_U8): Use it, rather than u16_to_u8.
44027         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
44028         units at the end of the input string.
44029         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
44030
44031 2008-04-20  Bruno Haible  <bruno@clisp.org>
44032
44033         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
44034         when the resulting length is 0.
44035         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
44036
44037 2008-04-20  Bruno Haible  <bruno@clisp.org>
44038
44039         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
44040         works.
44041         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
44042
44043 2008-04-20  Bruno Haible  <bruno@clisp.org>
44044
44045         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
44046         * modules/tsearch-tests (configure.ac): Test for initstate function.
44047
44048 2008-04-20  Bruno Haible  <bruno@clisp.org>
44049
44050         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
44051         for nlink_t if missing.
44052         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
44053
44054 2008-04-19  Bruno Haible  <bruno@clisp.org>
44055
44056         Work around snprintf bug on Linux libc5.
44057         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
44058         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
44059         gl_SNPRINTF_SIZE1.
44060         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
44061         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
44062         that test failed.
44063         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
44064         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
44065         * modules/snprintf (Files): Add m4/printf.m4.
44066         * modules/vsnprintf (Files): Likewise.
44067         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
44068         * doc/posix-functions/vsnprintf.texi: Likewise.
44069
44070 2008-04-19  Bruno Haible  <bruno@clisp.org>
44071
44072         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
44073         from 0.0058 to less than 10^-7.
44074
44075 2008-04-19  Bruno Haible  <bruno@clisp.org>
44076
44077         Fix rounding when a precision is given.
44078         * lib/vasnprintf.c (is_borderline): New function.
44079         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
44080         9...9x.
44081         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
44082         %e, %g.
44083         * tests/test-vasprintf-posix.c (test_function): Likewise.
44084         * tests/test-snprintf-posix.h (test_function): Likewise.
44085         * tests/test-sprintf-posix.h (test_function): Likewise.
44086         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
44087         * tests/test-printf-posix.h (test_function): Likewise.
44088         * tests/test-printf-posix.output: Update.
44089         Reported by John Darrington <john@darrington.wattle.id.au> via
44090         Ben Pfaff <blp@cs.stanford.edu>.
44091
44092 2008-04-18  Simon Josefsson  <simon@josefsson.org>
44093
44094         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
44095         Suggested by Bruno Haible <bruno@clisp.org>.
44096
44097 2008-04-17  Bruno Haible  <bruno@clisp.org>
44098
44099         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
44100         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
44101         implementation.
44102         Patch by Bruce Merry <bmerry@gmail.com>.
44103
44104 2008-04-17  Simon Josefsson  <simon@josefsson.org>
44105
44106         * doc/posix-functions/strftime.texi (strftime): Mention that %e
44107         doesn't work under Windows.
44108
44109 2008-04-16  Bruno Haible  <bruno@clisp.org>
44110
44111         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
44112         New macros.
44113         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
44114         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
44115         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
44116         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
44117         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
44118         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
44119         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
44120         macros.
44121         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
44122         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
44123         Northern Sotho, Uighur.
44124
44125 2008-04-16  Bruno Haible  <bruno@clisp.org>
44126
44127         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
44128         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
44129         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
44130         Reported by Daniel Bergström <daniel@octocode.com>.
44131
44132 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
44133             Bruno Haible  <bruno@clisp.org>
44134
44135         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
44136         function.
44137         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
44138         New functions, mostly extracted from gl_locale_name_default.
44139         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
44140
44141 2008-04-16  Eric Blake  <ebb9@byu.net>
44142
44143         Adjust strtod detection to catch glibc 2.7 bug.
44144         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
44145         Reported by John Gatewood Ham.
44146
44147 2008-04-16  Bruno Haible  <bruno@clisp.org>
44148
44149         Add tentative support for Linux libc5.
44150         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
44151         * lib/fpurge.c (fpurge): Likewise.
44152         * lib/freadable.c (freadable): Likewise.
44153         * lib/freadahead.c (freadahead): Likewise.
44154         * lib/freading.c (freading): Likewise.
44155         * lib/freadptr.c (freadptr): Likewise.
44156         * lib/freadseek.c (freadptrinc): Likewise.
44157         * lib/fseeko.c (rpl_fseeko): Likewise.
44158         * lib/fseterr.c (fseterr): Likewise.
44159         * lib/fwritable.c (fwritable): Likewise.
44160         * lib/fwriting.c (fwriting): Likewise.
44161         Reported by Alain Guibert <alguibert+bts@free.fr>.
44162
44163 2008-04-15  Bruno Haible  <bruno@clisp.org>
44164
44165         * modules/mathl (configure.ac): Define module indicator.
44166
44167 2008-04-15  Bruno Haible  <bruno@clisp.org>
44168
44169         * lib/logl.c (logl): Remove unused variables.
44170
44171 2008-04-15  Bruno Haible  <bruno@clisp.org>
44172
44173         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
44174         fails.
44175
44176 2008-04-15  Bruno Haible  <bruno@clisp.org>
44177
44178         * lib/trim.c (trim2): Fix argument of isspace() macro.
44179
44180 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
44181
44182         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
44183         to 0.
44184         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
44185
44186 2008-04-14  Bruno Haible  <bruno@clisp.org>
44187
44188         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
44189         AC_LANG_PROGRAM argument.
44190         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
44191         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
44192         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
44193         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
44194         * m4/math_h.m4 (gl_MATH_H): Likewise.
44195         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
44196         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
44197         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
44198         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
44199         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
44200         * m4/regex.m4 (gl_REGEX): Likewise.
44201         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
44202         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
44203         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
44204         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
44205         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
44206         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
44207         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
44208         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
44209
44210 2008-04-14  Jim Meyering  <meyering@redhat.com>
44211
44212         test-strtod: fix typos: s/abs/fabs/
44213         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
44214
44215 2008-04-13  Bruno Haible  <bruno@clisp.org>
44216
44217         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
44218         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
44219         module is also used and while not building the reloc-wrapper.
44220
44221 2008-04-13  Bruno Haible  <bruno@clisp.org>
44222
44223         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
44224
44225 2008-04-13  Bruno Haible  <bruno@clisp.org>
44226
44227         Fix AIX compilation failure introduced on 2008-04-02.
44228         * tests/test-frexp.c (exp): Undefine before redefining.
44229         * tests/test-frexpl.c (exp): Likewise.
44230
44231 2008-04-13  Bruno Haible  <bruno@clisp.org>
44232
44233         Work around a HP-UX stdio bug.
44234         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
44235         * tests/test-ftello.c (main): Likewise.
44236         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
44237         * doc/posix-functions/ftello.texi: Likewise.
44238
44239 2008-04-13  Bruno Haible  <bruno@clisp.org>
44240
44241         Make test-signbit pass on HP-UX/hppa.
44242         * tests/test-signbit.c (minus_zerol): New variable.
44243         (test_signbitl): Use it.
44244
44245 2008-04-13  Bruno Haible  <bruno@clisp.org>
44246
44247         Make truncl work on OSF/1 4.0.
44248         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
44249         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
44250         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
44251         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
44252         HAVE_DECL_TRUNCL.
44253         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
44254         HAVE_DECL_TRUNCL.
44255         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
44256
44257 2008-04-13  Bruno Haible  <bruno@clisp.org>
44258
44259         * lib/unictype.h: Remove trailing comma from enumeration definitions.
44260
44261 2008-04-13  Bruno Haible  <bruno@clisp.org>
44262
44263         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
44264         expression, so as to avoid HP-UX 11 cc compiler bug.
44265
44266 2008-04-13  Bruno Haible  <bruno@clisp.org>
44267
44268         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
44269
44270 2008-04-13  Bruno Haible  <bruno@clisp.org>
44271
44272         * lib/git-merge-changelog.c: Remove empty declaration outside of
44273         functions.
44274
44275 2008-04-13  Bruno Haible  <bruno@clisp.org>
44276
44277         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
44278
44279 2008-04-13  Bruno Haible  <bruno@clisp.org>
44280
44281         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
44282         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
44283         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
44284         also if it exists but lacks definitions of the SHUT_* macros.
44285         * modules/sys_socket (Description): Update.
44286         Reported by Elbert Pol <e.pol@chello.nl>.
44287
44288 2008-04-13  Bruno Haible  <bruno@clisp.org>
44289
44290         * lib/localcharset.c (OS2): Don't redefine if already defined.
44291         Reported by Elbert Pol <e.pol@chello.nl>.
44292
44293 2008-04-13  Bruno Haible  <bruno@clisp.org>
44294
44295         * lib/binary-io.h [__EMX__]: Include <io.h>.
44296         Reported by Elbert Pol <e.pol@chello.nl>.
44297
44298 2008-04-12  Bruno Haible  <bruno@clisp.org>
44299
44300         * lib/fpucw.h: Enable the definitions also for x86_64.
44301         Needed for NetBSD/x86_64.
44302         Reported by Thomas Klausner <tk@giga.or.at>.
44303
44304 2008-04-12  Bruno Haible  <bruno@clisp.org>
44305
44306         * tests/test-strtod.c: Include isnand.h.
44307         (main): Use isnand instead of isnan.
44308         Reported by Jim Meyering.
44309
44310 2008-04-12  Bruno Haible  <bruno@clisp.org>
44311
44312         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
44313         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
44314
44315 2008-04-12  Jim Meyering  <meyering@redhat.com>
44316
44317         * m4/math_h.m4 (gl_MATH_H): Fix typos.
44318
44319 2008-04-12  Bruno Haible  <bruno@clisp.org>
44320
44321         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
44322         Reported by Elbert Pol <e.pol@chello.nl>.
44323
44324 2008-04-12  Eric Blake  <ebb9@byu.net>
44325
44326         Work around Solaris 10 math.h bug.
44327         * m4/math_h.m4 (gl_MATH_H): Check for bug.
44328         (gl_MATH_H_DEFAULTS): Set up default.
44329         * modules/math (Makefile.am): Replace new indicators.
44330         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
44331         * tests/test-math.c (main): Test this.
44332         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
44333         * doc/posix-headers/math.texi (math.h): Mention bug.
44334         Reported by Nelson H. F. Beebe and Jim Meyering.
44335
44336 2008-04-11  Bruno Haible  <bruno@clisp.org>
44337
44338         Adapt to future versions of Apple GCC.
44339         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
44340         Reported by Peter O'Gorman <peter@pogma.com>.
44341
44342 2008-04-11  Bruno Haible  <bruno@clisp.org>
44343
44344         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
44345
44346 2008-04-11  Bruno Haible  <bruno@clisp.org>
44347
44348         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
44349
44350         * modules/getaddrinfo-tests (Makefile.am): Define
44351         test_getaddrinfo_LDADD.
44352
44353 2008-04-11  Bruno Haible  <bruno@clisp.org>
44354
44355         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
44356         (init): Fix syntax error.
44357         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
44358         is declared.
44359
44360 2008-04-11  Bruno Haible  <bruno@clisp.org>
44361
44362         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
44363         * modules/glob (Depends-on): Add stdbool.
44364
44365 2008-04-11  Bruno Haible  <bruno@clisp.org>
44366
44367         * lib/trim.c: Include <string.h>.
44368
44369 2008-04-11  Eric Blake  <ebb9@byu.net>
44370
44371         Avoid compile failure on OS/2.
44372         * lib/regex_internal.h (internal_function): Disable optimization
44373         on OS/2 (__EMX__), where it caused compiler error.
44374         Reported by Elbert Pol.
44375
44376 2008-04-11  Bruno Haible  <bruno@clisp.org>
44377
44378         Flush the standard error stream before aborting. Needed on mingw.
44379         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
44380         * tests/test-array_list.c (ASSERT): Likewise.
44381         * tests/test-array_oset.c (ASSERT): Likewise.
44382         * tests/test-avltree_list.c (ASSERT): Likewise.
44383         * tests/test-avltree_oset.c (ASSERT): Likewise.
44384         * tests/test-avltreehash_list.c (ASSERT): Likewise.
44385         * tests/test-binary-io.c (ASSERT): Likewise.
44386         * tests/test-byteswap.c (ASSERT): Likewise.
44387         * tests/test-c-ctype.c (ASSERT): Likewise.
44388         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
44389         * tests/test-c-strcasestr.c (ASSERT): Likewise.
44390         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
44391         * tests/test-c-strstr.c (ASSERT): Likewise.
44392         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
44393         * tests/test-canonicalize.c (ASSERT): Likewise.
44394         * tests/test-carray_list.c (ASSERT): Likewise.
44395         * tests/test-ceilf1.c (ASSERT): Likewise.
44396         * tests/test-ceilf2.c (ASSERT): Likewise.
44397         * tests/test-ceill.c (ASSERT): Likewise.
44398         * tests/test-count-one-bits.c (ASSERT): Likewise.
44399         * tests/test-fbufmode.c (ASSERT): Likewise.
44400         * tests/test-fflush2.c (ASSERT): Likewise.
44401         * tests/test-floorf1.c (ASSERT): Likewise.
44402         * tests/test-floorf2.c (ASSERT): Likewise.
44403         * tests/test-floorl.c (ASSERT): Likewise.
44404         * tests/test-fopen.c (ASSERT): Likewise.
44405         * tests/test-fpending.c (ASSERT): Likewise.
44406         * tests/test-fprintf-posix.c (ASSERT): Likewise.
44407         * tests/test-fpurge.c (ASSERT): Likewise.
44408         * tests/test-freadable.c (ASSERT): Likewise.
44409         * tests/test-freadahead.c (ASSERT): Likewise.
44410         * tests/test-freading.c (ASSERT): Likewise.
44411         * tests/test-freadptr.c (ASSERT): Likewise.
44412         * tests/test-freadptr2.c (ASSERT): Likewise.
44413         * tests/test-freadseek.c (ASSERT): Likewise.
44414         * tests/test-freopen.c (ASSERT): Likewise.
44415         * tests/test-frexp.c (ASSERT): Likewise.
44416         * tests/test-frexpl.c (ASSERT): Likewise.
44417         * tests/test-fseek.c (ASSERT): Likewise.
44418         * tests/test-fseeko.c (ASSERT): Likewise.
44419         * tests/test-fstrcmp.c (ASSERT): Likewise.
44420         * tests/test-ftell.c (ASSERT): Likewise.
44421         * tests/test-ftello.c (ASSERT): Likewise.
44422         * tests/test-func.c (ASSERT): Likewise.
44423         * tests/test-fwritable.c (ASSERT): Likewise.
44424         * tests/test-fwriting.c (ASSERT): Likewise.
44425         * tests/test-getdelim.c (ASSERT): Likewise.
44426         * tests/test-getline.c (ASSERT): Likewise.
44427         * tests/test-i-ring.c (ASSERT): Likewise.
44428         * tests/test-iconv-utf.c (ASSERT): Likewise.
44429         * tests/test-iconv.c (ASSERT): Likewise.
44430         * tests/test-isfinite.c (ASSERT): Likewise.
44431         * tests/test-isnand.c (ASSERT): Likewise.
44432         * tests/test-isnanf.c (ASSERT): Likewise.
44433         * tests/test-isnanl.h (ASSERT): Likewise.
44434         * tests/test-ldexpl.c (ASSERT): Likewise.
44435         * tests/test-linked_list.c (ASSERT): Likewise.
44436         * tests/test-linkedhash_list.c (ASSERT): Likewise.
44437         * tests/test-localename.c (ASSERT): Likewise.
44438         * tests/test-lseek.c (ASSERT): Likewise.
44439         * tests/test-mbscasecmp.c (ASSERT): Likewise.
44440         * tests/test-mbscasestr1.c (ASSERT): Likewise.
44441         * tests/test-mbscasestr2.c (ASSERT): Likewise.
44442         * tests/test-mbscasestr3.c (ASSERT): Likewise.
44443         * tests/test-mbscasestr4.c (ASSERT): Likewise.
44444         * tests/test-mbschr.c (ASSERT): Likewise.
44445         * tests/test-mbscspn.c (ASSERT): Likewise.
44446         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
44447         * tests/test-mbspbrk.c (ASSERT): Likewise.
44448         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
44449         * tests/test-mbsrchr.c (ASSERT): Likewise.
44450         * tests/test-mbsspn.c (ASSERT): Likewise.
44451         * tests/test-mbsstr1.c (ASSERT): Likewise.
44452         * tests/test-mbsstr2.c (ASSERT): Likewise.
44453         * tests/test-mbsstr3.c (ASSERT): Likewise.
44454         * tests/test-memchr2.c (ASSERT): Likewise.
44455         * tests/test-memmem.c (ASSERT): Likewise.
44456         * tests/test-open.c (ASSERT): Likewise.
44457         * tests/test-printf-frexp.c (ASSERT): Likewise.
44458         * tests/test-printf-frexpl.c (ASSERT): Likewise.
44459         * tests/test-printf-posix.c (ASSERT): Likewise.
44460         * tests/test-quotearg.c (ASSERT): Likewise.
44461         * tests/test-rbtree_list.c (ASSERT): Likewise.
44462         * tests/test-rbtree_oset.c (ASSERT): Likewise.
44463         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
44464         * tests/test-round1.c (ASSERT): Likewise.
44465         * tests/test-roundf1.c (ASSERT): Likewise.
44466         * tests/test-roundl.c (ASSERT): Likewise.
44467         * tests/test-signbit.c (ASSERT): Likewise.
44468         * tests/test-sleep.c (ASSERT): Likewise.
44469         * tests/test-snprintf-posix.c (ASSERT): Likewise.
44470         * tests/test-snprintf.c (ASSERT): Likewise.
44471         * tests/test-sprintf-posix.c (ASSERT): Likewise.
44472         * tests/test-stat-time.c (ASSERT): Likewise.
44473         * tests/test-strcasestr.c (ASSERT): Likewise.
44474         * tests/test-strerror.c (ASSERT): Likewise.
44475         * tests/test-striconv.c (ASSERT): Likewise.
44476         * tests/test-striconveh.c (ASSERT): Likewise.
44477         * tests/test-striconveha.c (ASSERT): Likewise.
44478         * tests/test-strsignal.c (ASSERT): Likewise.
44479         * tests/test-strstr.c (ASSERT): Likewise.
44480         * tests/test-strtod.c (ASSERT): Likewise.
44481         * tests/test-trunc1.c (ASSERT): Likewise.
44482         * tests/test-trunc2.c (ASSERT): Likewise.
44483         * tests/test-truncf1.c (ASSERT): Likewise.
44484         * tests/test-truncf2.c (ASSERT): Likewise.
44485         * tests/test-truncl.c (ASSERT): Likewise.
44486         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
44487         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
44488         * tests/test-vasnprintf.c (ASSERT): Likewise.
44489         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
44490         * tests/test-vasprintf.c (ASSERT): Likewise.
44491         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
44492         * tests/test-vprintf-posix.c (ASSERT): Likewise.
44493         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
44494         * tests/test-vsnprintf.c (ASSERT): Likewise.
44495         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
44496         * tests/test-wcwidth.c (ASSERT): Likewise.
44497         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
44498         * tests/test-xprintf-posix.c (ASSERT): Likewise.
44499         * tests/test-xvasprintf.c (ASSERT): Likewise.
44500         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
44501         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
44502         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
44503         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
44504         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
44505         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
44506         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
44507         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
44508         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
44509         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
44510         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
44511         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
44512         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
44513         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
44514         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
44515         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
44516         * tests/unictype/test-block_list.c (ASSERT): Likewise.
44517         * tests/unictype/test-block_of.c (ASSERT): Likewise.
44518         * tests/unictype/test-block_test.c (ASSERT): Likewise.
44519         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
44520         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
44521         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
44522         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
44523         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
44524         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
44525         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
44526         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
44527         * tests/unictype/test-combining.c (ASSERT): Likewise.
44528         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
44529         * tests/unictype/test-digit.c (ASSERT): Likewise.
44530         * tests/unictype/test-mirror.c (ASSERT): Likewise.
44531         * tests/unictype/test-numeric.c (ASSERT): Likewise.
44532         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
44533         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
44534         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
44535         * tests/unictype/test-scripts.c (ASSERT): Likewise.
44536         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
44537         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
44538         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
44539         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
44540         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
44541         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
44542         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
44543         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
44544         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
44545         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
44546         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
44547         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
44548         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
44549         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
44550         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
44551         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
44552         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
44553         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
44554         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
44555         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
44556         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
44557         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
44558         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
44559         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
44560         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
44561         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
44562         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
44563         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
44564         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
44565         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
44566         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
44567         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
44568         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
44569         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
44570         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
44571         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
44572         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
44573         Reported by Eric Blake.
44574
44575 2008-04-11  Bruno Haible  <bruno@clisp.org>
44576
44577         * lib/wchar.in.h: Tweak comment.
44578
44579 2008-04-11  Bruno Haible  <bruno@clisp.org>
44580
44581         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
44582         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
44583         gl_COMMON.
44584         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
44585
44586 2008-04-11  Bruno Haible  <bruno@clisp.org>
44587
44588         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
44589
44590 2008-04-11  Simon Josefsson  <simon@josefsson.org>
44591
44592         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
44593         of attempting to use non-existing /dev/*random.  Based on patch
44594         from Adam Strzelecki <ono@java.pl> in
44595         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
44596
44597 2008-04-08  Bruno Haible  <bruno@clisp.org>
44598
44599         Add tentative support for emx+gcc.
44600         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
44601         * lib/fpurge.c (fpurge): Likewise.
44602         * lib/freadable.c (freadable): Likewise.
44603         * lib/freadahead.c (freadahead): Likewise.
44604         * lib/freading.c (freading): Likewise.
44605         * lib/freadptr.c (freadptr): Likewise.
44606         * lib/freadseek.c (freadptrinc): Likewise.
44607         * lib/fseeko.c (rpl_fseeko): Likewise.
44608         * lib/fseterr.c (fseterr): Likewise.
44609         * lib/fwritable.c (fwritable): Likewise.
44610         * lib/fwriting.c (fwriting): Likewise.
44611         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
44612
44613 2008-04-09  Eric Blake  <ebb9@byu.net>
44614
44615         Avoid some autoconf warnings.
44616         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
44617         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
44618         * m4/afs.m4 (gl_AFS): Likewise.
44619         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
44620         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
44621         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
44622         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
44623         (gl_INTEGER_TYPE_SUFFIX): Likewise.
44624         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
44625         (AC_CHECK_DECLS_ONCE): Likewise.
44626         Rename file...
44627         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
44628         gnulib-tool requires autoconf 2.59 or better.
44629         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
44630
44631 2008-04-08  Eric Blake  <ebb9@byu.net>
44632
44633         Use 'git describe --match' if present (added in git 1.5.5).
44634         * build-aux/git-version-gen: Limit result to tags that match 'v*'
44635         if possible.
44636
44637 2008-04-08  Bruno Haible  <bruno@clisp.org>
44638
44639         Add tentative support for OpenServer.
44640         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
44641         _ptr, _cnt.
44642         * lib/fpurge.c (fpurge): Likewise.
44643         * lib/freadable.c (freadable): Likewise.
44644         * lib/freadahead.c (freadahead): Likewise.
44645         * lib/freading.c (freading): Likewise.
44646         * lib/freadptr.c (freadptr): Likewise.
44647         * lib/freadseek.c (freadptrinc): Likewise.
44648         * lib/fseeko.c (rpl_fseeko): Likewise.
44649         * lib/fseterr.c (fseterr): Likewise.
44650         * lib/fwritable.c (fwritable): Likewise.
44651         * lib/fwriting.c (fwriting): Likewise.
44652         Reported by Roger Cornelius <rac@tenzing.org> and
44653         Brian K. White <brian@aljex.com>.
44654
44655 2008-04-06  Jim Meyering  <meyering@redhat.com>
44656
44657         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
44658
44659 2008-04-06  Bruno Haible  <bruno@clisp.org>
44660
44661         Avoid possible error with non-ASCII bytes in UTF-8 locales.
44662         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
44663         * tests/test-printf-posix.sh: Likewise.
44664         * tests/test-vfprintf-posix.sh: Likewise.
44665         * tests/test-vprintf-posix.sh: Likewise.
44666         * tests/test-xprintf-posix.sh: Likewise.
44667
44668 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44669
44670         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
44671         hide error from 'ls', needed on OS/2.
44672         Report by Elbert Pol <elbert.pol@gmail.com>.
44673
44674 2008-04-04  Eric Blake  <ebb9@byu.net>
44675
44676         Make test-fseeko.c failures meaningful.
44677         * tests/test-fseeko.c: Print line number on failure.
44678         * tests/test-fseek.c: Likewise.
44679         Reported by Nelson H. F. Beebe.
44680
44681         Improve strtod bug detection check.
44682         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
44683         required for Solaris 10.
44684         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
44685
44686 2008-04-04  Bruno Haible  <bruno@clisp.org>
44687
44688         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
44689         by m4/setenv.m4.
44690
44691 2008-04-03  Eric Blake  <ebb9@byu.net>
44692
44693         Ensure sane .version contents.
44694         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
44695         version string.
44696         * build-aux/git-version-gen: Improve documentation.
44697
44698         Make GNU make output nicer.
44699         * top/GNUmakefile [!_have-Makefile]: Add dependency on
44700         MAKECMDGOALS to enforce message for all command line targets.  Set
44701         srcdir for use in maint.mk.
44702
44703         Another maintainer tweak.
44704         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
44705         a target that regenerates version.
44706
44707 2008-04-03  Jim Meyering  <meyering@redhat.com>
44708
44709         vc-list-files: don't cause coreutils "make po-check" failure
44710         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
44711
44712 2008-04-03  Eric Blake  <ebb9@byu.net>
44713
44714         Allow VPATH usage of vc-list-files.
44715         * build-aux/vc-list-files (scriptversion): Add timestamp.
44716         (options): Add --help, --version, -C.
44717         (CVS): Support installed cvsu.
44718
44719 2008-04-02  Bruno Haible  <bruno@clisp.org>
44720
44721         Avoid some "statement with no effect" warnings from gcc.
44722         * tests/test-wctype.c (main): Explicitly ignore unused values.
44723         Reported by Jim Meyering.
44724
44725 2008-04-02  Jim Meyering  <meyering@redhat.com>
44726
44727         Avoid some warnings from "gcc -Wshadow".
44728         * tests/test-frexp.c (exp): Define to a different identifier.
44729         * tests/test-frexpl.c (exp): Likewise.
44730
44731 2008-04-03  Jim Meyering  <meyering@redhat.com>
44732
44733         bootstrap: remove dangling *.[ch] symlinks from lib
44734         * build-aux/bootstrap [dangling symlink removal]: Move find's
44735         -depth option to precede all others, to avoid a warning.
44736         Remove *.[ch] files too, and from "$source_base" (usually lib/).
44737
44738 2008-04-02  Bruno Haible  <bruno@clisp.org>
44739
44740         Avoid some warnings from "gcc -Wshadow".
44741         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
44742         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
44743         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
44744         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
44745         Reported by Jim Meyering.
44746
44747 2008-04-01  Bruno Haible  <bruno@clisp.org>
44748
44749         Fix test to work on IRIX 6.5 with cc.
44750         * tests/test-math.c (numeric_equal): New function.
44751         (main): Use it.
44752
44753 2008-04-01  Bruno Haible  <bruno@clisp.org>
44754
44755         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
44756
44757 2008-04-01  Bruno Haible  <bruno@clisp.org>
44758
44759         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
44760         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
44761         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
44762         (Depends-on): Remove math.
44763
44764         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
44765         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
44766         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
44767         (Depends-on): Remove math.
44768
44769         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
44770         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
44771         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
44772         (Depends-on): Remove math.
44773         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
44774         (Depends-on): Remove math.
44775
44776         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
44777         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
44778         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
44779         (Depends-on): Remove math.
44780         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
44781         (Depends-on): Remove math.
44782
44783         * tests/test-round1.c: Include nan.h.
44784         (main): Use NaNd instead of NAN.
44785         * modules/round-tests (Files): Add tests/nan.h.
44786
44787         * tests/test-trunc1.c: Include nan.h.
44788         (main): Use NaNd instead of NAN.
44789         * modules/trunc-tests (Files): Add tests/nan.h.
44790
44791         * tests/test-roundf1.c: Include nan.h.
44792         (main): Use NaNf instead of NAN.
44793         * modules/roundf-tests (Files): Add tests/nan.h.
44794
44795         * tests/test-truncf1.c: Include nan.h.
44796         (main): Use NaNf instead of NAN.
44797         * modules/truncf-tests (Files): Add tests/nan.h.
44798
44799         * tests/test-ceilf1.c: Include nan.h.
44800         (main): Use NaNf instead of NAN.
44801         * modules/ceilf-tests (Files): Add tests/nan.h.
44802
44803         * tests/test-floorf1.c: Include nan.h.
44804         (main): Use NaNf instead of NAN.
44805         * modules/floorf-tests (Files): Add tests/nan.h.
44806
44807         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
44808         (main): Use NaNf instead of NAN.
44809         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
44810
44811         * tests/test-isnand.c: Include nan.h instead of <math.h>.
44812         (main): Use NaNd instead of NAN.
44813         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
44814
44815         * tests/test-frexp.c: Include nan.h.
44816         (main): Use NaNd instead of NAN.
44817         * modules/frexp-tests (Files): Add tests/nan.h.
44818
44819         * lib/isnan.c: Don't include <math.h>.
44820         (FUNC): Don't use NAN macro.
44821         * modules/isnand-nolibm (Depends-on): Remove math.
44822         * modules/isnanf-nolibm (Depends-on): Remove math.
44823         * modules/isnanl (Depends-on): Remove math.
44824         * modules/isnanl-nolibm (Depends-on): Remove math.
44825
44826         * tests/nan.h: New file.
44827
44828 2008-04-01  Eric Blake  <ebb9@byu.net>
44829
44830         Fix typos.
44831         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
44832         values to be the right type.
44833
44834         For now, cater to gnulib strtod inaccuracies.
44835         * tests/test-strtod.c (main): Allow 1-ulp error on expected
44836         fractional results.  While not as nice from a QoI perspective, it
44837         is a quicker patch than correctly implementing decimal to binary
44838         rounding.
44839
44840 2008-03-31  Eric Blake  <ebb9@byu.net>
44841
44842         Guarantee a definition of NAN.
44843         * lib/math.in.h (NAN): Define if missing.
44844         * tests/test-math.c (main): Test it.
44845         * doc/posix-headers/math.texi (math.h): Document this.
44846         * lib/isnan.c (rpl_isnand): Use it.
44847         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
44848         * tests/test-floorf1.c (NaN): Likewise.
44849         * tests/test-frexp.c (NaN): Likewise.
44850         * tests/test-isnand.c (NaN): Likewise.
44851         * tests/test-isnanf.c (NaN): Likewise.
44852         * tests/test-round1.c (NaN): Likewise.
44853         * tests/test-roundf1.c (NaN): Likewise.
44854         * tests/test-snprintf-posix.h (NaN): Likewise.
44855         * tests/test-sprintf-posix.h (NaN): Likewise.
44856         * tests/test-trunc1.c (NaN): Likewise.
44857         * tests/test-truncf1.c (NaN): Likewise.
44858         * tests/test-vasnprintf-posix.c (NaN): Likewise.
44859         * tests/test-vasprintf-posix.c (NaN): Likewise.
44860         * modules/isnand-nolibm (Depends-on): Add math.
44861         * modules/isnanf-nolibm (Depends-on): Likewise.
44862         * modules/isnanl (Depends-on): Likewise.
44863         * modules/isnanl-nolibm (Depends-on): Likewise.
44864         * modules/snprintf-posix-tests (Depends-on): Likewise.
44865         * modules/sprintf-posix-tests (Depends-on): Likewise.
44866         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
44867         * modules/vsprintf-posix-tests (Depends-on): Likewise.
44868         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
44869         * modules/vasprintf-posix-tests (Depends-on): Likewise.
44870
44871 2008-03-31  Bruno Haible  <bruno@clisp.org>
44872
44873         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
44874         * doc/posix-functions/strtod.texi: Likewise.
44875
44876 2008-03-31  Bruno Haible  <bruno@clisp.org>
44877
44878         * tests/test-strtod.c (main): Don't use C99 syntax.
44879
44880 2008-03-31  Bruno Haible  <bruno@clisp.org>
44881
44882         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
44883         Reported by Eric Blake.
44884
44885 2008-03-31  Jim Meyering  <meyering@redhat.com>
44886
44887         Don't compare actual signbit return values.
44888         * tests/test-strtod.c (main): Rather, compare only their
44889         zero/non-zero nature.
44890
44891 2008-03-31  Eric Blake  <ebb9@byu.net>
44892
44893         More strtod documentation.
44894         * doc/posix-functions/strtod.texi (strtod): Interpret more test
44895         failures as distinct bugs.
44896
44897 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
44898
44899         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
44900         Problem reported by Erik Benada in
44901         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
44902
44903 2008-03-30  Bruno Haible  <bruno@clisp.org>
44904
44905         * tests/test-strtod.c: Add comments about which assertion fails on which
44906         platform.
44907         * doc/posix-functions/strtod.texi: Add info about many more platforms.
44908
44909 2008-03-30  Eric Blake  <ebb9@byu.net>
44910
44911         Test signbit behavior on zeros.
44912         * tests/test-signbit.c (test_signbitf): Add tests for zero.
44913         (test_signbitd, test_signbitl): Likewise.
44914
44915         More strtod touchups.
44916         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
44917         sign of negative underflow, for now.  Use .5, not .1.
44918         * doc/posix-functions/strtod.texi (strtod): Mention these
44919         limitations.
44920         Reported by Jim Meyering.
44921
44922 2008-03-30  Bruno Haible  <bruno@clisp.org>
44923
44924         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
44925         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
44926
44927 2008-03-30  Bruno Haible  <bruno@clisp.org>
44928
44929         Avoid failure when attempting to return empty iconv results on some
44930         platforms.
44931         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
44932         allocation, don't report ENOMEM when the resulting string is empty.
44933
44934 2008-03-30  Bruno Haible  <bruno@clisp.org>
44935
44936         Fix buffer overrun.
44937         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
44938         Don't consider the width for tmp_length. Check count against tmp_length
44939         before doing the padding. Ensure enough allocation during padding.
44940
44941 2008-03-30  Eric Blake  <ebb9@byu.net>
44942
44943         strtod touchups.
44944         * lib/strtod.c (strtod): Avoid compiler warnings.
44945         Reported by Jim Meyering.
44946
44947 2008-03-30  Bruno Haible  <bruno@clisp.org>
44948
44949         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
44950         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
44951         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
44952         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
44953         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
44954         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
44955         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
44956         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
44957
44958         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
44959         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
44960         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
44961         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
44962         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
44963         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
44964         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
44965         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
44966
44967         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
44968         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
44969         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
44970         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
44971         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
44972         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
44973         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
44974         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
44975
44976         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
44977         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
44978
44979         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
44980         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
44981
44982         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
44983         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
44984
44985         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
44986         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
44987         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
44988
44989         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
44990         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
44991         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
44992
44993         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
44994         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
44995         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
44996
44997         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
44998         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
44999         * modules/vasprintf (Depends-on): Add EOVERFLOW.
45000
45001         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
45002         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
45003         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
45004         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
45005         (Depends-on): Add EOVERFLOW.
45006         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
45007         (Depends-on): Add EOVERFLOW.
45008         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
45009         (Depends-on): Add EOVERFLOW.
45010         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
45011         (Depends-on): Add EOVERFLOW.
45012         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
45013         (Depends-on): Add EOVERFLOW.
45014         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
45015         (Depends-on): Add EOVERFLOW.
45016         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
45017         (Depends-on): Add EOVERFLOW.
45018         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
45019         (Depends-on): Add EOVERFLOW.
45020
45021         * lib/sprintf.c (EOVERFLOW): Remove fallback.
45022         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
45023         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
45024
45025         * lib/snprintf.c (EOVERFLOW): Remove fallback.
45026         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
45027         * modules/snprintf (Depends-on): Add EOVERFLOW.
45028
45029         * lib/poll.c (EOVERFLOW): Remove fallback.
45030         * modules/poll (Depends-on): Add EOVERFLOW.
45031
45032         * lib/getugroups.c (EOVERFLOW): Remove fallback.
45033         * modules/getugroups (Depends-on): Add EOVERFLOW.
45034
45035         * lib/getdelim.c (EOVERFLOW): Remove fallback.
45036         * modules/getdelim (Depends-on): Add EOVERFLOW.
45037
45038         * lib/ftell.c (EOVERFLOW): Remove fallback.
45039         * modules/ftell (Depends-on): Add EOVERFLOW.
45040
45041         * lib/fprintf.c (EOVERFLOW): Remove fallback.
45042         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
45043         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
45044
45045         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
45046
45047         * modules/EOVERFLOW-tests: New file.
45048         * tests/test-EOVERFLOW.c: New file.
45049
45050         * modules/EOVERFLOW: New file.
45051         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
45052
45053 2008-03-30  Bruno Haible  <bruno@clisp.org>
45054
45055         Fix bug introduced on 2007-06-10.
45056         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
45057         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
45058
45059 2008-03-30  Bruno Haible  <bruno@clisp.org>
45060
45061         Improve freadseek's efficiency after ungetc.
45062         * lib/freadseek.c: Include freadahead.h.
45063         (freadptrinc): New function, extracted from freadseek.
45064         (freadseek): Use it in a loop. Use freadahead to determine the number
45065         of loop iterations.
45066         * modules/freadseek (Depends-on): Add freadahead.
45067         (configure.ac): Require AC_C_INLINE.
45068
45069 2008-03-30  Bruno Haible  <bruno@clisp.org>
45070
45071         * lib/freadseek.c (freadseek): Don't ignore the return value of
45072         freadptr.
45073
45074 2008-03-29  Eric Blake  <ebb9@byu.net>
45075
45076         Add hex float support.
45077         * modules/strtod (Depends-on): Add c-ctype.
45078         (Link): Mention POW_LIB.
45079         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
45080         whitespace between 'e' and exponent.
45081         * tests/test-strtod.c (main): Enable hex float tests.
45082         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
45083         now provides.
45084
45085         Document various strtod bugs, with some fixes.
45086         * doc/posix-functions/strtod.texi (strtod): Document bugs with
45087         "-0x", "inf", "nan", and hex constants.
45088         * doc/posix-functions/atof.texi (atof): Likewise.
45089         * modules/stdlib (Makefile.am): Support strtod.
45090         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
45091         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
45092         detect additional strtod bugs.
45093         * lib/stdlib.in.h (rpl_strtod): Add declarations.
45094         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
45095         bool where appropriate.  Parse 'inf' and 'nan'.
45096         * tests/test-strtod.c: New file.
45097         * modules/strtod (Depends-on): Add stdbool, stdlib.
45098         (configure.ac): Turn on module indicator.
45099         * modules/strtod-tests: New module.
45100
45101 2008-03-29  Eric Blake  <ebb9@byu.net>
45102
45103         Fix ftell on mingw.
45104         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
45105         * modules/ftell-tests (Depends-on): Add binary-io.
45106         * modules/ftello-tests (Depends-on): Likewise.
45107         * tests/test-ftell.c (main): Enhance test to cover behavior after
45108         ungetc.  Enforce binary mode.
45109         * tests/test-ftello.c (main): Likewise.
45110
45111         Pass test-freadseek on cygwin.
45112         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
45113         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
45114         ungetc buffer.
45115
45116         * tests/test-fflush2.c (main): Fix typo.
45117
45118 2008-03-29  Bruno Haible  <bruno@clisp.org>
45119
45120         * tests/test-fflush2.c (main): Temporarily disable the contents of
45121         this test.
45122         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
45123         Reported by Eric Blake.
45124
45125 2008-03-28  Simon Josefsson  <simon@josefsson.org>
45126
45127         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
45128         (GC_SHA224_DIGEST_SIZE): Add.
45129
45130         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
45131         (gc_hash_digest_length): Likewise.
45132         (gc_hash_buffer): Likewise.
45133
45134 2008-03-25  Bruno Haible  <bruno@clisp.org>
45135
45136         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
45137         detail which gettext release to use.
45138         Reported by Simon Josefsson.
45139
45140 2008-03-26  Jim Meyering  <meyering@redhat.com>
45141
45142         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
45143         * modules/gnumakefile (clean-GNUmakefile): Also, use
45144         test ... && ... || : syntax rather than if-then ... fi.
45145
45146         gnumakefile: Don't double-quote-expand $(VPATH) value.
45147         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
45148
45149 2008-03-24  Eric Blake  <ebb9@byu.net>
45150
45151         Alter GNUmakefile to install into top directory.
45152         * modules/maintainer-makefile: Split, and add dependency...
45153         * modules/gnumakefile: to this new module.
45154         * build-aux/GNUmakefile: Move...
45155         * top/GNUmakefile: ...here.
45156         * build-aux/maint.mk: Move...
45157         * top/maint.mk: ...here.
45158         * MODULES.html.sh (Support for maintaining...): Document new
45159         module.
45160
45161 2008-03-23  Bruno Haible  <bruno@clisp.org>
45162
45163         * gnulib-tool: New options --vc-files, --no-vc-files.
45164         (func_usage): Document them.
45165         (vc_files): New variable.
45166         (func_import): Consider vc_files.
45167         (func_create_testdir): Set vc_files to empty.
45168         Suggested by Jim Meyering and Karl Berry.
45169
45170 2008-03-23  Bruno Haible  <bruno@clisp.org>
45171
45172         Fix regex compilation error on HP-UX 11.
45173         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
45174         * modules/regex (Files): Add m4/mbstate_t.m4.
45175         Reported by Ton Voon <ton.voon@altinity.com>.
45176
45177 2008-03-23  Bruno Haible  <bruno@clisp.org>
45178
45179         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
45180
45181 2008-03-23  Eric Blake  <ebb9@byu.net>
45182             Bruno Haible  <bruno@clisp.org>
45183
45184         Install files from top/ in the destination directory.
45185         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
45186         augmentation also for the files from top/.
45187         (func_import, func_create_testdir): Rewrite file names:
45188         top/filename -> filename.
45189
45190 2008-03-23  Bruno Haible  <bruno@clisp.org>
45191
45192         Tweak "gnulib --version" output.
45193         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
45194
45195 2008-03-23  Bruno Haible  <bruno@clisp.org>
45196
45197         Tweak "gnulib --version" output.
45198         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
45199         rather than contents of ChangeLog, when possible.
45200
45201 2008-03-21  Eric Blake  <ebb9@byu.net>
45202
45203         More --version tweaks.
45204         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
45205         date of last ChangeLog entry.
45206
45207 2008-03-21  Jim Meyering  <meyering@redhat.com>
45208
45209         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
45210
45211 2008-03-20  Eric Blake  <ebb9@byu.net>
45212
45213         VPATH fix.
45214         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
45215
45216 2008-03-20  Simon Josefsson  <simon@josefsson.org>
45217
45218         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
45219         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
45220
45221 2008-03-20  Eric Blake  <ebb9@byu.net>
45222
45223         Sync GNUmakefile with coreutils.
45224         * build-aux/GNUmakefile (have-Makefile): Rename...
45225         (_have-Makefile): ...to this, for namespace consideration.
45226         (GNUmakefile.cfg): Include, if present.
45227         (_autoreconf): Define a default.
45228         (_is-dist-target): New rule for rebuilds to pick up intra-release
45229         version.
45230         (maint-cfg.mk): Rename...
45231         (cfg.mk): ...to this.
45232
45233 2008-03-18  Jim Meyering  <meyering@redhat.com>
45234
45235         New script and module: mktempd
45236         * MODULES.html.sh (maint+release support): Add mktempd.
45237         * build-aux/mktempd: New file.
45238         * modules/mktempd: New file.
45239
45240 2008-03-15  Jim Meyering  <meyering@redhat.com>
45241
45242         Undo last change.
45243         * lib/sha1.c, lib/md5.c: 63 != ~63.
45244         Reported by Andreas Schwab.
45245
45246         sha1.c, md5.c: Hoist a redundant expression.
45247         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
45248         "ctx->buflen" only once, before calling *_process_block.
45249         * lib/md5.c (md5_process_bytes): Likewise.
45250
45251 2008-03-14  Eric Blake  <ebb9@byu.net>
45252
45253         Bump copyright year in files generated by gnulib-tool.
45254         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
45255         gnulib-tool, rather than hard-coding it.
45256
45257         Fix 'gnulib-tool --version' output to work with git.
45258         * gnulib-tool (func_gnulib_dir): New function, extracted from...
45259         (startup): ...here.
45260         (func_version): Use it to invoke git-version-gen, rather than
45261         relying on CVS keyword expansion.  Modernize wording.
45262         (cvsdatestamp, last_checkin_date, version): Kill unused
45263         variables.
45264
45265 2008-03-12  Jim Meyering  <meyering@redhat.com>
45266
45267         Recognize optional cast of the argument to free.
45268         * build-aux/useless-if-before-free: Update regexps.
45269
45270         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
45271
45272 2008-03-11  Bruno Haible  <bruno@clisp.org>
45273
45274         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
45275         by a single package.
45276         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
45277         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
45278         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
45279         Reported by Sam Steingold <sds@gnu.org>.
45280
45281 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
45282
45283         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
45284         repositories.
45285
45286 2008-03-11  Bruno Haible  <bruno@clisp.org>
45287
45288         Avoid conflicts between local macro definitions.
45289         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
45290         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
45291
45292 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
45293             Bruno Haible  <bruno@clisp.org>
45294
45295         Make va_copy work with some version of xlc on AIX 5.1.
45296         * lib/stdarg.in.h: New file.
45297         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
45298         On AIX, use a <stdarg.h> file substitute.
45299         * modules/stdarg (Files): Add lib/stdarg.in.h.
45300         (Depends-on): Add include_next.
45301         (Makefile.am): Build a stdarg.h substitute if requested.
45302         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
45303
45304 2008-03-10  Bruno Haible  <bruno@clisp.org>
45305
45306         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
45307         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
45308         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
45309
45310 2008-03-10  Bruno Haible  <bruno@clisp.org>
45311
45312         * modules/stdlib (Depends-on): Add include_next, remove
45313         absolute-header.
45314
45315 2008-03-09  Bruno Haible  <bruno@clisp.org>
45316
45317         * lib/freadahead.h (freadahead): Document more precisely.
45318         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
45319         the sum of both buffer sizes.
45320         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
45321         * NEWS: Document the change.
45322
45323 2008-03-09  Bruno Haible  <bruno@clisp.org>
45324
45325         Extend freadptr to return also the buffer size.
45326         * lib/freadptr.h (freadptr): Add sizep argument.
45327         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
45328         (freadptr): Add sizep argument. Determine buffer size like freadahead
45329         does.
45330         * tests/test-freadptr.c: Don't include freadahead.h.
45331         (main): Adapt for new calling convention of freadptr.
45332         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
45333         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
45334         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
45335         tests/test-freadptr2.sh.
45336         (Depends): Remove freadahead.
45337         (TESTS): Add test-freadptr2.sh.
45338         (check_PROGRAMS): Add test-freadptr2.
45339
45340 2008-03-09  Bruno Haible  <bruno@clisp.org>
45341
45342         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
45343         Report and solution by Simon Josefsson.
45344
45345 2008-03-06  Bruno Haible  <bruno@clisp.org>
45346
45347         Make fflush after ungetc work on BSD platforms.
45348         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
45349         * tests/test-fflush2.c: New file.
45350         * tests/test-fflush2.sh: New file.
45351         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
45352         tests/test-fflush2.c.
45353         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
45354         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
45355
45356 2008-03-06  Eric Blake  <ebb9@byu.net>
45357
45358         Likewise for ftello.
45359         * modules/ftello (Dependencies): Add extensions.
45360         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
45361
45362 2008-03-06  Bruno Haible  <bruno@clisp.org>
45363
45364         * modules/fseeko (Dependencies): Add extensions.
45365         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
45366         Needed on glibc systems.
45367
45368 2008-03-06  Bruno Haible  <bruno@clisp.org>
45369
45370         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
45371         email address.
45372         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
45373
45374 2008-03-06  Bruno Haible  <bruno@clisp.org>
45375
45376         * users.txt: Add libgnupdf.
45377
45378 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
45379
45380         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
45381         (Header File Substitutes, Function Substitutes,
45382         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
45383         (Build robot for gnulib): Fix typo.
45384
45385 2008-03-06  Bruno Haible  <bruno@clisp.org>
45386
45387         * doc/gnulib-tool.texi (VCS Issues): Small updates.
45388         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
45389
45390 2008-03-06  Bruno Haible  <bruno@clisp.org>
45391
45392         * doc/func.texi: New file, extracted from doc/gnulib.texi.
45393         * doc/gnulib.texi: Include it.
45394
45395 2008-03-06  Simon Josefsson  <simon@josefsson.org>
45396
45397         * modules/func (License): Change license to unlimited; there was
45398         no LGPL parts in the module anyway.
45399
45400 2008-03-06  Simon Josefsson  <simon@josefsson.org>
45401
45402         * modules/__func__: Renamed to modules/func.
45403         * modules/__func__-tests: Renamed to modules/func-tests.
45404         * tests/test-__func__.c: Renamed to tests/test-func.c.
45405         * m4/__func__.m4: Renamed to m4/func.m4.
45406         * doc/gnulib.texi (__func__): Section renamed to func.
45407         Suggested by Eric Blake <ebb9@byu.net>.
45408
45409 2008-03-06  Simon Josefsson  <simon@josefsson.org>
45410
45411         * doc/gnulib.texi (__func__): Use C99 terminology when talking
45412         about __func__.  Make example self-contained.  Suggested by Eric
45413         Blake <ebb9@byu.net>.
45414
45415         * tests/test-__func__.c (main): Avoid extraneous () around __func.
45416         Suggested by Eric Blake <ebb9@byu.net>.
45417
45418 2008-03-06  Simon Josefsson  <simon@josefsson.org>
45419
45420         * modules/__func__: New file.
45421         * modules/__func__-tests: New file.
45422         * tests/test-__func__.c: New file.
45423         * m4/__func__.m4: New file.
45424         * doc/gnulib.texi (__func__): Document __func__ module.
45425
45426 2008-03-05  Simon Josefsson  <simon@josefsson.org>
45427
45428         * modules/byteswap (License): Re-license as LGPLv2+.
45429
45430 2008-03-05  Simon Josefsson  <simon@josefsson.org>
45431
45432         * doc/Makefile: Add pdf target.
45433
45434 2008-03-05  Simon Josefsson  <simon@josefsson.org>
45435
45436         * modules/inline (License): Use 'unlimited', since there are only
45437         *.m4 files in this module.
45438
45439 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
45440             Bruno Haible  <bruno@clisp.org>
45441
45442         Add support for HP C 7.1 on OpenVMS 8.3.
45443         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
45444
45445 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
45446
45447         Update VMS specifics.
45448         * lib/getopt.c [VMS]: Remove include of unixlib.h.
45449
45450 2008-03-02  Jim Meyering  <meyering@redhat.com>
45451
45452         Remove the last dependency on the "free" module.
45453         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
45454         Reported by Bob Proulx.
45455
45456         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
45457
45458         Remove useless "if" tests before free.  Deprecate "free" module.
45459         * doc/posix-functions/free.texi: Mention that this
45460         module is no longer useful.
45461         * modules/free (Notice): Say this module is obsolete.
45462         * modules/readutmp (Depends-on): Remove free.
45463         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
45464         * lib/putenv.c (putenv): Likewise.
45465         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
45466         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
45467         * tests/test-c-strcasestr.c (main): Likewise.
45468         * tests/test-c-strstr.c (main): Likewise.
45469         * tests/test-mbscasestr1.c (main): Likewise.
45470         * tests/test-mbscasestr2.c (main): Likewise.
45471         * tests/test-mbsstr1.c (main): Likewise.
45472         * tests/test-mbsstr2.c (main): Likewise.
45473         * tests/test-memmem.c (main): Likewise.
45474         * tests/test-strcasestr.c (main): Likewise.
45475         * tests/test-striconv.c (main): Likewise.
45476         * tests/test-striconveh.c (main): Likewise.
45477         * tests/test-striconveha.c (main): Likewise.
45478         * tests/test-strstr.c (main): Likewise.
45479
45480         * build-aux/git-version-gen: Adjust a comment and the Usage string.
45481
45482         bootstrap: sync from coreutils again
45483         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
45484
45485 2008-03-01  Jim Meyering  <meyering@redhat.com>
45486
45487         bootstrap: sync from coreutils
45488         * build-aux/bootstrap (update_po_files): Copy a .po file into place
45489         also when the target doesn't exist.
45490
45491 2008-03-01  Eric Blake  <ebb9@byu.net>
45492
45493         Fix bugs in last patch.
45494         * lib/memchr2.c (memchr2): Fix typo.
45495         * tests/test-memchr2.c: Test previous bug, and don't use GNU
45496         extension.
45497         Reported by Bruce Korb.
45498
45499         New module 'memchr2'.
45500         * modules/memchr2: New file.
45501         * modules/memchr2-tests: Likewise.
45502         * lib/memchr2.h: Likewise.
45503         * lib/memchr2.c: Likewise, based on memchr.c.
45504         * tests/test-memchr2.c: New test.
45505         * MODULES.html.sh (String handling): Add memchr2.
45506
45507 2008-02-29  Bruno Haible  <bruno@clisp.org>
45508
45509         * modules/freadseek-tests: New file.
45510         * tests/test-freadseek.sh: New file.
45511         * tests/test-freadseek.c: New file.
45512
45513         New module 'freadseek'.
45514         * modules/freadseek: New file.
45515         * lib/freadseek.h: New file.
45516         * lib/freadseek.c: New file.
45517         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
45518
45519 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
45520
45521         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
45522         wydawca.
45523
45524         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
45525         program_invocation_name and program_invocation_short_name are
45526         present.
45527
45528 2008-02-28  Bruno Haible  <bruno@clisp.org>
45529
45530         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
45531         * tests/test-freadptr.sh: Also test non-seekable stdin.
45532
45533 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
45534
45535         * build-aux/bootstrap (source_base, m4_base)
45536         (doc_base, tests_base): New variables.
45537         (gnulib_tool_options): Do not hardcode base directories, use
45538         the above variables instead.
45539
45540 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
45541
45542         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
45543
45544 2008-02-28  Bruno Haible  <bruno@clisp.org>
45545
45546         * modules/freadptr-tests: New file.
45547         * tests/test-freadptr.sh: New file.
45548         * tests/test-freadptr.c: New file.
45549
45550         New module 'freadptr'.
45551         * modules/freadptr: New file.
45552         * lib/freadptr.h: New file.
45553         * lib/freadptr.c: New file.
45554         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
45555
45556 2008-02-26  Karl Berry  <karl@freefriends.org>
45557
45558         Sync from Libtool:
45559         * libltdl/argz.c (argz_add, argz_count): New functions.
45560         * libltdl/argz.in.h: Declare them.
45561         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
45562
45563 2008-02-22  Bruno Haible  <bruno@clisp.org>
45564
45565         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
45566         is a pointer type.  Needed for HP-UX 10.
45567         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
45568         * doc/posix-functions/gmtime_r.texi: Likewise.
45569         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
45570
45571 2008-02-24  Bruno Haible  <bruno@clisp.org>
45572
45573         * modules/environ-tests: New file.
45574         * tests/test-environ.c: New file.
45575
45576         New module 'environ'.
45577         * modules/environ: New file.
45578         * lib/unistd.in.h (environ): New declaration.
45579         * m4/environ.m4: New file.
45580         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
45581         after use.
45582         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
45583         HAVE_DECL_ENVIRON.
45584         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
45585         HAVE_DECL_ENVIRON.
45586         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
45587         wrong claim that 'environ' is missing on some systems.
45588         * modules/execute (Depends-on): Add environ.
45589         * lib/execute.c (environ): Remove fallback declaration.
45590         * modules/pipe (Depends-on): Add environ.
45591         * lib/pipe.c (environ): Remove fallback declaration.
45592         * modules/setenv (Depends-on): Add environ.
45593         * lib/setenv.c (environ): Remove fallback declaration.
45594         * modules/unsetenv (Depends-on): Add environ.
45595         * lib/unsetenv.c (environ): Remove fallback declaration.
45596         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
45597         m4/environ.m4.
45598         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
45599         (gl_PREREQ_UNSETENV): Likewise.
45600
45601 2008-02-24  Bruno Haible  <bruno@clisp.org>
45602
45603         * doc/posix-functions/environ.texi: Document the MacOS X problem.
45604
45605 2008-02-20  Bob Proulx  <bob@proulx.com>
45606
45607         Enable use of older two part flavor 'git describe'.
45608         * build-aux/git-version-gen: If using the older two part flavor of
45609         git version then recreate the third part now present in the
45610         newer three part flavor of git describe.
45611
45612 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
45613
45614         * lib/fts.c (fts_build): Typo correction to comment.
45615
45616 2008-02-17  Bruno Haible  <bruno@clisp.org>
45617
45618         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
45619         generating no-op conflicts.
45620
45621 2008-02-17  Bruno Haible  <bruno@clisp.org>
45622
45623         Speed up by 10%.
45624         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
45625         result_entries, rather than an index-based loop.
45626
45627 2008-02-17  Bruno Haible  <bruno@clisp.org>
45628
45629         Speed up by 25%.
45630         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
45631         'hashcode_cached'.
45632         (entry_create): New function.
45633         (entry_hashcode): Use the cached hashcode if possible.
45634         (read_changelog_file, try_split_merged_entry): Use entry_create.
45635
45636 2008-02-17  Bruno Haible  <bruno@clisp.org>
45637
45638         Speed up from O(n^2) to O(n) for long ChangeLog files.
45639         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
45640         (read_changelog_file): Change implementation of entries_reversed list
45641         to rbtreehash.
45642         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
45643
45644 2008-02-17  Bruno Haible  <bruno@clisp.org>
45645
45646         New option --split-merged-entry.
45647         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
45648         (find_paragraph_end, try_split_merged_entry): New functions.
45649         (long_options): Add option --split-merged-entry.
45650         (usage): Document option --split-merged-entry.
45651         (main): Implement option --split-merged-entry.
45652         Reported by Eric Blake.
45653
45654 2008-02-17  Bruno Haible  <bruno@clisp.org>
45655
45656         * lib/git-merge-changelog.c: Include c-strstr.h.
45657         (main): Support the "git pull --rebase" situation.
45658         * modules/git-merge-changelog (Depends-on): Add c-strstr.
45659         Reported by Eric Blake.
45660
45661 2008-02-16  Eric Blake  <ebb9@byu.net>
45662
45663         Avoid doubling \ in common case of "c-maybe" quoting style.
45664         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
45665         eliding outer quotes.
45666         * lib/quotearg.h: Document this.
45667         * tests/test-quotearg.c (result_strings, inputs, results_g)
45668         (flag_results, locale_results): Test it by adding a new string to
45669         each test group.
45670         (compare_strings): Test new string.
45671
45672 2008-02-13  Eric Blake  <ebb9@byu.net>
45673
45674         Avoid trigraph quoting in default output.
45675         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
45676         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
45677         unless explicitly requested.
45678         * tests/test-quotearg.c (flag_results, main): Add additional tests.
45679
45680 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
45681
45682         Don't rely on signed integer overflowing to negative value.
45683         * lib/getugroups.c (getugroups): Include <limits.h>.
45684         Instead, compare against INT_MAX, and increment only if the test passes.
45685
45686 2008-02-13  Jim Meyering  <meyering@redhat.com>
45687         and Eric Blake  <ebb9@byu.net>
45688
45689         Avoid shadowing warning and compile errors on Linux.
45690         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
45691         forwarding macros on Linux.
45692         (dcgettext): Define a stub, for Linux.
45693         (results_g, main): Avoid warnings.
45694
45695 2008-02-12  Eric Blake  <ebb9@byu.net>
45696
45697         Silence warning in last patch.
45698         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
45699
45700         Quotearg part 4: add tests, fix c-maybe colon quoting.
45701         * lib/quotearg.h: Improve documentation.
45702         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
45703         escapes when adding outer quotes.  When quoting trigraphs, use
45704         valid C notation.  When quoting NUL, omit extra characters if next
45705         character is not digit.  Alter prototype.
45706         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
45707         callers.
45708         * modules/quotearg-tests: New module.
45709         * tests/test-quotearg.c: New test.
45710
45711 2008-02-07  Eric Blake  <ebb9@byu.net>
45712
45713         Quotearg part 3: add flag to control outer quote elision.
45714         * lib/quotearg.h (c_maybe_quoting_style): New style.
45715         (enum quoting_flags): Better documentation of flags.
45716         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
45717         c-maybe style.
45718         (quotearg_buffer_restyled): Handle new flag to elide outer
45719         quotes.
45720
45721         Quotearg part 2: add flag that can control NUL elision.
45722         * lib/quotearg.h (set_quoting_flags): New prototype.
45723         * lib/quotearg.c (struct quoting_options): Add flag field.
45724         (set_quoting_flags): New function.
45725         (quotearg_buffer_restyled): Add flags parameter.
45726         (quotearg_alloc_mem): Set the flag if length cannot be returned.
45727         (quotearg_n_options): Set the flag, since length cannot be
45728         returned.
45729         (quoting_options_from_style): Default flags correctly.
45730
45731         Quotearg part 1: more wrappers, restore quotearg_char state.
45732         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
45733         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
45734         (quotearg_colon_mem): New wrappers.
45735         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
45736         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
45737         functions.
45738         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
45739         (quotearg_colon_mem): New functions.
45740
45741 2008-02-11  Bruno Haible  <bruno@clisp.org>
45742
45743         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
45744         library in the current directory: it does not work with parallel make.
45745         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
45746
45747 2008-02-11  Bruno Haible  <bruno@clisp.org>
45748
45749         * .gitattributes: New file.
45750
45751 2008-02-11  Jim Meyering  <meyering@redhat.com>
45752
45753         useless-if-before-free: Fix reversed exit values.
45754         * build-aux/useless-if-before-free: Use correct values
45755         for EXIT_MATCH and EXIT_NO_MATCH.
45756
45757         * build-aux/useless-if-before-free: Close stdout carefully.
45758
45759 2008-02-10  Bruno Haible  <bruno@clisp.org>
45760
45761         New module 'git-merge-changelog'.
45762         * modules/git-merge-changelog: New file.
45763         * lib/git-merge-changelog.c: New file.
45764
45765 2008-02-10  Jim Meyering  <meyering@redhat.com>
45766
45767         useless-if-before-free: New option: --list (-l).
45768
45769         useless-if-before-free: Don't exit immediately upon open failure.
45770         * build-aux/useless-if-before-free: Exit 2 for errors.
45771         Upon failure to open a file, don't exit immediately.
45772         Rather, just warn and continue with any remaining files.
45773
45774 2008-02-10  Bruno Haible  <bruno@clisp.org>
45775
45776         New abstract list operation 'node_set_value'.
45777         * lib/gl_list.h (gl_list_node_set_value): New function.
45778         (struct gl_list_implementation): New field node_set_value.
45779         * lib/gl_list.c (gl_list_node_set_value): New function.
45780         * lib/gl_array_list.c (gl_array_node_set_value): New function.
45781         (gl_array_list_implementation): Update.
45782         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
45783         (gl_carray_list_implementation): Update.
45784         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
45785         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
45786         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
45787         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
45788         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
45789         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
45790         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
45791         Update.
45792         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
45793         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
45794         (gl_sublist_list_implementation): Update.
45795
45796 2008-02-10  Bruno Haible  <bruno@clisp.org>
45797
45798         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
45799         Needed when ELEMENT is #defined to 'some_type *'.
45800
45801 2008-02-10  Jim Meyering  <meyering@redhat.com>
45802
45803         New script and module: useless-if-before-free
45804         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
45805         * build-aux/useless-if-before-free: New file.
45806         * modules/useless-if-before-free: New file.
45807
45808         * build-aux/gitlog-to-changelog: Use committer date, not author date.
45809
45810         xstrtol_error: Fix typo.
45811         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
45812         s/exit_failure/exit_status/.
45813
45814 2008-02-09  Jim Meyering  <meyering@redhat.com>
45815
45816         New script and module: gitlog-to-changelog
45817         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
45818         * modules/gitlog-to-changelog: New file.
45819         * build-aux/gitlog-to-changelog: New file.
45820
45821 2008-02-08  Jim Meyering  <meyering@redhat.com>
45822
45823         Avoid two "parameter unused" warnings.
45824         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
45825         Mark "st" as used.
45826
45827         Use "git COMMAND", not "git-COMMAND".
45828         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
45829         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
45830         * build-aux/git-version-gen: Use "git status", not "git-status".
45831
45832 2008-02-07  Bruno Haible  <bruno@clisp.org>
45833
45834         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
45835         Avoids a crash on Windows Vista.
45836         Reported by Adam Strzelecki <ono@java.pl> via
45837         Simon Josefsson <simon@josefsson.org>.
45838
45839 2008-02-06  Bruno Haible  <bruno@clisp.org>
45840
45841         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
45842         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
45843         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
45844         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
45845         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
45846         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
45847         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
45848         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
45849         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
45850         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
45851         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
45852         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
45853         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
45854         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
45855         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
45856         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
45857         left-adjust flag.
45858         * tests/test-snprintf-posix.h (test_function): Likewise.
45859         * tests/test-sprintf-posix.h (test_function): Likewise.
45860         * tests/test-vasprintf-posix.c (test_function): Likewise.
45861         * doc/posix-functions/fprintf.texi: Update.
45862         * doc/posix-functions/printf.texi: Update.
45863         * doc/posix-functions/snprintf.texi: Update.
45864         * doc/posix-functions/sprintf.texi: Update.
45865         * doc/posix-functions/vfprintf.texi: Update.
45866         * doc/posix-functions/vprintf.texi: Update.
45867         * doc/posix-functions/vsnprintf.texi: Update.
45868         * doc/posix-functions/vsprintf.texi: Update.
45869         Reported by Peter Fales <psfales@alcatel-lucent.com>.
45870
45871 2008-02-06  Bruno Haible  <bruno@clisp.org>
45872
45873         Fix bug introduced on 2008-01-26.
45874         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
45875
45876 2008-02-06  Bruno Haible  <bruno@clisp.org>
45877
45878         Fix bug introduced on 2007-06-10.
45879         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
45880         !NEED_PRINTF_FLAG_ZERO.
45881
45882 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
45883
45884         getloadavg: use libperfstat on AIX5
45885         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
45886
45887 2008-02-03  Bruno Haible  <bruno@clisp.org>
45888
45889         * lib/diffseq.h: Add comments about required #includes.
45890         Reported by Michael Biggs <gnulib@doubleplum.net>.
45891
45892 2008-02-01  Bruno Haible  <bruno@clisp.org>
45893
45894         * users.txt: Add gnuit.
45895
45896 2008-01-31  Bruno Haible  <bruno@clisp.org>
45897
45898         * lib/md4.c (set_uint32): Mark as inline.
45899         * lib/md5.c (set_uint32): Likewise.
45900         * lib/sha1.c (set_uint32): Likewise.
45901         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
45902         * m4/md5.m4 (gl_MD5): Likewise.
45903         * m4/sha1.m4 (gl_SHA1): Likewise.
45904
45905 2008-01-31  Jim Meyering  <meyering@redhat.com>
45906
45907         Use "sizeof VAR", rather than a literal "4".
45908         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
45909         * lib/md4.c (md4_read_ctx): Likewise.
45910         * lib/sha1.c (sha1_read_ctx): Likewise.
45911
45912 2008-01-31  Simon Josefsson  <simon@josefsson.org>
45913
45914         * tests/test-sha1.c: New file, based on test-md5.c.
45915
45916         * modules/crypto/sha1-tests: New file.
45917
45918 2008-01-31  Simon Josefsson  <simon@josefsson.org>
45919
45920         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
45921
45922 2008-01-31  Jim Meyering  <meyering@redhat.com>
45923
45924         Prefer "sizeof v" over the equivalent "4".
45925         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
45926         * lib/md5.c (set_uint32): Likewise.
45927         * lib/sha1.c (set_uint32): Likewise.
45928
45929 2008-01-31  Simon Josefsson  <simon@josefsson.org>
45930
45931         * lib/sha1.c (set_uint32): Mark function as static.
45932
45933 2008-01-31  Simon Josefsson  <simon@josefsson.org>
45934
45935         md2: clarify comments to say that alignment is not required.
45936         * lib/md2.h: Remove warning about alignment in comment.
45937         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
45938         never been required.
45939
45940 2008-01-31  Simon Josefsson  <simon@josefsson.org>
45941
45942         md4: adapt alignment constraint fix from sha1.
45943         * lib/md4.c (set_uint32): New function, from sha1.c
45944         (md4_read_ctx): Use it.
45945         (md4_finish_ctx): Doc fix.
45946         * lib/md4.h: Doc fix.
45947
45948 2008-01-31  Simon Josefsson  <simon@josefsson.org>
45949
45950         md5: adapt alignment constraint fix from sha1.
45951         * lib/md5.c (set_uint32): New function, from sha1.c
45952         (md5_read_ctx): Use it.
45953         (md5_finish_ctx): Doc fix.
45954         * lib/md5.h: Doc fix.
45955
45956 2008-01-30  Peter Palfrader  <weasel@debian.org>
45957
45958         sha1: remove the result buffer alignment constraint
45959         * lib/sha1.c (set_uint32): New function.
45960         (sha1_read_ctx): Rewrite to remove the result buffer alignment
45961         constraint.
45962         (sha1_finish_ctx): Remove comment warning about alignment constraint.
45963         * lib/sha1.h: Likewise.
45964
45965 2008-01-30  Andreas Schwab  <schwab@suse.de>
45966             Bruno Haible  <bruno@clisp.org>
45967
45968         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
45969         correct definition of LDBL_MIN_EXP.
45970
45971 2008-01-30  Karl Berry  <karl@gnu.org>
45972
45973         * config/srclist-update: try to preserve x bit on updates.
45974         * config/srclistvars.sh: update for karl.
45975
45976 2008-01-29  Jim Meyering  <meyering@redhat.com>
45977
45978         vasnprintf.c: Avoid warning about unused label
45979         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
45980         "overflow" label definition and associated code with the
45981         same cpp condition that guards the sole use of that label.
45982
45983 2008-01-26  Bruno Haible  <bruno@clisp.org>
45984
45985         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
45986         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
45987         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
45988         * lib/isnanl-nolibm.h (isnanl): Likewise.
45989         Reported by Paul Eggert <eggert@cs.ucla.edu>.
45990
45991 2008-01-26  Bruno Haible  <bruno@clisp.org>
45992
45993         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
45994         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
45995
45996 2008-01-26  Bruno Haible  <bruno@clisp.org>
45997
45998         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
45999         GCC >= 4.0 built-in.
46000         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
46001
46002 2008-01-26  Bruno Haible  <bruno@clisp.org>
46003
46004         Rename isnan, applicable to 'double' only, to isnand.
46005         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
46006         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
46007         (configure.ac): Update.
46008         (Include): Replace "isnan.h" with "isnand.h".
46009         * m4/isnand.m4: Renamed from m4/isnan.m4.
46010         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
46011         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
46012         instead of isnan.c.
46013         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
46014         instead of HAVE_ISNAN_IN_LIBC.
46015         (isnand): Renamed from isnan.
46016         * lib/isnand.c: New file.
46017         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
46018         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
46019         (Makefile.am): Update.
46020         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
46021         Include isnand.h instead of isnan.h.
46022         (main): Test isnand instead of isnan.
46023         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
46024         isnan-nolibm.
46025         * modules/frexp (Depends-on): Likewise.
46026         * modules/frexp-tests (Depends-on): Likewise.
46027         * modules/frexp-nolibm (Depends-on): Likewise.
46028         * modules/frexp-nolibm-tests (Depends-on): Likewise.
46029         * modules/isfinite (Depends-on): Likewise.
46030         * modules/round-tests (Depends-on): Likewise.
46031         * modules/signbit (Depends-on): Likewise.
46032         * modules/signbit-tests (Depends-on): Likewise.
46033         * modules/snprintf-posix (Depends-on): Likewise.
46034         * modules/sprintf-posix (Depends-on): Likewise.
46035         * modules/trunc-tests (Depends-on): Likewise.
46036         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
46037         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
46038         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
46039         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
46040         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
46041         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
46042         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
46043         * modules/vasnprintf-posix (Depends-on): Likewise.
46044         * modules/vasprintf-posix (Depends-on): Likewise.
46045         * modules/vfprintf-posix (Depends-on): Likewise.
46046         * modules/vsnprintf-posix (Depends-on): Likewise.
46047         * modules/vsprintf-posix (Depends-on): Likewise.
46048         * lib/frexp.c: Include isnand.h instead of isnan.h.
46049         (ISNAN): Set to isnand instead of isnan.
46050         * lib/isfinite.c: Include isnand.h instead of isnan.h.
46051         (gl_isfinited): Use isnand instead of isnan.
46052         * lib/signbitd.c: Include isnand.h instead of isnan.h.
46053         (gl_signbitd): Use isnand instead of isnan.
46054         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
46055         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
46056         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
46057         (main): Use isnand instead of isnan.
46058         * tests/test-round1.c: Include isnand.h.
46059         (main): Use isnand instead of isnan.
46060         * tests/test-round2.c: Include isnand.h instead of isnan.h.
46061         (ISNAN): Set to isnand instead of isnan.
46062         * tests/test-trunc1.c: Include isnand.h.
46063         (main): Use isnand instead of isnan.
46064         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
46065         (equal): Use isnand instead of isnan.
46066         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
46067         isnand-nolibm.
46068         * NEWS: Mention the change.
46069
46070 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
46071             Bruno Haible  <bruno@clisp.org>
46072
46073         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
46074         the GCC builtins for signbits are present and set
46075         REPLACE_SIGNBIT_USING_GCC if so.
46076         * lib/math.in.h (signbit): Define using GCC builtins if
46077         REPLACE_SIGNBIT_USING_GCC is set.
46078         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
46079         REPLACE_SIGNBIT_USING_GCC.
46080         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
46081
46082 2008-01-25  Jim Meyering  <meyering@redhat.com>
46083
46084         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
46085         * lib/poll.c: Include <config.h>, not "config.h".
46086         * tests/test-getaddrinfo.c: Likewise.
46087
46088 2008-01-25  Simon Josefsson  <simon@josefsson.org>
46089
46090         * modules/sockets-tests: New file.
46091
46092 2008-01-24  Simon Josefsson  <simon@josefsson.org>
46093
46094         * modules/sockets: New module, can be used to call WSA_Startup and
46095         WSA_Cleanup when needed.
46096
46097         * lib/sockets.h, lib/sockets.c: New files.
46098
46099         * m4/sockets.m4: New file.
46100
46101         * tests/test-sockets.c: New file.
46102
46103 2008-01-19  Bruno Haible  <bruno@clisp.org>
46104
46105         * doc/posix-headers: Renamed from doc/headers.
46106         * doc/posix-functions: Renamed from doc/functions.
46107         * doc/gnulib.texi: Update.
46108
46109 2008-01-19  Bruno Haible  <bruno@clisp.org>
46110
46111         * doc/glibc-functions/strcasestr.texi: Include contents of
46112         doc/functions/strcasestr.texi, fixing the list of platforms.
46113         * doc/functions/strcasestr.texi: Remove file.
46114
46115 2008-01-19  Bruno Haible  <bruno@clisp.org>
46116
46117         * doc/glibc-functions/memmem.texi: Include contents of
46118         doc/functions/memmem.texi.
46119         * doc/functions/memmem.texi: Remove file.
46120
46121 2008-01-18  Bruno Haible  <bruno@clisp.org>
46122
46123         * doc/glibc-functions/*.texi: New files.
46124         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
46125         to use the new files.
46126
46127 2008-01-17  Bruno Haible  <bruno@clisp.org>
46128
46129         * tests/test-gethostname.c (main): Fix printf statement.
46130
46131 2008-01-17  Simon Josefsson  <simon@josefsson.org>
46132
46133         * modules/gethostname-tests: New file.
46134
46135         * tests/test-gethostname.c: New file.
46136
46137 2008-01-17  Simon Josefsson  <simon@josefsson.org>
46138
46139         * lib/gethostname.c: Include string.h unconditionally, strncpy is
46140         used by the UNAME case.  Reported by Bruno Haible
46141         <bruno@clisp.org>.
46142
46143 2008-01-17  Eric Blake  <ebb9@byu.net>
46144
46145         Convert c-strcasestr to be more efficient.
46146         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
46147         (Depends-on): Add c-strcase, remove malloca, strnlen.
46148         * tests/test-c-strcasestr.c (main): Enhance test.
46149         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
46150
46151 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
46152
46153         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
46154         Use it in creating po/Makevars.
46155
46156 2008-01-15  Simon Josefsson  <simon@josefsson.org>
46157
46158         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
46159         Applications that requires it should initialize libgcrypt
46160         manually.
46161
46162 2008-01-16  Simon Josefsson  <simon@josefsson.org>
46163
46164         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
46165
46166 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
46167
46168         Fix problem with getdate on mingw32 reported by Simon Josefsson
46169         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
46170         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
46171         tzname", when deciding whether to declare tzname.
46172         * lib/strftime.c (tzname): Likewise.
46173
46174 2008-01-15  Bruno Haible  <bruno@clisp.org>
46175
46176         Work around a MacOS X 10.5 bug in frexpl().
46177         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
46178         * doc/functions/frexpl.texi: Document the bug.
46179         Reported by Elias Pipping <pipping@gentoo.org>.
46180
46181 2008-01-14  Eric Blake  <ebb9@byu.net>
46182
46183         Touch up previous patch.
46184         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
46185         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
46186
46187         Convert strcasestr module to use Two-Way algorithm.
46188         * modules/strcasestr-simple: New module, based on the old
46189         strcasestr, but with Two-Way rather than KMP.
46190         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
46191         * lib/string.in.h (rpl_strcasestr): Declare.
46192         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
46193         performance.
46194         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
46195         * modules/string (Makefile.am): Support strcasestr.
46196         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
46197         * modules/strcasestr-tests (Depends-on): Check for alarm.
46198         * tests/test-strcasestr.c: Augment test.
46199         * lib/str-two-way.h: Clean up stray macro.
46200         * NEWS: Document new module.
46201         * MODULES.html.sh (string handling): Likewise.
46202         * doc/functions/strcasestr.texi: New file.
46203         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
46204         here, since it is not a POSIX function.
46205
46206 2008-01-14  Colin Watson  <cjwatson@debian.org>
46207             Bruno Haible  <bruno@clisp.org>
46208
46209         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
46210         works fine; if not, set REPLACE_STRSIGNAL.
46211         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
46212         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
46213         REPLACE_STRSIGNAL.
46214         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
46215         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
46216         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
46217
46218 2008-01-14  Bruno Haible  <bruno@clisp.org>
46219
46220         * modules/strsignal (Include): Change to <string.h>.
46221
46222 2008-01-14  Colin Watson  <cjwatson@debian.org>
46223
46224         * modules/argp (Notice): Add a notice recommending to change
46225         XGETTEXT_OPTIONS.
46226         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
46227
46228 2008-01-13  Colin Watson  <cjwatson@debian.org>
46229
46230         * modules/strsignal-tests: New file.
46231         * tests/test-strsignal.c: New file.
46232
46233         * lib/strsignal.c: New file, from glibc with modifications.
46234         * lib/siglist.h: New file, from glibc with modifications.
46235         * lib/string.in.h (strsignal): New declaration.
46236         * m4/strsignal.m4: New file.
46237         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
46238         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
46239         * modules/strsignal: New file.
46240         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
46241         HAVE_DECL_STRSIGNAL.
46242
46243 2008-01-13  Bruno Haible  <bruno@clisp.org>
46244
46245         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
46246         locale encoding is not ASCII. Needed for OpenBSD 4.0.
46247         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
46248         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
46249
46250 2008-01-13  Bruno Haible  <bruno@clisp.org>
46251
46252         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
46253         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
46254         * lib/argp.h (__attribute__): Likewise.
46255         * lib/c-stack.c (__attribute__): Likewise.
46256         * lib/error.h (__attribute__): Likewise.
46257         * lib/fts.c (__attribute__): Likewise.
46258         * lib/openat.h (__attribute__): Likewise.
46259         * lib/stdio.in.h (__attribute__): Likewise.
46260         * lib/string.in.h (__attribute__): Likewise.
46261         * lib/utimens.c (__attribute__): Likewise.
46262         * lib/vasnprintf.h (__attribute__): Likewise.
46263         * lib/xalloc.h (__attribute__): Likewise.
46264         * lib/xprintf.h (__attribute__): Likewise.
46265         * lib/xstrtol.h (__attribute__): Likewise.
46266         * lib/xvasprintf.h (__attribute__): Likewise.
46267
46268 2008-01-12  Bruno Haible  <bruno@clisp.org>
46269
46270         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
46271         * doc/glibc-headers/a.out.texi: New file.
46272         * doc/glibc-headers/aliases.texi: New file.
46273         * doc/glibc-headers/alloca.texi: New file.
46274         * doc/glibc-headers/ar.texi: New file.
46275         * doc/glibc-headers/argp.texi: New file.
46276         * doc/glibc-headers/argz.texi: New file.
46277         * doc/glibc-headers/byteswap.texi: New file.
46278         * doc/glibc-headers/crypt.texi: New file.
46279         * doc/glibc-headers/endian.texi: New file.
46280         * doc/glibc-headers/envz.texi: New file.
46281         * doc/glibc-headers/err.texi: New file.
46282         * doc/glibc-headers/error.texi: New file.
46283         * doc/glibc-headers/execinfo.texi: New file.
46284         * doc/glibc-headers/fpu_control.texi: New file.
46285         * doc/glibc-headers/fstab.texi: New file.
46286         * doc/glibc-headers/fts.texi: New file.
46287         * doc/glibc-headers/getopt.texi: New file.
46288         * doc/glibc-headers/ieee754.texi: New file.
46289         * doc/glibc-headers/ifaddrs.texi: New file.
46290         * doc/glibc-headers/libintl.texi: New file.
46291         * doc/glibc-headers/mcheck.texi: New file.
46292         * doc/glibc-headers/mntent.texi: New file.
46293         * doc/glibc-headers/obstack.texi: New file.
46294         * doc/glibc-headers/paths.texi: New file.
46295         * doc/glibc-headers/printf.texi: New file.
46296         * doc/glibc-headers/pty.texi: New file.
46297         * doc/glibc-headers/resolv.texi: New file.
46298         * doc/glibc-headers/shadow.texi: New file.
46299         * doc/glibc-headers/sysexits.texi: New file.
46300         * doc/glibc-headers/ttyent.texi: New file.
46301
46302 2008-01-12  Jim Meyering  <meyering@redhat.com>
46303
46304         announce-gen: emit Gnulib's git-based version string.
46305         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
46306         New option --gnulib-version=V, where V is expected to be
46307         the output of running git describe in the gnulib directory.
46308         (get_tool_versions): Request feedback on xdelta.  I suspect it's
46309         not useful, and plan to stop publishing an xdelta file with each
46310         coreutils release.
46311
46312         * build-aux/announce-gen: Also check for lzma-compressed files.
46313
46314 2008-01-11  Bruno Haible  <bruno@clisp.org>
46315
46316         * tests/test-memmem.c (main): Increase maximum allowed time.
46317         * tests/test-strstr.c (main): Likewise.
46318
46319 2008-01-11  Bruno Haible  <bruno@clisp.org>
46320
46321         * doc/functions/memmem.texi: Add more precisions about platforms.
46322         * doc/functions/strstr.texi: Likewise.
46323
46324 2008-01-10  Eric Blake  <ebb9@byu.net>
46325
46326         * m4/strstr.m4: Delete cruft from copy-n-paste.
46327         Reported by Bruno Haible.
46328
46329 2008-01-10  Bruno Haible  <bruno@clisp.org>
46330
46331         Make c-strstr rely on strstr.
46332         * lib/c-strstr.c: Don't include str-kmp.h.
46333         (c_strstr): Define in terms of strstr.
46334         * modules/c-strstr (Files): Remove lib/str-kmp.h.
46335         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
46336
46337 2008-01-10  Bruno Haible  <bruno@clisp.org>
46338
46339         * doc/gnulib.texi (String Functions in C Locale): New section.
46340         * doc/c-ctype.texi: New file.
46341         * doc/c-strcase.texi: New file.
46342         * doc/c-strcaseeq.texi: New file.
46343         * doc/c-strcasestr.texi: New file.
46344         * doc/c-strstr.texi: New file.
46345         * doc/c-strtod.texi: New file.
46346         * doc/c-strtold.texi: New file.
46347
46348 2008-01-10  Eric Blake  <ebb9@byu.net>
46349
46350         * lib/relocatable.h: Fix a comment.
46351
46352 2008-01-10  Eric Blake  <ebb9@byu.net>
46353
46354         Share two-way algorithm.
46355         * lib/str-two-way.h: New file, merged from...
46356         * lib/memmem.c: ...here...
46357         * lib/strstr.c: ...and here.
46358         * modules/memmem (Files): Use it.
46359         * modules/strstr (Files): Likewise.
46360
46361         Avoid quadratic strstr implementations.
46362         * lib/strstr.c: New file.
46363         * m4/strstr.m4: Likewise.
46364         * modules/strstr: Likewise.
46365         * modules/strstr-tests: Likewise.
46366         * tests/test-strstr.c: Likewise.
46367         * lib/string.in.h (rpl_strstr): Declare.
46368         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
46369         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
46370         * modules/string (Makefile.am): Likewise.
46371         * MODULES.html.sh (string handling): Mention new module.
46372         * doc/functions/strstr.texi (strstr): Document the bug.
46373
46374 2008-01-10  Bruno Haible  <bruno@clisp.org>
46375
46376         * lib/relocatable.h (relocate): State whether result is freshly
46377         allocated or not.
46378         * lib/relocatable.c (relocate): Return a freshly allocated string
46379         instead of a pointer to a privately held string.
46380         Reported by Sylvain Beucler <beuc@gnu.org>.
46381
46382 2008-01-10  Colin Watson  <cjwatson@debian.org>
46383
46384         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
46385         s/S_ISNLK/S_ISLNK/.
46386
46387 2008-01-09  Bruno Haible  <bruno@clisp.org>
46388
46389         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
46390         and other files.
46391         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
46392         if it's only a guess.
46393         * modules/memmem: Simplify by depending on memmem-simple.
46394
46395 2008-01-09  Bruno Haible  <bruno@clisp.org>
46396
46397         Work around OpenBSD 4.0 tdelete() bug.
46398         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
46399         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
46400         macros and don't redefine the enum values.
46401         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
46402         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
46403         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
46404
46405 2008-01-09  Bruno Haible  <bruno@clisp.org>
46406
46407         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
46408         (main): Don't perform the tests if setlocale did not install a UTF-8
46409         locale. Needed on OpenBSD 4.0.
46410         * modules/wcwidth-tests (Depends-on): Add localcharset.
46411
46412 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
46413
46414         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
46415         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
46416         * NEWS: announce this.
46417         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
46418
46419 2008-01-09  Simon Josefsson  <simon@josefsson.org>
46420         and Eric Blake  <ebb9@byu.net>
46421
46422         Add memmem-simple module.
46423         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
46424         (gl_FUNC_MEMMEM): Separate performance from presence checks.
46425         * modules/memmem-simple: New file.
46426         * modules/memmem (Description): Tweak.
46427         * MODULES.html.sh (string handling): Mention new module.
46428         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
46429         addressed by memmem-simple.
46430         * NEWS: Document the difference.
46431
46432 2008-01-09  Eric Blake  <ebb9@byu.net>
46433
46434         Give gcc some memmem optimization hints.
46435         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
46436         (strcasestr): Declare as pure.
46437         * modules/memmem (Maintainer): Claim my implementation.
46438
46439 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46440
46441         Support AIX 6.1 and higher.
46442         * build-aux/config.libpath: Likewise.
46443         * build-aux/config.rpath: Likewise.
46444
46445 2008-01-08  Jim Meyering  <meyering@redhat.com>
46446             Bruno Haible  <bruno@clisp.org>
46447
46448         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
46449         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
46450         Reported by Peter Fales in
46451         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
46452
46453 2008-01-08  Bruno Haible  <bruno@clisp.org>
46454
46455         * modules/unictype/category-of (Depends-on): Add
46456         unictype/category-none.
46457         * modules/unictype/category-and-tests (Depends-on): Add
46458         unictype/category-{L,N,Lu,Nd}.
46459         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
46460         * modules/unictype/category-or-tests (Depends-on): Add
46461         unictype/category-{L,N}.
46462         * modules/unictype/category-name-tests (Depends-on): Add
46463         unictype/category-{Z,Nl}.
46464         Reported by Simon Josefsson.
46465
46466 2008-01-08  Bruno Haible  <bruno@clisp.org>
46467
46468         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
46469         convention better.
46470         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
46471         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
46472         Reported by Peter Miller <millerp@canb.auug.org.au>.
46473
46474 2008-01-08  Eric Blake  <ebb9@byu.net>
46475
46476         Rewrite memmem to guarantee linear complexity without malloc.
46477         * lib/memmem.c (memmem): Use Two-Way rather than
46478         Knuth-Morris-Pratt, to allow O(1) space usage.
46479         (critical_factorization, two_way_short_needle)
46480         (two_way_long_needle): New functions.
46481         (knuth_morris_pratt): Delete.
46482         * modules/memmem (Depends-on): No longer need malloca or stdbool.
46483         Add stdint.
46484         * tests/test-memmem.c (main): Add tests for periodic needle and
46485         sublinear performance.
46486         * doc/functions/memmem.texi (memmem): Document other deficiencies
46487         in cygwin and older glibc.
46488
46489 2008-01-08  Bruno Haible  <bruno@clisp.org>
46490
46491         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
46492         augmentation.
46493
46494 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
46495
46496         Add a configure time option: --disable-acl.
46497         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
46498         AC_ARG_ENABLE(acl).
46499
46500 2008-01-06  Simon Josefsson  <simon@josefsson.org>
46501
46502         * tests/test-localename.c: Don't include obsolete "setenv.h".
46503
46504         * modules/localename-tests (Depends-on): Need unsetenv.
46505
46506 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46507
46508         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
46509
46510 2008-01-06  Colin Watson  <cjwatson@debian.org>
46511
46512         * users.txt: Add man-db.
46513
46514 2008-01-07  Bruno Haible  <bruno@clisp.org>
46515
46516         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
46517         previous section name.
46518
46519 2008-01-07  Bruno Haible  <bruno@clisp.org>
46520
46521         * lib/progname.c (set_program_name): Don't strip off a leading
46522         "lt-" prefix outside a .libs directory.
46523         Suggested by Paul Eggert.
46524
46525 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
46526             Bruno Haible  <bruno@clisp.org>
46527
46528         Improve memory cleanup in 'relocatable' module.
46529         * lib/relocatable.h (compute_curr_prefix): Change return type to
46530         'char *'.
46531         * lib/relocatable.c (compute_curr_prefix): Change return type to
46532         'char *'. Free curr_installdir after use.
46533         (relocate): Free curr_prefix_better after use.
46534         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
46535
46536 2008-01-01  Bruno Haible  <bruno@clisp.org>
46537
46538         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
46539         failure on older glibc systems.
46540         Reported by Peter Fales <psfales@alcatel-lucent.com>.
46541
46542 2008-01-05  Eric Blake  <ebb9@byu.net>
46543
46544         Avoid quadratic system memmem.
46545         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
46546         Reported by Ralf Wildenhues.
46547
46548         Fix memmem test for mingw.
46549         * modules/memmem-tests (configure.ac): Check for alarm.
46550         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
46551         it.
46552         * doc/functions/memmem.texi: New file.
46553         * doc/gnulib.texi (Function Substitutes): Add memmem.
46554         Reported by Bruno Haible.
46555
46556 2008-01-04  Bruno Haible  <bruno@clisp.org>
46557
46558         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
46559         Require gl_HEADER_STRINGS_H_DEFAULTS, not
46560         gl_HEADER_STRING_H_DEFAULTS.
46561
46562 2008-01-04  Eric Blake  <ebb9@byu.net>
46563
46564         Shorten duration of memmem test.
46565         * tests/test-memmem.c (main): Use alarm to declare failure if test
46566         is taking too long.
46567         Reported by Ralf Wildenhues.
46568
46569 2007-12-21  Simon Josefsson  <simon@josefsson.org>
46570
46571         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
46572         string, needed by strerror.
46573
46574 2008-01-03  Colin Watson  <cjwatson@debian.org>
46575             Bruno Haible  <bruno@clisp.org>
46576
46577         * doc/gnulib-tool.texi (Localization): New section.
46578
46579 2008-01-02  Bruno Haible  <bruno@clisp.org>
46580
46581         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
46582         variables to 'unsigned char *' type.
46583         Reported by Paul Eggert.
46584
46585 2008-01-02  Jim Meyering  <jim@meyering.net>
46586
46587         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
46588
46589 2007-12-31  Jim Meyering  <jim@meyering.net>
46590
46591         Avoid use of private FTS type name.
46592         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
46593
46594 2007-12-30  Karl Berry  <karl@gnu.org>
46595
46596         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
46597         work around defect in Texinfo and/or the standalone Info browser.
46598
46599 2007-12-30  Bruno Haible  <bruno@clisp.org>
46600
46601         Unify 5 copies of the KMP code.
46602         * lib/str-kmp.h: New file.
46603         * lib/c-strcasestr.c: Include str-kmp.h.
46604         (knuth_morris_pratt): Remove function.
46605         (c_strcasestr): Update.
46606         * lib/c-strstr.c: Include str-kmp.h.
46607         (knuth_morris_pratt): Remove function.
46608         (c_strcasestr): Update.
46609         * lib/mbscasestr.c: Include str-kmp.h.
46610         (knuth_morris_pratt_unibyte): Remove function.
46611         * lib/mbsstr.c: Include str-kmp.h.
46612         (knuth_morris_pratt_unibyte): Remove function.
46613         * lib/strcasestr.c: Include str-kmp.h.
46614         (knuth_morris_pratt): Remove function.
46615         (strcasestr): Update.
46616         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
46617         * modules/c-strstr (Files): Likewise.
46618         * modules/mbscasestr (Files): Likewise.
46619         * modules/mbsstr (Files): Likewise.
46620         * modules/strcasestr (Files): Likewise.
46621         Suggested by Paul Eggert.
46622
46623 2007-12-30  Bruno Haible  <bruno@clisp.org>
46624
46625         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
46626         defined.
46627
46628 2007-12-30  Bruno Haible  <bruno@clisp.org>
46629
46630         * lib/xmalloca.h: Include xalloc.h.
46631         (xnmalloca): New macro.
46632
46633 2007-12-30  Bruno Haible  <bruno@clisp.org>
46634
46635         * lib/malloca.h (nmalloca): New macro.
46636         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
46637         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
46638         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
46639         knuth_morris_pratt_multibyte): Likewise.
46640         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
46641         knuth_morris_pratt_multibyte): Likewise.
46642         * lib/memmem.c (knuth_morris_pratt): Likewise.
46643         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
46644
46645 2007-12-25  Bruno Haible  <bruno@clisp.org>
46646
46647         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
46648         * lib/glob.c: Don't include openat.h.
46649         (link_exists2_p): Add back the code that deals with the
46650         !GLOB_ALTDIRFUNC case.
46651         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
46652         let it do the filename concatenation.
46653         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
46654         * modules/glob (Depends-on): Remove openat.
46655
46656 2007-12-31  Bruno Haible  <bruno@clisp.org>
46657
46658         * modules/dirfd (License): Change to LGPLv2+.
46659         Approved by Jim Meyering.
46660
46661 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
46662
46663         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
46664         when multiplying M by sizeof (size_t).
46665
46666 2007-12-10  Martin Lambers  <marlam@marlam.de>
46667
46668         Override getpagesize on mingw.
46669         * lib/getpagesize.c: New file.
46670         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
46671         * modules/getpagesize (Files): Add lib/getpagesize.c.
46672         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
46673         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
46674         REPLACE_GETPAGESIZE.
46675         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
46676
46677 2007-12-25  Bruno Haible  <bruno@clisp.org>
46678
46679         * modules/localcharset (Notice): New field.
46680         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
46681         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
46682
46683 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
46684             Bruno Haible  <bruno@clisp.org>
46685
46686         Avoid using the syntax symbol() in formatted documentation.
46687         * MODULES.html.sh (func_module): When replacing symbol() with a
46688         hyperlink, remove the parentheses. Show an error if some remain.
46689         Recognize and render the '...' syntax.
46690         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
46691         Rework. Add paragraph about GCC's inlining.
46692         * doc/alloca.texi: Likewise.
46693         * doc/error.texi: Remove parentheses from symbol reference.
46694         * doc/gnulib-intro.texi: Likewise.
46695         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
46696         * modules/fnmatch (Description): Reword to say "the ... function".
46697         * modules/full-read (Description): Likewise.
46698         * modules/full-write (Description): Likewise.
46699         * modules/safe-read (Description): Likewise.
46700         * modules/safe-write (Description): Likewise.
46701         * modules/strchrnul (Description): Likewise.
46702         * modules/trim (Description): Likewise.
46703         * modules/error (Description): Remove parentheses from symbol
46704         references.
46705         * modules/verror (Description): Likewise.
46706         Reported by Karl Berry.
46707
46708 2007-12-25  Bruno Haible  <bruno@clisp.org>
46709
46710         Fixup after 2007-10-16 commit.
46711         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
46712
46713 2007-12-24  Bruno Haible  <bruno@clisp.org>
46714
46715         Make --enable-relocatable work with DESTDIR.
46716         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
46717         to compute installdir from destprog.
46718         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
46719         also set the RELOC_DESTDIR variable.
46720         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
46721
46722 2007-12-24  Bruno Haible  <bruno@clisp.org>
46723
46724         Fix link error due to xalloc_die().
46725         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
46726         of xreadlink.
46727         * lib/relocwrapper.c: Update comments.
46728         * build-aux/install-reloc: Remove xreadlink.c from file list.
46729         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
46730         xreadlink.c.
46731         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
46732
46733 2007-12-24  Bruno Haible  <bruno@clisp.org>
46734
46735         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
46736         * lib/setenv.h: Remove file.
46737         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
46738         lib/setenv.h.
46739         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
46740         (Depends-on): Add stdlib.
46741         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
46742         gl_FUNC_UNSETENV.
46743         (Include): Replace setenv.h with <stdlib.h>.
46744         * modules/unsetenv: New file.
46745         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
46746         * lib/unsetenv.c: Include <stdlib.h> first.
46747         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
46748         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
46749         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
46750         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
46751         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
46752         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
46753         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
46754         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
46755         * doc/functions/unsetenv.texi: Update.
46756         * modules/xsetenv (Depends-on): Add unsetenv.
46757         * modules/getdate (Depends-on): Likewise.
46758         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
46759         * lib/xsetenv.c: Don't include setenv.h.
46760         * lib/getdate.y: Likewise.
46761         * lib/relocwrapper.c: Likewise.
46762         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
46763         (Depends-on): Add stdlib.
46764         * NEWS: Mention the changes.
46765         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
46766
46767 2007-12-23  Bruno Haible  <bruno@clisp.org>
46768
46769         * lib/memmem.c (memmem): Use lowercase variable names. Tab
46770         indentation.
46771
46772 2007-12-23  Bruno Haible  <bruno@clisp.org>
46773
46774         * lib/c-strcasestr.c: Add more comments.
46775         * lib/c-strstr.c: Likewise.
46776         * lib/mbscasestr.c: Likewise.
46777         * lib/mbsstr.c: Likewise.
46778         * lib/strcasestr.c: Likewise.
46779         * lib/memmem.c: Likewise.
46780
46781 2007-12-23  Bruno Haible  <bruno@clisp.org>
46782
46783         * tests/test-memmem.c: Include <string.h> first.
46784
46785 2007-12-22  Bruno Haible  <bruno@clisp.org>
46786
46787         * gnulib-tool (func_create_testdir): Change $auxdir while generating
46788         the contents of $testsbase.
46789         Reported by Ralf Wildenhues.
46790
46791 2007-12-22  Bruno Haible  <bruno@clisp.org>
46792
46793         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
46794         two variables local_ldadd_before, local_ldadd_last.
46795
46796 2007-12-20  Eric Blake  <ebb9@byu.net>
46797
46798         Work around circular library issue when cross-compiling.
46799         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
46800         that progname.o does not need to pull in rpl_memcmp.
46801
46802 2007-12-19  Eric Blake  <ebb9@byu.net>
46803
46804         Fix memmem to avoid O(n^2) worst-case complexity.
46805         * lib/memmem.c (knuth_morris_pratt): New function.
46806         (memmem): Use it if first few naive iterations fail.
46807         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
46808         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
46809         * modules/memchr (License): Likewise.
46810         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
46811         malloca.
46812         * tests/test-memmem.c: Rewrite, borrowing ideas from
46813         test-mbsstr1.c; the old version wouldn't even compile!
46814         * modules/memmem-tests: New file.
46815         * lib/string.in.h (rpl_memmem): Add declaration.
46816         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
46817         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
46818         REPLACE_MEMMEM.
46819
46820 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
46821
46822         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
46823         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
46824         before any system include files, and undef after them all.  This
46825         should fix a problem on VMS reported by John E. Malmberg in
46826         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
46827
46828 2007-12-17  Eric Blake  <ebb9@byu.net>
46829
46830         Revert addition of verify, for BSD/OS.
46831         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
46832         can't handle large files, for the sake of obsolete platforms.
46833         * modules/fseeko (Depends-on): Remove verify.
46834         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
46835         * doc/functions/ftello.texi (ftello): Likewise.
46836         * doc/functions/fgetpos.texi (fgetpos): Likewise.
46837         Reported by Larry Jones.
46838
46839 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
46840
46841         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
46842         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
46843
46844 2007-12-17  Jim Meyering  <meyering@redhat.com>
46845
46846         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
46847         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
46848         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
46849         * modules/getcwd (Depends-on): Add openat.
46850         Reported by Petr Salinger.
46851
46852 2007-12-17  Bruno Haible  <bruno@clisp.org>
46853
46854         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
46855         avoid a segmentation fault of the configure test on x86_64 systems.
46856
46857 2007-12-15  Jim Meyering  <meyering@redhat.com>
46858
46859         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
46860
46861 2007-12-13  Eric Blake  <ebb9@byu.net>
46862
46863         Another fseek test.
46864         * tests/test-fseek.c (main): Also test ungetc handling.
46865         * tests/test-fseeko.c (main): Likewise.
46866         * modules/fseeko (Depends-on): Add verify.
46867         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
46868         large.
46869         Reported by Larry Jones.
46870
46871         Fix fseeko on mingw.
46872         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
46873         seek.
46874
46875         Beef up fseek tests.
46876         * tests/test-fseek.c (main): Also test eof handling.
46877         * tests/test-fseeko.c (main): Likewise.
46878         Reported by Larry Jones.
46879
46880 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
46881
46882         Fix fseeko on BSD-based platforms.
46883         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
46884         successful seek.
46885
46886 2007-12-12  Eric Blake  <ebb9@byu.net>
46887
46888         Allow circular dependency of separate libtests.a
46889         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
46890         when use_libtests.
46891
46892 2007-12-11  Eric Blake  <ebb9@byu.net>
46893
46894         Fix bug with -0.0L in previous patch.
46895         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
46896         * tests/test-isnan.c (main): Also test on zeroes.
46897         * tests/test-isnanf.c (main): Likewise.
46898         * tests/test-isnanl.h (main): Likewise.
46899
46900         Detect pseudo-denormals on x86 even when cross-compiling.
46901         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
46902         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
46903         invalid bit patterns that happen to satisfy ==.
46904
46905         Avoid link failures with separate libtests.a.
46906         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
46907         last, to satisfy circular dependencies.
46908
46909 2007-12-11  Eric Blake  <ebb9@byu.net>
46910         and Bruno Haible  <bruno@clisp.org>
46911
46912         Fix OpenBSD 4.0 <float.h> handling of long double.
46913         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
46914         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
46915         * doc/headers/float.texi (float.h): Document OpenBSD bug.
46916
46917 2007-12-11  Jim Meyering  <meyering@redhat.com>
46918
46919         * users.txt: Add libvirt.
46920
46921         Support versions of autoconf prior to 2.59c.
46922         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
46923         if it is not already defined.
46924
46925 2007-12-09  Bruno Haible  <bruno@clisp.org>
46926
46927         Let 'gnulib-tool --import' collect sources needed for the tests in
46928         tests/ rather than in lib/.
46929         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
46930         argument. If true, add rules to generate libtests.a, and put libtests.a
46931         into $(LDADD). Consider source files in subdirectories and set
46932         uses_subdirs.
46933         (func_emit_initmacro_start, func_emit_initmacro_end,
46934         func_emit_initmacro_done): Pass all arguments explicitly.
46935         (func_import): Determine two module lists main_modules,
46936         testsrelated_modules. Determine use_libtests. Determine two variables
46937         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
46938         instead of just sed_transform_lib_file. Determine two variables
46939         main_files and testsrelated_files. Compute 'files' as the union of
46940         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
46941         func_add_or_update. In the generated gnulib-comp.m4, collect the
46942         object files for tests/ in different variables than those for lib/.
46943         Substitute LIBTESTS_LIBDEPS.
46944         (func_create_testdir): Combine the uses_subdirs results from
46945         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
46946
46947 2007-12-09  Bruno Haible  <bruno@clisp.org>
46948
46949         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
46950         the build-aux directory.
46951
46952 2007-12-09  Bruno Haible  <bruno@clisp.org>
46953
46954         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
46955         introduced on 2006-09-09.
46956
46957 2007-12-07  Jim Meyering  <meyering@redhat.com>
46958
46959         Let these macros work also with autoconf-2.59.
46960         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
46961         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
46962         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
46963
46964 2007-12-06  Jim Meyering  <meyering@redhat.com>
46965
46966         Avoid a configure-time syntax error in gl_FUNC_ACL.
46967         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
46968         function in each branch, before testing the cache variable.
46969
46970 2007-12-04  Eric Blake  <ebb9@byu.net>
46971
46972         Make scripts executable.
46973         * build-aux/config.guess: Add execute permissions.
46974         * build-aux/config.sub: Likewise.
46975         * build-aux/gendocs.sh: Likewise.
46976
46977         Fix frexp on mingw.
46978         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
46979         cross-compiling.
46980         * doc/functions/frexp.texi (frexp): Document the bug.
46981
46982         Make cygwin fseeko check more reliable.
46983         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
46984         version numbers, rather than unrelated feature check.
46985         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
46986         * doc/functions/ftello.texi (ftello): Likewise.
46987         Reported by Bruno Haible.
46988
46989         * m4/strerror.m4: Bump version number.
46990
46991 2007-12-03  Bruno Haible  <bruno@clisp.org>
46992
46993         * doc/functions/mprotect.texi: Mention the mingw problem.
46994
46995 2007-12-03  Eric Blake  <ebb9@byu.net>
46996
46997         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
46998         REPLACE_STRERROR is initialized before this macro.
46999
47000 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
47001
47002         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
47003         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
47004         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
47005         put -lsec in even for programs other than 'ls'.  This fixes a problem
47006         for gettext reported by Bruno Haible in
47007         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
47008         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
47009         Add support for Solaris 10.  This isn't efficient, but should get the
47010         job done for now.
47011
47012 2007-12-03  James Youngman  <jay@gnu.org>
47013
47014         * doc/regexprops-generic.texi: change "an close-group" to "a
47015         close-group" and "illegal" to "not allowed".
47016
47017 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47018
47019         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
47020         pr_byname.h. Needed for the rare case when the maintainer has done
47021         "make maintainer-clean" in the source directory and then attempts a
47022         build outside the source directory.
47023         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
47024         scripts_byname.h.
47025
47026 2007-12-02  Martin Lambers <marlam@marlam.de>
47027             Bruno Haible  <bruno@clisp.org>
47028
47029         * lib/getpagesize.h: Remove file.
47030         * lib/unistd.in.h: Include declaration of getpagesize here.
47031         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
47032         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
47033         HAVE_SYS_PARAM_H.
47034         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
47035         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
47036         * modules/getpagesize (Files): Remove lib/getpagesize.h.
47037         (Depends-on): Add unistd.
47038         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
47039         (Include): Use <unistd.h> instead of getpagesize.h.
47040         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
47041         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
47042         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
47043         gl_GETPAGESIZE invocation, already handled by module dependency.
47044         * lib/pagealign_alloc.c: Don't include getpagesize.h.
47045
47046 2007-12-02  Bruno Haible  <bruno@clisp.org>
47047
47048         * modules/strings-tests: New file.
47049         * tests/test-strings.c: New file.
47050
47051         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
47052         * lib/strings.in.h: New file.
47053         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
47054         * m4/strings_h.m4: New file.
47055         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
47056         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
47057         * modules/strings: New file.
47058         * modules/string (Makefile.am): Update.
47059         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
47060         Reported by Karl Berry.
47061
47062 2007-12-01  Eric Blake  <ebb9@byu.net>
47063
47064         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
47065         accomodate fix in cygwin 1.5.25.
47066
47067 2007-12-01  Jim Meyering  <meyering@redhat.com>
47068
47069         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
47070         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
47071         that would inhibit utf8-optimization of a regexp containing line-
47072         or buffer-anchors, e.g., `^', `$'.
47073
47074 2007-11-30  Bruno Haible  <bruno@clisp.org>
47075
47076         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
47077         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
47078         glthread_recursive_lock_init.
47079         * lib/lock.c (glthread_recursive_lock_init)
47080         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
47081         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
47082
47083 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
47084
47085         New function qset_acl, like set_acl but with syscall semantics.
47086         * lib/acl.h (qset_acl): New decl.
47087         * lib/acl.c (qset_acl): New function.
47088         (set_acl): Use new function.  Use more-consistent diagnostics.
47089
47090 2007-11-28  Jim Meyering  <meyering@redhat.com>
47091
47092         * modules/physmem (License): Change from GPL to LGPLv2+.
47093
47094 2007-11-26  Bruno Haible  <bruno@clisp.org>
47095
47096         * lib/vasnprintf.c (decode_long_double): Don't abort if the
47097         'long double' type has excess precision.
47098         Reported by Jim Meyering in
47099         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
47100
47101 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47102
47103         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
47104         Sync from <http://gnu.org/licenses>.
47105         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
47106         with license text from same location.
47107         * doc/maintain.texi, doc/standards.texi:  Sync from
47108         <http://savannah.gnu.org/projects/gnustandards>.
47109
47110 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
47111         and Jim Meyering  <meyering@redhat.com>
47112
47113         Adjust getdate' grammar to accept a slightly more regular language.
47114         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
47115         Before, the former was rejected.
47116         * lib/getdate.y (digits_to_date_time): New function, factored
47117         out of ...
47118         (number): ...here.  Just call digits_to_date_time.
47119         (hybrid): New non-terminal to handle an <unsigned number,
47120         signed relative offset> sequence consistently.
47121
47122 2007-11-18  Jim Meyering  <meyering@redhat.com>
47123
47124         Pull my changes from coreutils:
47125         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
47126         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
47127         use of $gnulib_tool_option_extras, so that it's separated from the
47128         preceding argument.
47129
47130         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
47131         * build-aux/bootstrap (cp_mark_as_generated): Create any required
47132         parent destination directories before copying a file into place.
47133
47134 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
47135
47136         bootstrap: work also with 4-argument variant of AC_INIT
47137         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
47138
47139 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
47140
47141         Port test-getaddrinfo to Solaris.
47142         Problem reported by Bruno Haible in
47143         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
47144         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
47145         explanation of setting 'hints'.
47146         Don't reject an implementation merely because it returns EAI_SERVICE.
47147         (EAI_SERVICE): Define to 0 if not defined.
47148
47149 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
47150
47151         The license of gnu-make and posix-shell is now "GPLed build tool".
47152         * modules/gnu-make (License): Likewise.
47153         * modules/posix-shell (License): Likewise.
47154
47155         New module posix-shell, for determining a POSIX shell
47156         or perhaps something that is close enough to a POSIX shell.
47157         * m4/posix-shell.m4: New file.
47158         * modules/posix-shell: New file.
47159
47160         * MODULES.html.sh: Mention new module.
47161
47162         New module gnu-make, for determining whether we're using GNU Make.
47163         * m4/gnu-make.m4: New file.
47164         * modules/gnu-make: New file.
47165         * MODULES.html.sh: Mention new module.
47166
47167 2007-11-14  Jim Meyering  <meyering@redhat.com>
47168
47169         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
47170         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
47171         use this macro to create a function _definition_.
47172         Remove useless "#undef ARGMATCH_DIE".
47173
47174 2007-11-14  Bruno Haible  <bruno@clisp.org>
47175
47176         * lib/config.charset: Update for OpenBSD 4.1.
47177         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
47178
47179 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
47180
47181         Document 64-bit #if problems in stdint.texi.
47182         * doc/headers/stdint.texi (stdint.h): Mention problems with
47183         64-bit-#if, and how to work around them.
47184
47185         Don't insist on 'long long int' support in the preprocessor.  It
47186         breaks too many things.  For example, PRIdMAX still uses a 'long
47187         long int' format with the latest Sun compiler, even though
47188         HAVE_LONG_LONG_INT isn't defined due to that compiler's
47189         preprocessor problem.  This causes the latest coreutils to dump
47190         core on Solaris 10 sparc with the Sun C compiler.
47191         Instead, fix the 2007-10-16 problem in a different way, by evaluating
47192         the troublesome expressions at configure-time, not at #if-time.
47193         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
47194         preprocessor.
47195         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
47196         compile-time C checks, done at 'configure'-time.
47197         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
47198         * modules/inttypes (Makefile): Substitute the new symbols that
47199         gl_INTTYPES_H now generates.
47200         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
47201
47202 2007-11-12  Bruno Haible  <bruno@clisp.org>
47203
47204         Tests for Unicode character classification functions.
47205
47206         * modules/unictype/bidicategory-byname-tests: New file.
47207         * modules/unictype/bidicategory-name-tests: New file.
47208         * modules/unictype/bidicategory-of-tests: New file.
47209         * modules/unictype/bidicategory-test-tests: New file.
47210         * modules/unictype/block-list-tests: New file.
47211         * modules/unictype/block-of-tests: New file.
47212         * modules/unictype/block-test-tests: New file.
47213         * modules/unictype/category-C-tests: New file.
47214         * modules/unictype/category-Cc-tests: New file.
47215         * modules/unictype/category-Cf-tests: New file.
47216         * modules/unictype/category-Cn-tests: New file.
47217         * modules/unictype/category-Co-tests: New file.
47218         * modules/unictype/category-Cs-tests: New file.
47219         * modules/unictype/category-L-tests: New file.
47220         * modules/unictype/category-Ll-tests: New file.
47221         * modules/unictype/category-Lm-tests: New file.
47222         * modules/unictype/category-Lo-tests: New file.
47223         * modules/unictype/category-Lt-tests: New file.
47224         * modules/unictype/category-Lu-tests: New file.
47225         * modules/unictype/category-M-tests: New file.
47226         * modules/unictype/category-Mc-tests: New file.
47227         * modules/unictype/category-Me-tests: New file.
47228         * modules/unictype/category-Mn-tests: New file.
47229         * modules/unictype/category-N-tests: New file.
47230         * modules/unictype/category-Nd-tests: New file.
47231         * modules/unictype/category-Nl-tests: New file.
47232         * modules/unictype/category-No-tests: New file.
47233         * modules/unictype/category-P-tests: New file.
47234         * modules/unictype/category-Pc-tests: New file.
47235         * modules/unictype/category-Pd-tests: New file.
47236         * modules/unictype/category-Pe-tests: New file.
47237         * modules/unictype/category-Pf-tests: New file.
47238         * modules/unictype/category-Pi-tests: New file.
47239         * modules/unictype/category-Po-tests: New file.
47240         * modules/unictype/category-Ps-tests: New file.
47241         * modules/unictype/category-S-tests: New file.
47242         * modules/unictype/category-Sc-tests: New file.
47243         * modules/unictype/category-Sk-tests: New file.
47244         * modules/unictype/category-Sm-tests: New file.
47245         * modules/unictype/category-So-tests: New file.
47246         * modules/unictype/category-Z-tests: New file.
47247         * modules/unictype/category-Zl-tests: New file.
47248         * modules/unictype/category-Zp-tests: New file.
47249         * modules/unictype/category-Zs-tests: New file.
47250         * modules/unictype/category-and-not-tests: New file.
47251         * modules/unictype/category-and-tests: New file.
47252         * modules/unictype/category-byname-tests: New file.
47253         * modules/unictype/category-name-tests: New file.
47254         * modules/unictype/category-none-tests: New file.
47255         * modules/unictype/category-of-tests: New file.
47256         * modules/unictype/category-or-tests: New file.
47257         * modules/unictype/category-test-withtable-tests: New file.
47258         * modules/unictype/combining-class-tests: New file.
47259         * modules/unictype/ctype-alnum-tests: New file.
47260         * modules/unictype/ctype-alpha-tests: New file.
47261         * modules/unictype/ctype-blank-tests: New file.
47262         * modules/unictype/ctype-cntrl-tests: New file.
47263         * modules/unictype/ctype-digit-tests: New file.
47264         * modules/unictype/ctype-graph-tests: New file.
47265         * modules/unictype/ctype-lower-tests: New file.
47266         * modules/unictype/ctype-print-tests: New file.
47267         * modules/unictype/ctype-punct-tests: New file.
47268         * modules/unictype/ctype-space-tests: New file.
47269         * modules/unictype/ctype-upper-tests: New file.
47270         * modules/unictype/ctype-xdigit-tests: New file.
47271         * modules/unictype/decimal-digit-tests: New file.
47272         * modules/unictype/digit-tests: New file.
47273         * modules/unictype/mirror-tests: New file.
47274         * modules/unictype/numeric-tests: New file.
47275         * modules/unictype/property-alphabetic-tests: New file.
47276         * modules/unictype/property-ascii-hex-digit-tests: New file.
47277         * modules/unictype/property-bidi-arabic-digit-tests: New file.
47278         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
47279         * modules/unictype/property-bidi-block-separator-tests: New file.
47280         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
47281         * modules/unictype/property-bidi-common-separator-tests: New file.
47282         * modules/unictype/property-bidi-control-tests: New file.
47283         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
47284         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
47285         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
47286         * modules/unictype/property-bidi-european-digit-tests: New file.
47287         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
47288         * modules/unictype/property-bidi-left-to-right-tests: New file.
47289         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
47290         * modules/unictype/property-bidi-other-neutral-tests: New file.
47291         * modules/unictype/property-bidi-pdf-tests: New file.
47292         * modules/unictype/property-bidi-segment-separator-tests: New file.
47293         * modules/unictype/property-bidi-whitespace-tests: New file.
47294         * modules/unictype/property-byname-tests: New file.
47295         * modules/unictype/property-combining-tests: New file.
47296         * modules/unictype/property-composite-tests: New file.
47297         * modules/unictype/property-currency-symbol-tests: New file.
47298         * modules/unictype/property-dash-tests: New file.
47299         * modules/unictype/property-decimal-digit-tests: New file.
47300         * modules/unictype/property-default-ignorable-code-point-tests: New file.
47301         * modules/unictype/property-deprecated-tests: New file.
47302         * modules/unictype/property-diacritic-tests: New file.
47303         * modules/unictype/property-extender-tests: New file.
47304         * modules/unictype/property-format-control-tests: New file.
47305         * modules/unictype/property-grapheme-base-tests: New file.
47306         * modules/unictype/property-grapheme-extend-tests: New file.
47307         * modules/unictype/property-grapheme-link-tests: New file.
47308         * modules/unictype/property-hex-digit-tests: New file.
47309         * modules/unictype/property-hyphen-tests: New file.
47310         * modules/unictype/property-id-continue-tests: New file.
47311         * modules/unictype/property-id-start-tests: New file.
47312         * modules/unictype/property-ideographic-tests: New file.
47313         * modules/unictype/property-ids-binary-operator-tests: New file.
47314         * modules/unictype/property-ids-trinary-operator-tests: New file.
47315         * modules/unictype/property-ignorable-control-tests: New file.
47316         * modules/unictype/property-iso-control-tests: New file.
47317         * modules/unictype/property-join-control-tests: New file.
47318         * modules/unictype/property-left-of-pair-tests: New file.
47319         * modules/unictype/property-line-separator-tests: New file.
47320         * modules/unictype/property-logical-order-exception-tests: New file.
47321         * modules/unictype/property-lowercase-tests: New file.
47322         * modules/unictype/property-math-tests: New file.
47323         * modules/unictype/property-non-break-tests: New file.
47324         * modules/unictype/property-not-a-character-tests: New file.
47325         * modules/unictype/property-numeric-tests: New file.
47326         * modules/unictype/property-other-alphabetic-tests: New file.
47327         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
47328         * modules/unictype/property-other-grapheme-extend-tests: New file.
47329         * modules/unictype/property-other-id-continue-tests: New file.
47330         * modules/unictype/property-other-id-start-tests: New file.
47331         * modules/unictype/property-other-lowercase-tests: New file.
47332         * modules/unictype/property-other-math-tests: New file.
47333         * modules/unictype/property-other-uppercase-tests: New file.
47334         * modules/unictype/property-paired-punctuation-tests: New file.
47335         * modules/unictype/property-paragraph-separator-tests: New file.
47336         * modules/unictype/property-pattern-syntax-tests: New file.
47337         * modules/unictype/property-pattern-white-space-tests: New file.
47338         * modules/unictype/property-private-use-tests: New file.
47339         * modules/unictype/property-punctuation-tests: New file.
47340         * modules/unictype/property-quotation-mark-tests: New file.
47341         * modules/unictype/property-radical-tests: New file.
47342         * modules/unictype/property-sentence-terminal-tests: New file.
47343         * modules/unictype/property-soft-dotted-tests: New file.
47344         * modules/unictype/property-space-tests: New file.
47345         * modules/unictype/property-terminal-punctuation-tests: New file.
47346         * modules/unictype/property-test-tests: New file.
47347         * modules/unictype/property-titlecase-tests: New file.
47348         * modules/unictype/property-unassigned-code-value-tests: New file.
47349         * modules/unictype/property-unified-ideograph-tests: New file.
47350         * modules/unictype/property-uppercase-tests: New file.
47351         * modules/unictype/property-variation-selector-tests: New file.
47352         * modules/unictype/property-white-space-tests: New file.
47353         * modules/unictype/property-xid-continue-tests: New file.
47354         * modules/unictype/property-xid-start-tests: New file.
47355         * modules/unictype/property-zero-width-tests: New file.
47356         * modules/unictype/scripts-tests: New file.
47357         * modules/unictype/syntax-c-ident-tests: New file.
47358         * modules/unictype/syntax-c-whitespace-tests: New file.
47359         * modules/unictype/syntax-java-ident-tests: New file.
47360         * modules/unictype/syntax-java-whitespace-tests: New file.
47361         * tests/unictype/test-bidi_byname.c: New file.
47362         * tests/unictype/test-bidi_name.c: New file.
47363         * tests/unictype/test-bidi_of.c: New file.
47364         * tests/unictype/test-bidi_test.c: New file.
47365         * tests/unictype/test-block_list.c: New file.
47366         * tests/unictype/test-block_of.c: New file.
47367         * tests/unictype/test-block_test.c: New file.
47368         * tests/unictype/test-categ_and.c: New file.
47369         * tests/unictype/test-categ_and_not.c: New file.
47370         * tests/unictype/test-categ_byname.c: New file.
47371         * tests/unictype/test-categ_name.c: New file.
47372         * tests/unictype/test-categ_none.c: New file.
47373         * tests/unictype/test-categ_of.c: New file.
47374         * tests/unictype/test-categ_or.c: New file.
47375         * tests/unictype/test-categ_test_withtable.c: New file.
47376         * tests/unictype/test-combining.c: New file.
47377         * tests/unictype/test-decdigit.c: New file.
47378         * tests/unictype/test-digit.c: New file.
47379         * tests/unictype/test-mirror.c: New file.
47380         * tests/unictype/test-numeric.c: New file.
47381         * tests/unictype/test-pr_byname.c: New file.
47382         * tests/unictype/test-pr_test.c: New file.
47383         * tests/unictype/test-predicate-part1.h: New file.
47384         * tests/unictype/test-predicate-part2.h: New file.
47385         * tests/unictype/test-scripts.c: New file.
47386         * tests/unictype/test-sy_c_ident.c: New file.
47387         * tests/unictype/test-sy_java_ident.c: New file.
47388
47389         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
47390         for Unicode 5.0.0.
47391         * tests/unictype/test-categ_Cc.c: Likewise.
47392         * tests/unictype/test-categ_Cf.c: Likewise.
47393         * tests/unictype/test-categ_Cn.c: Likewise.
47394         * tests/unictype/test-categ_Co.c: Likewise.
47395         * tests/unictype/test-categ_Cs.c: Likewise.
47396         * tests/unictype/test-categ_L.c: Likewise.
47397         * tests/unictype/test-categ_Ll.c: Likewise.
47398         * tests/unictype/test-categ_Lm.c: Likewise.
47399         * tests/unictype/test-categ_Lo.c: Likewise.
47400         * tests/unictype/test-categ_Lt.c: Likewise.
47401         * tests/unictype/test-categ_Lu.c: Likewise.
47402         * tests/unictype/test-categ_M.c: Likewise.
47403         * tests/unictype/test-categ_Mc.c: Likewise.
47404         * tests/unictype/test-categ_Me.c: Likewise.
47405         * tests/unictype/test-categ_Mn.c: Likewise.
47406         * tests/unictype/test-categ_N.c: Likewise.
47407         * tests/unictype/test-categ_Nd.c: Likewise.
47408         * tests/unictype/test-categ_Nl.c: Likewise.
47409         * tests/unictype/test-categ_No.c: Likewise.
47410         * tests/unictype/test-categ_P.c: Likewise.
47411         * tests/unictype/test-categ_Pc.c: Likewise.
47412         * tests/unictype/test-categ_Pd.c: Likewise.
47413         * tests/unictype/test-categ_Pe.c: Likewise.
47414         * tests/unictype/test-categ_Pf.c: Likewise.
47415         * tests/unictype/test-categ_Pi.c: Likewise.
47416         * tests/unictype/test-categ_Po.c: Likewise.
47417         * tests/unictype/test-categ_Ps.c: Likewise.
47418         * tests/unictype/test-categ_S.c: Likewise.
47419         * tests/unictype/test-categ_Sc.c: Likewise.
47420         * tests/unictype/test-categ_Sk.c: Likewise.
47421         * tests/unictype/test-categ_Sm.c: Likewise.
47422         * tests/unictype/test-categ_So.c: Likewise.
47423         * tests/unictype/test-categ_Z.c: Likewise.
47424         * tests/unictype/test-categ_Zl.c: Likewise.
47425         * tests/unictype/test-categ_Zp.c: Likewise.
47426         * tests/unictype/test-categ_Zs.c: Likewise.
47427         * tests/unictype/test-ctype_alnum.c: Likewise.
47428         * tests/unictype/test-ctype_alpha.c: Likewise.
47429         * tests/unictype/test-ctype_blank.c: Likewise.
47430         * tests/unictype/test-ctype_cntrl.c: Likewise.
47431         * tests/unictype/test-ctype_digit.c: Likewise.
47432         * tests/unictype/test-ctype_graph.c: Likewise.
47433         * tests/unictype/test-ctype_lower.c: Likewise.
47434         * tests/unictype/test-ctype_print.c: Likewise.
47435         * tests/unictype/test-ctype_punct.c: Likewise.
47436         * tests/unictype/test-ctype_space.c: Likewise.
47437         * tests/unictype/test-ctype_upper.c: Likewise.
47438         * tests/unictype/test-ctype_xdigit.c: Likewise.
47439         * tests/unictype/test-decdigit.h: Likewise.
47440         * tests/unictype/test-digit.h: Likewise.
47441         * tests/unictype/test-numeric.h: Likewise.
47442         * tests/unictype/test-pr_alphabetic.c: Likewise.
47443         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
47444         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
47445         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
47446         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
47447         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
47448         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
47449         * tests/unictype/test-pr_bidi_control.c: Likewise.
47450         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
47451         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
47452         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
47453         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
47454         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
47455         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
47456         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
47457         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
47458         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
47459         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
47460         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
47461         * tests/unictype/test-pr_combining.c: Likewise.
47462         * tests/unictype/test-pr_composite.c: Likewise.
47463         * tests/unictype/test-pr_currency_symbol.c: Likewise.
47464         * tests/unictype/test-pr_dash.c: Likewise.
47465         * tests/unictype/test-pr_decimal_digit.c: Likewise.
47466         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
47467         * tests/unictype/test-pr_deprecated.c: Likewise.
47468         * tests/unictype/test-pr_diacritic.c: Likewise.
47469         * tests/unictype/test-pr_extender.c: Likewise.
47470         * tests/unictype/test-pr_format_control.c: Likewise.
47471         * tests/unictype/test-pr_grapheme_base.c: Likewise.
47472         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
47473         * tests/unictype/test-pr_grapheme_link.c: Likewise.
47474         * tests/unictype/test-pr_hex_digit.c: Likewise.
47475         * tests/unictype/test-pr_hyphen.c: Likewise.
47476         * tests/unictype/test-pr_id_continue.c: Likewise.
47477         * tests/unictype/test-pr_id_start.c: Likewise.
47478         * tests/unictype/test-pr_ideographic.c: Likewise.
47479         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
47480         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
47481         * tests/unictype/test-pr_ignorable_control.c: Likewise.
47482         * tests/unictype/test-pr_iso_control.c: Likewise.
47483         * tests/unictype/test-pr_join_control.c: Likewise.
47484         * tests/unictype/test-pr_left_of_pair.c: Likewise.
47485         * tests/unictype/test-pr_line_separator.c: Likewise.
47486         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
47487         * tests/unictype/test-pr_lowercase.c: Likewise.
47488         * tests/unictype/test-pr_math.c: Likewise.
47489         * tests/unictype/test-pr_non_break.c: Likewise.
47490         * tests/unictype/test-pr_not_a_character.c: Likewise.
47491         * tests/unictype/test-pr_numeric.c: Likewise.
47492         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
47493         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
47494         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
47495         * tests/unictype/test-pr_other_id_continue.c: Likewise.
47496         * tests/unictype/test-pr_other_id_start.c: Likewise.
47497         * tests/unictype/test-pr_other_lowercase.c: Likewise.
47498         * tests/unictype/test-pr_other_math.c: Likewise.
47499         * tests/unictype/test-pr_other_uppercase.c: Likewise.
47500         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
47501         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
47502         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
47503         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
47504         * tests/unictype/test-pr_private_use.c: Likewise.
47505         * tests/unictype/test-pr_punctuation.c: Likewise.
47506         * tests/unictype/test-pr_quotation_mark.c: Likewise.
47507         * tests/unictype/test-pr_radical.c: Likewise.
47508         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
47509         * tests/unictype/test-pr_soft_dotted.c: Likewise.
47510         * tests/unictype/test-pr_space.c: Likewise.
47511         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
47512         * tests/unictype/test-pr_titlecase.c: Likewise.
47513         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
47514         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
47515         * tests/unictype/test-pr_uppercase.c: Likewise.
47516         * tests/unictype/test-pr_variation_selector.c: Likewise.
47517         * tests/unictype/test-pr_white_space.c: Likewise.
47518         * tests/unictype/test-pr_xid_continue.c: Likewise.
47519         * tests/unictype/test-pr_xid_start.c: Likewise.
47520         * tests/unictype/test-pr_zero_width.c: Likewise.
47521         * tests/unictype/test-sy_c_whitespace.c: Likewise.
47522         * tests/unictype/test-sy_java_whitespace.c: Likewise.
47523
47524 2007-11-12  Bruno Haible  <bruno@clisp.org>
47525
47526         Unicode character classification functions.
47527         * lib/unictype.h: New file.
47528         * modules/unictype/base: New file.
47529         * modules/unictype/category-L: New file.
47530         * modules/unictype/category-Lu: New file.
47531         * modules/unictype/category-Ll: New file.
47532         * modules/unictype/category-Lt: New file.
47533         * modules/unictype/category-Lm: New file.
47534         * modules/unictype/category-Lo: New file.
47535         * modules/unictype/category-M: New file.
47536         * modules/unictype/category-Mn: New file.
47537         * modules/unictype/category-Mc: New file.
47538         * modules/unictype/category-Me: New file.
47539         * modules/unictype/category-N: New file.
47540         * modules/unictype/category-Nd: New file.
47541         * modules/unictype/category-Nl: New file.
47542         * modules/unictype/category-No: New file.
47543         * modules/unictype/category-P: New file.
47544         * modules/unictype/category-Pc: New file.
47545         * modules/unictype/category-Pd: New file.
47546         * modules/unictype/category-Ps: New file.
47547         * modules/unictype/category-Pe: New file.
47548         * modules/unictype/category-Pi: New file.
47549         * modules/unictype/category-Pf: New file.
47550         * modules/unictype/category-Po: New file.
47551         * modules/unictype/category-S: New file.
47552         * modules/unictype/category-Sm: New file.
47553         * modules/unictype/category-Sc: New file.
47554         * modules/unictype/category-Sk: New file.
47555         * modules/unictype/category-So: New file.
47556         * modules/unictype/category-Z: New file.
47557         * modules/unictype/category-Zs: New file.
47558         * modules/unictype/category-Zl: New file.
47559         * modules/unictype/category-Zp: New file.
47560         * modules/unictype/category-C: New file.
47561         * modules/unictype/category-Cc: New file.
47562         * modules/unictype/category-Cf: New file.
47563         * modules/unictype/category-Cs: New file.
47564         * modules/unictype/category-Co: New file.
47565         * modules/unictype/category-Cn: New file.
47566         * modules/unictype/category-or: New file.
47567         * modules/unictype/category-of: New file.
47568         * modules/unictype/category-test: New file.
47569         * modules/unictype/category-test-withtable: New file.
47570         * modules/unictype/category-byname: New file.
47571         * modules/unictype/category-none: New file.
47572         * modules/unictype/category-and: New file.
47573         * modules/unictype/category-and-not: New file.
47574         * modules/unictype/category-name: New file.
47575         * modules/unictype/combining-class: New file.
47576         * modules/unictype/category-all: New file.
47577         * modules/unictype/bidicategory-all: New file.
47578         * modules/unictype/bidicategory-byname: New file.
47579         * modules/unictype/bidicategory-name: New file.
47580         * modules/unictype/bidicategory-of: New file.
47581         * modules/unictype/bidicategory-test: New file.
47582         * modules/unictype/decimal-digit: New file.
47583         * modules/unictype/digit: New file.
47584         * modules/unictype/numeric: New file.
47585         * modules/unictype/mirror: New file.
47586         * modules/unictype/property-white-space: New file.
47587         * modules/unictype/property-alphabetic: New file.
47588         * modules/unictype/property-other-alphabetic: New file.
47589         * modules/unictype/property-not-a-character: New file.
47590         * modules/unictype/property-default-ignorable-code-point: New file.
47591         * modules/unictype/property-other-default-ignorable-code-point: New
47592         file.
47593         * modules/unictype/property-deprecated: New file.
47594         * modules/unictype/property-logical-order-exception: New file.
47595         * modules/unictype/property-variation-selector: New file.
47596         * modules/unictype/property-private-use: New file.
47597         * modules/unictype/property-unassigned-code-value: New file.
47598         * modules/unictype/property-uppercase: New file.
47599         * modules/unictype/property-other-uppercase: New file.
47600         * modules/unictype/property-lowercase: New file.
47601         * modules/unictype/property-other-lowercase: New file.
47602         * modules/unictype/property-titlecase: New file.
47603         * modules/unictype/property-soft-dotted: New file.
47604         * modules/unictype/property-id-start: New file.
47605         * modules/unictype/property-other-id-start: New file.
47606         * modules/unictype/property-id-continue: New file.
47607         * modules/unictype/property-other-id-continue: New file.
47608         * modules/unictype/property-xid-start: New file.
47609         * modules/unictype/property-xid-continue: New file.
47610         * modules/unictype/property-pattern-white-space: New file.
47611         * modules/unictype/property-pattern-syntax: New file.
47612         * modules/unictype/property-join-control: New file.
47613         * modules/unictype/property-grapheme-base: New file.
47614         * modules/unictype/property-grapheme-extend: New file.
47615         * modules/unictype/property-other-grapheme-extend: New file.
47616         * modules/unictype/property-grapheme-link: New file.
47617         * modules/unictype/property-bidi-control: New file.
47618         * modules/unictype/property-bidi-left-to-right: New file.
47619         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
47620         * modules/unictype/property-bidi-arabic-right-to-left: New file.
47621         * modules/unictype/property-bidi-european-digit: New file.
47622         * modules/unictype/property-bidi-eur-num-separator: New file.
47623         * modules/unictype/property-bidi-eur-num-terminator: New file.
47624         * modules/unictype/property-bidi-arabic-digit: New file.
47625         * modules/unictype/property-bidi-common-separator: New file.
47626         * modules/unictype/property-bidi-block-separator: New file.
47627         * modules/unictype/property-bidi-segment-separator: New file.
47628         * modules/unictype/property-bidi-whitespace: New file.
47629         * modules/unictype/property-bidi-non-spacing-mark: New file.
47630         * modules/unictype/property-bidi-boundary-neutral: New file.
47631         * modules/unictype/property-bidi-pdf: New file.
47632         * modules/unictype/property-bidi-embedding-or-override: New file.
47633         * modules/unictype/property-bidi-other-neutral: New file.
47634         * modules/unictype/property-hex-digit: New file.
47635         * modules/unictype/property-ascii-hex-digit: New file.
47636         * modules/unictype/property-ideographic: New file.
47637         * modules/unictype/property-unified-ideograph: New file.
47638         * modules/unictype/property-radical: New file.
47639         * modules/unictype/property-ids-binary-operator: New file.
47640         * modules/unictype/property-ids-trinary-operator: New file.
47641         * modules/unictype/property-zero-width: New file.
47642         * modules/unictype/property-space: New file.
47643         * modules/unictype/property-non-break: New file.
47644         * modules/unictype/property-iso-control: New file.
47645         * modules/unictype/property-format-control: New file.
47646         * modules/unictype/property-dash: New file.
47647         * modules/unictype/property-hyphen: New file.
47648         * modules/unictype/property-punctuation: New file.
47649         * modules/unictype/property-line-separator: New file.
47650         * modules/unictype/property-paragraph-separator: New file.
47651         * modules/unictype/property-quotation-mark: New file.
47652         * modules/unictype/property-sentence-terminal: New file.
47653         * modules/unictype/property-terminal-punctuation: New file.
47654         * modules/unictype/property-currency-symbol: New file.
47655         * modules/unictype/property-math: New file.
47656         * modules/unictype/property-other-math: New file.
47657         * modules/unictype/property-paired-punctuation: New file.
47658         * modules/unictype/property-left-of-pair: New file.
47659         * modules/unictype/property-combining: New file.
47660         * modules/unictype/property-composite: New file.
47661         * modules/unictype/property-decimal-digit: New file.
47662         * modules/unictype/property-numeric: New file.
47663         * modules/unictype/property-diacritic: New file.
47664         * modules/unictype/property-extender: New file.
47665         * modules/unictype/property-ignorable-control: New file.
47666         * modules/unictype/property-test: New file.
47667         * modules/unictype/property-byname: New file.
47668         * modules/unictype/property-all: New file.
47669         * modules/unictype/scripts: New file.
47670         * modules/unictype/scripts-all: New file.
47671         * modules/unictype/block-of: New file.
47672         * modules/unictype/block-test: New file.
47673         * modules/unictype/block-list: New file.
47674         * modules/unictype/block-all: New file.
47675         * modules/unictype/syntax-c-whitespace: New file.
47676         * modules/unictype/syntax-java-whitespace: New file.
47677         * modules/unictype/syntax-c-ident: New file.
47678         * modules/unictype/syntax-java-ident: New file.
47679         * modules/unictype/ctype-alnum: New file.
47680         * modules/unictype/ctype-alpha: New file.
47681         * modules/unictype/ctype-cntrl: New file.
47682         * modules/unictype/ctype-digit: New file.
47683         * modules/unictype/ctype-graph: New file.
47684         * modules/unictype/ctype-lower: New file.
47685         * modules/unictype/ctype-print: New file.
47686         * modules/unictype/ctype-punct: New file.
47687         * modules/unictype/ctype-space: New file.
47688         * modules/unictype/ctype-upper: New file.
47689         * modules/unictype/ctype-xdigit: New file.
47690         * modules/unictype/ctype-blank: New file.
47691         * lib/unictype/bidi_byname.c: New file.
47692         * lib/unictype/bidi_name.c: New file.
47693         * lib/unictype/bidi_of.c: New file.
47694         * lib/unictype/bidi_test.c: New file.
47695         * lib/unictype/bitmap.h: New file.
47696         * lib/unictype/block_test.c: New file.
47697         * lib/unictype/blocks.c: New file.
47698         * lib/unictype/categ_C.c: New file.
47699         * lib/unictype/categ_Cc.c: New file.
47700         * lib/unictype/categ_Cf.c: New file.
47701         * lib/unictype/categ_Cn.c: New file.
47702         * lib/unictype/categ_Co.c: New file.
47703         * lib/unictype/categ_Cs.c: New file.
47704         * lib/unictype/categ_L.c: New file.
47705         * lib/unictype/categ_Ll.c: New file.
47706         * lib/unictype/categ_Lm.c: New file.
47707         * lib/unictype/categ_Lo.c: New file.
47708         * lib/unictype/categ_Lt.c: New file.
47709         * lib/unictype/categ_Lu.c: New file.
47710         * lib/unictype/categ_M.c: New file.
47711         * lib/unictype/categ_Mc.c: New file.
47712         * lib/unictype/categ_Me.c: New file.
47713         * lib/unictype/categ_Mn.c: New file.
47714         * lib/unictype/categ_N.c: New file.
47715         * lib/unictype/categ_Nd.c: New file.
47716         * lib/unictype/categ_Nl.c: New file.
47717         * lib/unictype/categ_No.c: New file.
47718         * lib/unictype/categ_P.c: New file.
47719         * lib/unictype/categ_Pc.c: New file.
47720         * lib/unictype/categ_Pd.c: New file.
47721         * lib/unictype/categ_Pe.c: New file.
47722         * lib/unictype/categ_Pf.c: New file.
47723         * lib/unictype/categ_Pi.c: New file.
47724         * lib/unictype/categ_Po.c: New file.
47725         * lib/unictype/categ_Ps.c: New file.
47726         * lib/unictype/categ_S.c: New file.
47727         * lib/unictype/categ_Sc.c: New file.
47728         * lib/unictype/categ_Sk.c: New file.
47729         * lib/unictype/categ_Sm.c: New file.
47730         * lib/unictype/categ_So.c: New file.
47731         * lib/unictype/categ_Z.c: New file.
47732         * lib/unictype/categ_Zl.c: New file.
47733         * lib/unictype/categ_Zp.c: New file.
47734         * lib/unictype/categ_Zs.c: New file.
47735         * lib/unictype/categ_and.c: New file.
47736         * lib/unictype/categ_and_not.c: New file.
47737         * lib/unictype/categ_byname.c: New file.
47738         * lib/unictype/categ_name.c: New file.
47739         * lib/unictype/categ_none.c: New file.
47740         * lib/unictype/categ_of.c: New file.
47741         * lib/unictype/categ_or.c: New file.
47742         * lib/unictype/categ_test.c: New file.
47743         * lib/unictype/combining.c: New file.
47744         * lib/unictype/ctype_alnum.c: New file.
47745         * lib/unictype/ctype_alpha.c: New file.
47746         * lib/unictype/ctype_blank.c: New file.
47747         * lib/unictype/ctype_cntrl.c: New file.
47748         * lib/unictype/ctype_digit.c: New file.
47749         * lib/unictype/ctype_graph.c: New file.
47750         * lib/unictype/ctype_lower.c: New file.
47751         * lib/unictype/ctype_print.c: New file.
47752         * lib/unictype/ctype_punct.c: New file.
47753         * lib/unictype/ctype_space.c: New file.
47754         * lib/unictype/ctype_upper.c: New file.
47755         * lib/unictype/ctype_xdigit.c: New file.
47756         * lib/unictype/decdigit.c: New file.
47757         * lib/unictype/digit.c: New file.
47758         * lib/unictype/identsyntaxmap.h: New file.
47759         * lib/unictype/mirror.c: New file.
47760         * lib/unictype/numeric.c: New file.
47761         * lib/unictype/pr_alphabetic.c: New file.
47762         * lib/unictype/pr_ascii_hex_digit.c: New file.
47763         * lib/unictype/pr_bidi_arabic_digit.c: New file.
47764         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
47765         * lib/unictype/pr_bidi_block_separator.c: New file.
47766         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
47767         * lib/unictype/pr_bidi_common_separator.c: New file.
47768         * lib/unictype/pr_bidi_control.c: New file.
47769         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
47770         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
47771         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
47772         * lib/unictype/pr_bidi_european_digit.c: New file.
47773         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
47774         * lib/unictype/pr_bidi_left_to_right.c: New file.
47775         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
47776         * lib/unictype/pr_bidi_other_neutral.c: New file.
47777         * lib/unictype/pr_bidi_pdf.c: New file.
47778         * lib/unictype/pr_bidi_segment_separator.c: New file.
47779         * lib/unictype/pr_bidi_whitespace.c: New file.
47780         * lib/unictype/pr_byname.c: New file.
47781         * lib/unictype/pr_byname.gperf: New file.
47782         * lib/unictype/pr_combining.c: New file.
47783         * lib/unictype/pr_composite.c: New file.
47784         * lib/unictype/pr_currency_symbol.c: New file.
47785         * lib/unictype/pr_dash.c: New file.
47786         * lib/unictype/pr_decimal_digit.c: New file.
47787         * lib/unictype/pr_default_ignorable_code_point.c: New file.
47788         * lib/unictype/pr_deprecated.c: New file.
47789         * lib/unictype/pr_diacritic.c: New file.
47790         * lib/unictype/pr_extender.c: New file.
47791         * lib/unictype/pr_format_control.c: New file.
47792         * lib/unictype/pr_grapheme_base.c: New file.
47793         * lib/unictype/pr_grapheme_extend.c: New file.
47794         * lib/unictype/pr_grapheme_link.c: New file.
47795         * lib/unictype/pr_hex_digit.c: New file.
47796         * lib/unictype/pr_hyphen.c: New file.
47797         * lib/unictype/pr_id_continue.c: New file.
47798         * lib/unictype/pr_id_start.c: New file.
47799         * lib/unictype/pr_ideographic.c: New file.
47800         * lib/unictype/pr_ids_binary_operator.c: New file.
47801         * lib/unictype/pr_ids_trinary_operator.c: New file.
47802         * lib/unictype/pr_ignorable_control.c: New file.
47803         * lib/unictype/pr_iso_control.c: New file.
47804         * lib/unictype/pr_join_control.c: New file.
47805         * lib/unictype/pr_left_of_pair.c: New file.
47806         * lib/unictype/pr_line_separator.c: New file.
47807         * lib/unictype/pr_logical_order_exception.c: New file.
47808         * lib/unictype/pr_lowercase.c: New file.
47809         * lib/unictype/pr_math.c: New file.
47810         * lib/unictype/pr_non_break.c: New file.
47811         * lib/unictype/pr_not_a_character.c: New file.
47812         * lib/unictype/pr_numeric.c: New file.
47813         * lib/unictype/pr_other_alphabetic.c: New file.
47814         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
47815         * lib/unictype/pr_other_grapheme_extend.c: New file.
47816         * lib/unictype/pr_other_id_continue.c: New file.
47817         * lib/unictype/pr_other_id_start.c: New file.
47818         * lib/unictype/pr_other_lowercase.c: New file.
47819         * lib/unictype/pr_other_math.c: New file.
47820         * lib/unictype/pr_other_uppercase.c: New file.
47821         * lib/unictype/pr_paired_punctuation.c: New file.
47822         * lib/unictype/pr_paragraph_separator.c: New file.
47823         * lib/unictype/pr_pattern_syntax.c: New file.
47824         * lib/unictype/pr_pattern_white_space.c: New file.
47825         * lib/unictype/pr_private_use.c: New file.
47826         * lib/unictype/pr_punctuation.c: New file.
47827         * lib/unictype/pr_quotation_mark.c: New file.
47828         * lib/unictype/pr_radical.c: New file.
47829         * lib/unictype/pr_sentence_terminal.c: New file.
47830         * lib/unictype/pr_soft_dotted.c: New file.
47831         * lib/unictype/pr_space.c: New file.
47832         * lib/unictype/pr_terminal_punctuation.c: New file.
47833         * lib/unictype/pr_test.c: New file.
47834         * lib/unictype/pr_titlecase.c: New file.
47835         * lib/unictype/pr_unassigned_code_value.c: New file.
47836         * lib/unictype/pr_unified_ideograph.c: New file.
47837         * lib/unictype/pr_uppercase.c: New file.
47838         * lib/unictype/pr_variation_selector.c: New file.
47839         * lib/unictype/pr_white_space.c: New file.
47840         * lib/unictype/pr_xid_continue.c: New file.
47841         * lib/unictype/pr_xid_start.c: New file.
47842         * lib/unictype/pr_zero_width.c: New file.
47843         * lib/unictype/scripts.c: New file.
47844         * lib/unictype/sy_c_ident.c: New file.
47845         * lib/unictype/sy_c_whitespace.c: New file.
47846         * lib/unictype/sy_java_ident.c: New file.
47847         * lib/unictype/sy_java_whitespace.c: New file.
47848
47849         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
47850         Unicode 5.0.0.
47851         * lib/unictype/blocks.h: Likewise.
47852         * lib/unictype/categ_C.h: Likewise.
47853         * lib/unictype/categ_Cc.h: Likewise.
47854         * lib/unictype/categ_Cf.h: Likewise.
47855         * lib/unictype/categ_Cn.h: Likewise.
47856         * lib/unictype/categ_Co.h: Likewise.
47857         * lib/unictype/categ_Cs.h: Likewise.
47858         * lib/unictype/categ_L.h: Likewise.
47859         * lib/unictype/categ_Ll.h: Likewise.
47860         * lib/unictype/categ_Lm.h: Likewise.
47861         * lib/unictype/categ_Lo.h: Likewise.
47862         * lib/unictype/categ_Lt.h: Likewise.
47863         * lib/unictype/categ_Lu.h: Likewise.
47864         * lib/unictype/categ_M.h: Likewise.
47865         * lib/unictype/categ_Mc.h: Likewise.
47866         * lib/unictype/categ_Me.h: Likewise.
47867         * lib/unictype/categ_Mn.h: Likewise.
47868         * lib/unictype/categ_N.h: Likewise.
47869         * lib/unictype/categ_Nd.h: Likewise.
47870         * lib/unictype/categ_Nl.h: Likewise.
47871         * lib/unictype/categ_No.h: Likewise.
47872         * lib/unictype/categ_P.h: Likewise.
47873         * lib/unictype/categ_Pc.h: Likewise.
47874         * lib/unictype/categ_Pd.h: Likewise.
47875         * lib/unictype/categ_Pe.h: Likewise.
47876         * lib/unictype/categ_Pf.h: Likewise.
47877         * lib/unictype/categ_Pi.h: Likewise.
47878         * lib/unictype/categ_Po.h: Likewise.
47879         * lib/unictype/categ_Ps.h: Likewise.
47880         * lib/unictype/categ_S.h: Likewise.
47881         * lib/unictype/categ_Sc.h: Likewise.
47882         * lib/unictype/categ_Sk.h: Likewise.
47883         * lib/unictype/categ_Sm.h: Likewise.
47884         * lib/unictype/categ_So.h: Likewise.
47885         * lib/unictype/categ_Z.h: Likewise.
47886         * lib/unictype/categ_Zl.h: Likewise.
47887         * lib/unictype/categ_Zp.h: Likewise.
47888         * lib/unictype/categ_Zs.h: Likewise.
47889         * lib/unictype/categ_of.h: Likewise.
47890         * lib/unictype/combining.h: Likewise.
47891         * lib/unictype/ctype_alnum.h: Likewise.
47892         * lib/unictype/ctype_alpha.h: Likewise.
47893         * lib/unictype/ctype_blank.h: Likewise.
47894         * lib/unictype/ctype_cntrl.h: Likewise.
47895         * lib/unictype/ctype_digit.h: Likewise.
47896         * lib/unictype/ctype_graph.h: Likewise.
47897         * lib/unictype/ctype_lower.h: Likewise.
47898         * lib/unictype/ctype_print.h: Likewise.
47899         * lib/unictype/ctype_punct.h: Likewise.
47900         * lib/unictype/ctype_space.h: Likewise.
47901         * lib/unictype/ctype_upper.h: Likewise.
47902         * lib/unictype/ctype_xdigit.h: Likewise.
47903         * lib/unictype/decdigit.h: Likewise.
47904         * lib/unictype/digit.h: Likewise.
47905         * lib/unictype/mirror.h: Likewise.
47906         * lib/unictype/numeric.h: Likewise.
47907         * lib/unictype/pr_alphabetic.h: Likewise.
47908         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
47909         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
47910         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
47911         * lib/unictype/pr_bidi_block_separator.h: Likewise.
47912         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
47913         * lib/unictype/pr_bidi_common_separator.h: Likewise.
47914         * lib/unictype/pr_bidi_control.h: Likewise.
47915         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
47916         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
47917         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
47918         * lib/unictype/pr_bidi_european_digit.h: Likewise.
47919         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
47920         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
47921         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
47922         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
47923         * lib/unictype/pr_bidi_pdf.h: Likewise.
47924         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
47925         * lib/unictype/pr_bidi_whitespace.h: Likewise.
47926         * lib/unictype/pr_combining.h: Likewise.
47927         * lib/unictype/pr_composite.h: Likewise.
47928         * lib/unictype/pr_currency_symbol.h: Likewise.
47929         * lib/unictype/pr_dash.h: Likewise.
47930         * lib/unictype/pr_decimal_digit.h: Likewise.
47931         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
47932         * lib/unictype/pr_deprecated.h: Likewise.
47933         * lib/unictype/pr_diacritic.h: Likewise.
47934         * lib/unictype/pr_extender.h: Likewise.
47935         * lib/unictype/pr_format_control.h: Likewise.
47936         * lib/unictype/pr_grapheme_base.h: Likewise.
47937         * lib/unictype/pr_grapheme_extend.h: Likewise.
47938         * lib/unictype/pr_grapheme_link.h: Likewise.
47939         * lib/unictype/pr_hex_digit.h: Likewise.
47940         * lib/unictype/pr_hyphen.h: Likewise.
47941         * lib/unictype/pr_id_continue.h: Likewise.
47942         * lib/unictype/pr_id_start.h: Likewise.
47943         * lib/unictype/pr_ideographic.h: Likewise.
47944         * lib/unictype/pr_ids_binary_operator.h: Likewise.
47945         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
47946         * lib/unictype/pr_ignorable_control.h: Likewise.
47947         * lib/unictype/pr_iso_control.h: Likewise.
47948         * lib/unictype/pr_join_control.h: Likewise.
47949         * lib/unictype/pr_left_of_pair.h: Likewise.
47950         * lib/unictype/pr_line_separator.h: Likewise.
47951         * lib/unictype/pr_logical_order_exception.h: Likewise.
47952         * lib/unictype/pr_lowercase.h: Likewise.
47953         * lib/unictype/pr_math.h: Likewise.
47954         * lib/unictype/pr_non_break.h: Likewise.
47955         * lib/unictype/pr_not_a_character.h: Likewise.
47956         * lib/unictype/pr_numeric.h: Likewise.
47957         * lib/unictype/pr_other_alphabetic.h: Likewise.
47958         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
47959         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
47960         * lib/unictype/pr_other_id_continue.h: Likewise.
47961         * lib/unictype/pr_other_id_start.h: Likewise.
47962         * lib/unictype/pr_other_lowercase.h: Likewise.
47963         * lib/unictype/pr_other_math.h: Likewise.
47964         * lib/unictype/pr_other_uppercase.h: Likewise.
47965         * lib/unictype/pr_paired_punctuation.h: Likewise.
47966         * lib/unictype/pr_paragraph_separator.h: Likewise.
47967         * lib/unictype/pr_pattern_syntax.h: Likewise.
47968         * lib/unictype/pr_pattern_white_space.h: Likewise.
47969         * lib/unictype/pr_private_use.h: Likewise.
47970         * lib/unictype/pr_punctuation.h: Likewise.
47971         * lib/unictype/pr_quotation_mark.h: Likewise.
47972         * lib/unictype/pr_radical.h: Likewise.
47973         * lib/unictype/pr_sentence_terminal.h: Likewise.
47974         * lib/unictype/pr_soft_dotted.h: Likewise.
47975         * lib/unictype/pr_space.h: Likewise.
47976         * lib/unictype/pr_terminal_punctuation.h: Likewise.
47977         * lib/unictype/pr_titlecase.h: Likewise.
47978         * lib/unictype/pr_unassigned_code_value.h: Likewise.
47979         * lib/unictype/pr_unified_ideograph.h: Likewise.
47980         * lib/unictype/pr_uppercase.h: Likewise.
47981         * lib/unictype/pr_variation_selector.h: Likewise.
47982         * lib/unictype/pr_white_space.h: Likewise.
47983         * lib/unictype/pr_xid_continue.h: Likewise.
47984         * lib/unictype/pr_xid_start.h: Likewise.
47985         * lib/unictype/pr_zero_width.h: Likewise.
47986         * lib/unictype/scripts.h: Likewise.
47987         * lib/unictype/scripts_byname.gperf: Likewise.
47988         * lib/unictype/sy_c_ident.h: Likewise.
47989         * lib/unictype/sy_c_whitespace.h: Likewise.
47990         * lib/unictype/sy_java_ident.h: Likewise.
47991         * lib/unictype/sy_java_whitespace.h: Likewise.
47992
47993         * lib/unictype/Makefile: New file.
47994         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
47995         glibc.
47996         * lib/unictype/3level.h: New file, copied from glibc.
47997         * lib/unictype/3levelbit.h: New file.
47998
47999 2007-11-11  Bruno Haible  <bruno@clisp.org>
48000
48001         * modules/gperf: New file.
48002         * modules/iconv_open (Depends-on): Add it.
48003         (Makefile.am): Remove the GPERF definition.
48004
48005 2007-11-11  Bruno Haible  <bruno@clisp.org>
48006
48007         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
48008         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
48009
48010 2007-11-11  Bruno Haible  <bruno@clisp.org>
48011
48012         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
48013         (usage): Remove function.
48014
48015 2007-11-11  Bruno Haible  <bruno@clisp.org>
48016
48017         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
48018         gl_FUNC_CEILF_LIBS.
48019         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
48020         gl_FUNC_CEIL_LIBS.
48021         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
48022         gl_FUNC_CEILL_LIBS.
48023         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
48024         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
48025         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
48026
48027 2007-11-11  Bruno Haible  <bruno@clisp.org>
48028
48029         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
48030         roundf were declared but do not exist on functions.
48031         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
48032         roundl were declared but do not exist on functions.
48033         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
48034         HAVE_FLOORL_AND_CEILL, respectively.
48035         Needed for Sun C on Solaris 10.
48036
48037 2007-11-11  Bruno Haible  <bruno@clisp.org>
48038
48039         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
48040         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
48041         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
48042         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
48043         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
48044         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
48045         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
48046         HAVE_DECL_ROUNDF.
48047         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
48048         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
48049         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
48050         of HAVE_DECL_ROUND*.
48051         * modules/math (Makefile.am): Update.
48052
48053 2007-11-10  Bruno Haible  <bruno@clisp.org>
48054
48055         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
48056         ptrdiff_t as m4/intl.m4.
48057
48058 2007-11-10  Jim Meyering  <meyering@redhat.com>
48059
48060         Avoid link failure for the argmatch test.
48061         * tests/test-argmatch.c (usage): Define function to avoid a link
48062         failure: argmatch_die requires a usage function.
48063
48064 2007-11-09  Bruno Haible  <bruno@clisp.org>
48065
48066         * doc/functions/snprintf.texi: Mention BeOS deficiency.
48067         * doc/functions/vsnprintf.texi: Likewise.
48068         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
48069         with a size argument < 2.
48070
48071 2007-11-09  Bruno Haible  <bruno@clisp.org>
48072
48073         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
48074         buffer. Fixes an inefficiency introduced on 2007-11-03.
48075
48076 2007-11-09  Bruno Haible  <bruno@clisp.org>
48077
48078         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
48079         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
48080
48081 2007-11-08  Jim Meyering  <meyering@redhat.com>
48082
48083         Change cache variable name prefix "jm_" to "gl_" everywhere.
48084         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
48085         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
48086         * m4/uptime.m4: s/gl_/jm_/
48087
48088 2007-11-07  Bruno Haible  <bruno@clisp.org>
48089
48090         Update to GNU gettext 0.17.
48091         * m4/intl.m4: Update to GNU gettext 0.17.
48092         * m4/po.m4: Likewise.
48093         * modules/gettext (Files): Remove m4/ulonglong.m4.
48094         (configure.ac): Require gettext infrastructure from version 0.17.
48095
48096 2007-11-06  Bruno Haible  <bruno@clisp.org>
48097
48098         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
48099         symbolic values are not defined in a public header.
48100         * lib/freadable.c (freadable) [QNX]: Likewise.
48101         * lib/freadahead.c (freadahead) [QNX]: Likewise.
48102         * lib/freading.c (freading) [QNX]: Likewise.
48103         * lib/fseterr.c (fseterr) [QNX]: Likewise.
48104         * lib/fwritable.c (fwritable) [QNX]: Likewise.
48105         * lib/fwriting.c (fwriting) [QNX]: Likewise.
48106         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
48107         Reported by Alain Magloire.
48108
48109         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
48110
48111 2007-11-05  Bruno Haible  <bruno@clisp.org>
48112
48113         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
48114         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
48115         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
48116         Reported by Eric Blake.
48117
48118 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48119             Bruno Haible  <bruno@clisp.org>
48120
48121         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
48122         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
48123         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
48124         (malloc): Undefine also before including <stdlib.h>.
48125         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
48126         Needed on OSF/1 4.0.
48127
48128 2007-11-05  Jim Meyering  <meyering@redhat.com>
48129
48130         git-version-gen: sync from coreutils.
48131         * build-aux/git-version-gen: Add comments.
48132         Change the first '-' to '.' in the snapshot version string,
48133         e.g., 6.9-377-08144 -> 6.9.377-08144
48134         Remove first parameter.
48135         Don't declare a version "-dirty" merely because a time
48136         stamp has changed.
48137
48138 2007-11-04  Bruno Haible  <bruno@clisp.org>
48139
48140         * lib/lock.h: Protect all macro definitions containing an 'if'
48141         statement through a "do { ... } while (0)".
48142         * lib/tls.h: Likewise.
48143
48144 2007-11-04  Bruno Haible  <bruno@clisp.org>
48145
48146         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
48147
48148 2007-11-04  Bruno Haible  <bruno@clisp.org>
48149
48150         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
48151         * modules/fprintf-posix (Depends-on): Add nocrash.
48152         * modules/snprintf-posix (Depends-on): Likewise.
48153         * modules/sprintf-posix (Depends-on): Likewise.
48154         * modules/vasnprintf-posix (Depends-on): Likewise.
48155         * modules/vasprintf-posix (Depends-on): Likewise.
48156         * modules/vfprintf-posix (Depends-on): Likewise.
48157         * modules/vsnprintf-posix (Depends-on): Likewise.
48158         * modules/vsprintf-posix (Depends-on): Likewise.
48159         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
48160         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
48161         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
48162         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
48163         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
48164         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
48165         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
48166
48167 2007-11-04  Bruno Haible  <bruno@clisp.org>
48168
48169         * modules/nocrash: New file.
48170         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
48171         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
48172
48173 2007-11-04  Bruno Haible  <bruno@clisp.org>
48174
48175         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
48176         precision handling.
48177         * tests/test-vasprintf-posix.c (test_function): Likewise.
48178         * tests/test-snprintf-posix.h (test_function): Likewise.
48179         * tests/test-sprintf-posix.h (test_function): Likewise.
48180
48181         Fix *printf behaviour for large precisions on mingw and BeOS.
48182         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
48183         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
48184         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
48185         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
48186         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
48187         gl_PRINTF_PRECISION and test its result. Invoke
48188         gl_PREREQ_VASNPRINTF_PRECISION.
48189         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
48190         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
48191         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
48192         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
48193         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
48194         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
48195         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
48196         * doc/functions/fprintf.texi: Update.
48197         * doc/functions/printf.texi: Update.
48198         * doc/functions/snprintf.texi: Update.
48199         * doc/functions/sprintf.texi: Update.
48200         * doc/functions/vfprintf.texi: Update.
48201         * doc/functions/vprintf.texi: Update.
48202         * doc/functions/vsnprintf.texi: Update.
48203         * doc/functions/vsprintf.texi: Update.
48204
48205 2007-11-04  Bruno Haible  <bruno@clisp.org>
48206
48207         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
48208
48209 2007-11-04  Bruno Haible  <bruno@clisp.org>
48210
48211         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
48212         Reported by Sylvain Beucler <beuc@gnu.org>.
48213
48214 2007-11-03  Bruno Haible  <bruno@clisp.org>
48215
48216         * tests/test-fprintf-posix2.sh: New file.
48217         * tests/test-fprintf-posix2.c: New file.
48218         * modules/fprintf-posix-tests (Files): Add them.
48219         (TESTS): Add test-fprintf-posix2.sh.
48220         (configure.ac): Check for getrlimit and setrlimit.
48221         (check_PROGRAMS): Add test-fprintf-posix2.
48222
48223         * tests/test-printf-posix2.sh: New file.
48224         * tests/test-printf-posix2.c: New file.
48225         * modules/printf-posix-tests (Files): Add them.
48226         (TESTS): Add test-printf-posix2.sh.
48227         (configure.ac): Check for getrlimit and setrlimit.
48228         (check_PROGRAMS): Add test-printf-posix2.
48229
48230         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
48231         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
48232         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
48233         (decode_double): New function, copied from decode_long_double.
48234         (scale10_round_decimal_decoded): New function, extracted from
48235         scale10_round_decimal_long_double.
48236         (scale10_round_decimal_long_double): Use it.
48237         (scale10_round_decimal_double): New function.
48238         (floorlog10): New function.
48239         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
48240         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
48241         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
48242         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
48243         gl_PRINTF_ENOMEM and test its result. Invoke
48244         gl_PREREQ_VASNPRINTF_ENOMEM.
48245         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
48246         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
48247         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
48248         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
48249         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
48250         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
48251         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
48252         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
48253         * modules/snprintf-posix (Depends-on): Likewise.
48254         * modules/sprintf-posix (Depends-on): Likewise.
48255         * modules/vasnprintf-posix (Depends-on): Likewise.
48256         * modules/vasprintf-posix (Depends-on): Likewise.
48257         * modules/vfprintf-posix (Depends-on): Likewise.
48258         * modules/vsnprintf-posix (Depends-on): Likewise.
48259         * modules/vsprintf-posix (Depends-on): Likewise.
48260         * doc/functions/fprintf.texi: Update.
48261         * doc/functions/printf.texi: Update.
48262         * doc/functions/snprintf.texi: Update.
48263         * doc/functions/sprintf.texi: Update.
48264         * doc/functions/vfprintf.texi: Update.
48265         * doc/functions/vprintf.texi: Update.
48266         * doc/functions/vsnprintf.texi: Update.
48267         * doc/functions/vsprintf.texi: Update.
48268
48269 2007-11-03  Bruno Haible  <bruno@clisp.org>
48270
48271         * modules/frexp-nolibm-tests: New file.
48272
48273         * modules/frexp-nolibm: New file.
48274         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
48275
48276 2007-11-03  Bruno Haible  <bruno@clisp.org>
48277
48278         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
48279         value is C99 compliant.
48280         Needed for OSF/1 5.1.
48281
48282 2007-11-03  Bruno Haible  <bruno@clisp.org>
48283
48284         Fix out-of-memory handling of vasnprintf.
48285         * lib/printf-parse.c: Include <errno.h>.
48286         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
48287         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
48288         is already set.
48289
48290 2007-11-02  Eric Blake  <ebb9@byu.net>
48291
48292         Fix tests on cygwin.
48293         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
48294
48295 2007-11-01  Bruno Haible  <bruno@clisp.org>
48296
48297         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
48298         warning.
48299         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
48300         needed for POSIX compatibility.
48301
48302 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
48303
48304         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
48305         for compatibility with GNU.
48306
48307 2007-11-01  Bruno Haible  <bruno@clisp.org>
48308
48309         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
48310         (putenv): Renamed from rpl_putenv. Change argument type from
48311         'const char *' to 'char *'.
48312         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
48313         of defining putenv in config.h, just set REPLACE_PUTENV.
48314         * modules/putenv (Depends-on): Add stdlib.
48315         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
48316         (Include): Use <stdlib.h>.
48317         * lib/stdlib.in.h (putenv): New declaration.
48318         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
48319         REPLACE_PUTENV.
48320         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
48321         REPLACE_PUTENV.
48322         Needed for MacOS X 10.5.0.
48323         Reported by Peter O'Gorman <peter@pogma.com>.
48324
48325 2007-11-01  Jim Meyering  <meyering@redhat.com>
48326
48327         Treat an empty date string exactly like "0".
48328         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
48329         if the remaining date string (to be parsed) is empty, use "0".
48330         Reported by Mischa Molhoek and discussed in this thread:
48331         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
48332
48333 2007-10-31  Bruno Haible  <bruno@clisp.org>
48334
48335         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
48336         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
48337         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
48338         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
48339         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
48340         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
48341
48342 2007-10-31  Bruno Haible  <bruno@clisp.org>
48343
48344         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
48345         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
48346         (AC_TYPE_LONG_LONG_INT): Use it.
48347         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
48348         it as well.
48349         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
48350         to m4/longlong.m4.
48351         * modules/stdint (Files): Remove m4/ulonglong.m4.
48352         * modules/strtoull (Files): Use m4/longlong.m4 instead of
48353         m4/ulonglong.m4.
48354         * modules/strtoumax (Files): Likewise.
48355
48356 2007-10-30  Bruno Haible  <bruno@clisp.org>
48357
48358         * modules/xvasprintf-posix: New file.
48359         Suggested by Eric Blake.
48360
48361 2007-10-30  Bruno Haible  <bruno@clisp.org>
48362
48363         * modules/xprintf-posix-tests: New file.
48364         * tests/test-xprintf-posix.sh: New file.
48365         * tests/test-xprintf-posix.c: New file.
48366         * tests/test-xfprintf-posix.c: New file.
48367
48368         * modules/xprintf-posix: New file.
48369
48370 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48371
48372         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
48373         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
48374         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
48375
48376 2007-10-29  Bruno Haible  <bruno@clisp.org>
48377
48378         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
48379         contain the special marker '_cv_'.
48380         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
48381         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
48382         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
48383         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
48384         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
48385         Reported by Ralf Wildenhues.
48386
48387 2007-10-29  Bruno Haible  <bruno@clisp.org>
48388
48389         * gnulib-tool (func_import): When --lgpl is not specified, set
48390         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
48391         GPLv3.
48392         Reported by Simon Josefsson.
48393
48394 2007-10-28  Bruno Haible  <bruno@clisp.org>
48395
48396         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
48397         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
48398         HAVE_DECL_ISFINITE.
48399         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
48400         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
48401         HAVE_DECL_ISFINITE.
48402
48403 2007-10-28  Bruno Haible  <bruno@clisp.org>
48404
48405         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
48406         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
48407
48408 2007-10-28  Bruno Haible  <bruno@clisp.org>
48409
48410         Fix link errors with Sun C 5.0 on Solaris 10.
48411         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
48412         function is declared but not present in the compiler's libm.
48413         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
48414         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
48415         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
48416         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
48417         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
48418         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
48419         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
48420         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
48421         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
48422         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
48423         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
48424         HAVE_DECL_FLOORL.
48425
48426 2007-10-28  Bruno Haible  <bruno@clisp.org>
48427
48428         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
48429         gl_FUNC_FLOORL. Cache the result.
48430         (gl_FUNC_FLOORL): Use it.
48431         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
48432         gl_FUNC_CEILL. Cache the result.
48433         (gl_FUNC_CEILL): Use it.
48434
48435         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
48436         gl_FUNC_FLOOR. Cache the result.
48437         (gl_FUNC_FLOOR): Use it.
48438         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
48439         gl_FUNC_CEIL. Cache the result.
48440         (gl_FUNC_CEIL): Use it.
48441
48442         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
48443         gl_FUNC_FLOORF. Cache the result.
48444         (gl_FUNC_FLOORF): Use it.
48445         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
48446         gl_FUNC_CEILF. Cache the result.
48447         (gl_FUNC_CEILF): Use it.
48448
48449 2007-10-28  Bruno Haible  <bruno@clisp.org>
48450
48451         * gnulib-tool: Allow specifying the LGPL version number through
48452         --lgpl=2 or --lgpl=3.
48453         (func_usage): Document --lgpl with argument.
48454         Handle --lgpl=... arguments.
48455         (func_import): Recognize also gl_LGPL calls with an argument. When
48456         --lgpl=2 is used and the module's license is just LGPL, report an
48457         error. Set sed_transform_lib_file according to the lgpl variable. In
48458         the generated files, use --lgpl or gl_LGPL invocations with argument,
48459         if necessary.
48460         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
48461         an LGPv2+ license.
48462         * doc/gnulib-tool.texi (Modified imports): Update explanation of
48463         gl_LGPL macro.
48464
48465 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48466             Bruno Haible  <bruno@clisp.org>
48467
48468         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
48469         (u16_uctomb_aux): Likewise.
48470         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
48471         !HAVE_INLINE.
48472         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
48473
48474 2007-10-28  Bruno Haible  <bruno@clisp.org>
48475
48476         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
48477         Invoke AM_GETTEXT_OPTION if it exists.
48478         * modules/vasprintf: Likewise.
48479         * modules/verror: Likewise.
48480         * modules/xprintf: Likewise.
48481         * modules/xvasprintf: Likewise.
48482
48483 2007-10-27  Ben Pfaff  <blp@gnu.org>
48484
48485         * lib/math.in.h: Define isfinite macro and prototypes for
48486         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
48487         implementations.
48488         * m4/math_h.m4: New substitutions for isfinite module.
48489         * lib/isfinite.c: New file.
48490         * m4/isfinite.m4: New file.
48491         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
48492         * modules/isfinite: New file.
48493         * modules/isfinite-tests: New file.
48494         * tests/tests-isfinite.c: New file.
48495         * doc/functions/isfinite.texi: Mention isfinite module.
48496         * MODULES.html.sh: Mention new module.
48497
48498 2007-10-27  Ben Pfaff  <blp@gnu.org>
48499
48500         Ralf Wildenhues reported that Tru64 4.0D declares the round
48501         functions but does not have definitions.
48502         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
48503         cannot be found in any library, set the output variable to
48504         "missing" instead of "".
48505         * m4/round.m4: Also use our substitute if we cannot find round in
48506         any library, even if it is declared.
48507         * m4/roundf.m4: Likewise for roundf.
48508         * m4/roundl.m4: Likewise for roundl.
48509         * lib/math.in.h: Undefine roundf, round, roundl before defining
48510         their replacements, to allow for hypothetical systems where these
48511         may be defined as macros but not available in libraries.
48512
48513 2007-10-27  Bruno Haible  <bruno@clisp.org>
48514
48515         * doc/gnulib.texi: Invoke @firstparagraphindent.
48516         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
48517         changes in gnulib.
48518         (Source changes): New section.
48519
48520 2007-10-26  Bruno Haible  <bruno@clisp.org>
48521
48522         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
48523         borrowed from autoconf.
48524
48525 2007-10-26  Bruno Haible  <bruno@clisp.org>
48526
48527         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
48528         strerror returned the empty string. Needed on HP-UX 11.00.
48529
48530 2007-10-24  Micah Cowan  <micah@cowan.name>
48531
48532         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
48533         * build-aux/bootstrap: Remove support for now-unnecessary option,
48534         --cvs-user, and envvars CVS_USER, CVS_RSH.
48535
48536 2007-10-24  Jim Meyering  <meyering@redhat.com>
48537
48538         Avoid diagnostics from sha1sum when there is no cached checksum.
48539         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
48540         if the po.s1 file hasn't been created yet.
48541
48542         * build-aux/bootstrap: Sync from coreutils:
48543         2007-10-24  Jim Meyering  <meyering@redhat.com>
48544         Get gnulib from the git repository, not from an obsolete cvs one.
48545         * build-aux/bootstrap: Suggestion from Micah Cowan.
48546         2007-10-04  Jim Meyering  <jim@meyering.net>
48547         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
48548         (update_po_files): Work also when there are no .po files in po/.
48549
48550 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
48551
48552         * README: Append ".git" to git and cg examples.
48553         Problem reported by Benoit Sigoure.
48554
48555 2007-10-23  Micah Cowan  <micah@cowan.name>
48556
48557         * users.txt: Add wget.
48558
48559 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48560
48561         Fix linking of some unistdio tests on FreeBSD.
48562         * modules/unistdio/u16-vsnprintf-tests
48563         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
48564         * modules/unistdio/u16-vsprintf-tests
48565         (test_u16_vsnprintf1_LDADD): Likewise.
48566         * modules/unistdio/u32-vsnprintf-tests
48567         (test_u32_vsnprintf1_LDADD): Likewise.
48568         * modules/unistdio/u32-vsprintf-tests
48569         (test_u32_vsprintf1_LDADD): Likewise.
48570         * modules/unistdio/u8-vsnprintf-tests
48571         (test_u8_vsnprintf1_LDADD): Likewise.
48572         * modules/unistdio/u8-vsprintf-tests
48573         (test_u8_vsprintf1_LDADD): Likewise.
48574         * modules/unistdio/ulc-vsnprintf-tests
48575         (test_ulc_vsnprintf1_LDADD): Likewise.
48576         * modules/unistdio/ulc-vsprintf-tests
48577         (test_ulc_vsprintf1_LDADD): Likewise.
48578
48579         Fix linking of some uniconv tests on FreeBSD.
48580         * modules/uniconv/u16-conv-from-enc-tests
48581         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
48582         * modules/uniconv/u16-conv-to-enc-tests
48583         (test_u16_conv_to_enc_LDADD): Likewise.
48584         * modules/uniconv/u16-strconv-from-enc-tests
48585         (test_u16_strconv_from_enc_LDADD): Likewise.
48586         * modules/uniconv/u16-strconv-to-enc-tests
48587         (test_u16_strconv_to_enc_LDADD): Likewise.
48588         * modules/uniconv/u32-conv-from-enc-tests
48589         (test_u32_conv_from_enc_LDADD): Likewise.
48590         * modules/uniconv/u32-conv-to-enc-tests
48591         (test_u32_conv_to_enc_LDADD): Likewise.
48592         * modules/uniconv/u32-strconv-from-enc-tests
48593         (test_u32_strconv_from_enc_LDADD): Likewise.
48594         * modules/uniconv/u32-strconv-to-enc-tests
48595         (test_u32_strconv_to_enc_LDADD): Likewise.
48596         * modules/uniconv/u8-conv-from-enc-tests
48597         (test_u8_conv_from_enc_LDADD): Likewise.
48598         * modules/uniconv/u8-conv-to-enc-tests
48599         (test_u8_conv_to_enc_LDADD): Likewise.
48600         * modules/uniconv/u8-strconv-from-enc-tests
48601         (test_u8_strconv_from_enc_LDADD): Likewise.
48602         * modules/uniconv/u8-strconv-to-enc-tests
48603         (test_u8_strconv_to_enc_LDADD): Likewise.
48604
48605 2007-10-22  Bruno Haible  <bruno@clisp.org>
48606
48607         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
48608         size.
48609
48610 2007-10-22  Eric Blake  <ebb9@byu.net>
48611
48612         Tweak x*printf documentation.
48613         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
48614         variable name and comments.
48615         Suggested by Bruno Haible.
48616
48617 2007-10-22  Bruno Haible  <bruno@clisp.org>
48618
48619         * lib/acl.c (copy_acl): Fix file name in comment.
48620
48621 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
48622
48623         Fix Tru64 problem with stdbool.h.
48624         * lib/stdbool.in.h (false, true):
48625         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
48626         Don't declare as an enum in this situation; it runs afoul of Tru64.
48627         Problem reported by Steven M. Schweda in
48628         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
48629
48630 2007-10-22  Eric Blake  <ebb9@byu.net>
48631
48632         Also wrap vf?printf.
48633         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
48634         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
48635         (xvprintf, xvfprintf): New functions.
48636
48637 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48638
48639         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
48640         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
48641
48642         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
48643         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
48644
48645 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
48646
48647         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
48648         by Bruno Haible.
48649
48650 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48651
48652         * lib/getloadavg.c
48653         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
48654         Undef `sys' after including sys/table.h, for Tru64 4.0D.
48655
48656         * tests/test-i-ring.c: Work for C89.
48657
48658 2007-10-22  Bruno Haible  <bruno@clisp.org>
48659
48660         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
48661         -1u, in preprocessor expression, so that we don't test for the bug
48662         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
48663         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
48664
48665 2007-10-22  Eric Blake  <ebb9@byu.net>
48666
48667         * tests/test-yesno.sh: Silence stderr during test.
48668
48669 2007-10-22  Simon Josefsson  <simon@josefsson.org>
48670
48671         * modules/crypto/gc-camellia: New file.
48672
48673         * m4/gc-camellia.m4: New file.
48674
48675         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
48676
48677         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
48678
48679 2007-10-22  Simon Josefsson  <simon@josefsson.org>
48680
48681         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
48682         --help to stdout.  Reported by sms@antinode.org (Steven
48683         M. Schweda).
48684
48685 2007-10-22  Simon Josefsson  <simon@josefsson.org>
48686
48687         * users.txt: Fix link to libksba.
48688
48689 2007-10-21  Ben Pfaff  <blp@gnu.org>
48690
48691         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
48692         round.c roundf implementation that depends on floorf and ceilf to
48693         be tested unconditionally.
48694
48695 2007-10-21  Ben Pfaff  <blp@gnu.org>
48696
48697         * m4/check-libm-func.m4: Removed.
48698         * m4/check-math-lib.m4: New file.
48699         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
48700         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
48701         definition and lack of AC_LIBOBJ([roundf]).
48702         * m4/roundl.m4: Ditto, and similarly for roundl.
48703         * modules/round: Reference new m4 file.
48704         * modules/roundf: Ditto.
48705         * modules/roundl: Ditto.
48706         * tests/test-round2.c (main): Use ROUND instead of round.
48707         Bug report from Bruno Haible.
48708
48709 2007-10-21  Bruno Haible  <bruno@clisp.org>
48710
48711         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
48712         context.
48713
48714 2007-10-21  Bruno Haible  <bruno@clisp.org>
48715
48716         * tests/test-wcwidth.c (main): Allow negative result for some control
48717         characters.
48718
48719         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
48720         Needed on OSF/1 5.1.
48721
48722 2007-10-21  Bruno Haible  <bruno@clisp.org>
48723
48724         * tests/test-floorf1.c: Include isnanf.h.
48725         (main): Use isnanf() instead of isnan().
48726         * tests/test-ceilf1.c: Include isnanf.h.
48727         (main): Use isnanf() instead of isnan().
48728         * tests/test-truncf1.c: Include isnanf.h.
48729         (main): Use isnanf() instead of isnan().
48730         * tests/test-roundf1.c: Include isnanf.h.
48731         (main): Use isnanf() instead of isnan().
48732
48733 2007-10-21  Eric Blake  <ebb9@byu.net>
48734
48735         * users.txt: Update URL for m4.
48736
48737 2007-10-21  Bruno Haible  <bruno@clisp.org>
48738
48739         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
48740
48741 2007-10-21  Bruno Haible  <bruno@clisp.org>
48742
48743         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
48744         Git's management files if the CVS files are not present.
48745
48746 2007-10-20  Bruno Haible  <bruno@clisp.org>
48747
48748         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
48749         gcc-3.4.x.
48750
48751 2007-10-20  Ben Pfaff  <blp@gnu.org>
48752
48753         * lib/math.in.h: Declare round, roundf, roundl if we are providing
48754         implementations.
48755         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
48756         * lib/round.c: New file.
48757         * lib/roundf.c: New file.
48758         * lib/roundl.c: New file.
48759         * m4/round.m4: New file.
48760         * m4/roundf.m4: New file.
48761         * m4/roundl.m4: New file.
48762         * m4/check-libm-func-m4: New file.
48763         * modules/math: Replace round, roundf, roundl related @VARS@ in
48764         math.in.h.
48765         * modules/round: New file.
48766         * modules/round-tests: New file.
48767         * modules/roundf: New file.
48768         * modules/roundf-tests: New file.
48769         * modules/roundl: New file.
48770         * modules/roundl-tests: New file.
48771         * tests/test-round1.c: New file.
48772         * tests/test-round2.c: New file.
48773         * tests/test-roundf1.c: New file.
48774         * tests/test-roundf2.c: New file.
48775         * tests/test-roundl.c: New file.
48776         * doc/functions/round.texi: Mention round module.
48777         * doc/functions/roundf.texi: Mention roundf module.
48778         * doc/functions/roundl.texi: Mention roundl module.
48779         * MODULES.html.sh: Mention new modules.
48780         Thanks to Bruno Haible for suggestions.
48781
48782 2007-10-20  Jim Meyering  <meyering@redhat.com>
48783
48784         * lib/xprintf.c: Include <config.h> unconditionally.
48785
48786         Change xprintf's license to GPL.
48787         * modules/xprintf (License): s/LGPL/GPL/, since this module
48788         depends on modules (exit and exitfail) which are GPL.
48789         Suggestion from Bruno Haible.
48790
48791         xprintf fixes.
48792         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
48793         Use a clearer diagnostic.
48794         Patch from Bruno Haible.
48795
48796 2007-10-20  Bruno Haible  <bruno@clisp.org>
48797
48798         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
48799         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
48800         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
48801
48802 2007-10-20  Bruno Haible  <bruno@clisp.org>
48803
48804         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
48805         precision in the comparison result > x - 1 or similar.
48806         * tests/test-ceilf2.c (correct_result_p): Likewise.
48807         * tests/test-truncf2.c (correct_result_p): Likewise.
48808         * tests/test-trunc2.c (correct_result_p): Likewise.
48809         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
48810
48811 2007-10-20  Bruno Haible  <bruno@clisp.org>
48812
48813         * modules/ceil: New file.
48814         * m4/ceil.m4: New file.
48815         * doc/functions/ceil.texi: Mention the 'ceil' module.
48816
48817 2007-10-20  Bruno Haible  <bruno@clisp.org>
48818
48819         * modules/floor: New file.
48820         * m4/floor.m4: New file.
48821         * doc/functions/floor.texi: Mention the 'floor' module.
48822
48823 2007-10-20  Bruno Haible  <bruno@clisp.org>
48824
48825         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
48826         of %a.
48827         * modules/floorf-tests (Depends-on): Likewise.
48828         * modules/truncf-tests (Depends-on): Likewise.
48829         * modules/trunc-tests (Depends-on): Likewise.
48830         Reported by Ben Pfaff.
48831
48832 2007-10-19  Jim Meyering  <meyering@redhat.com>
48833
48834         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
48835         Don't bother testing specific errno values.  Just test ferror.
48836
48837         New module: xprintf
48838         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
48839
48840 2007-10-19  Bruno Haible  <bruno@clisp.org>
48841
48842         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
48843         syntax.
48844         * modules/javaexec (Makefile.am): Likewise.
48845         * modules/relocatable-prog (Makefile.am): Likewise.
48846         Suggested by Jim Meyering.
48847
48848 2007-10-18  Bruno Haible  <bruno@clisp.org>
48849
48850         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
48851         Reported by Jim Meyering.
48852
48853 2007-10-18  Eric Blake  <ebb9@byu.net>
48854
48855         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
48856
48857 2007-10-18  Bruno Haible  <bruno@clisp.org>
48858
48859         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
48860         the format string into writable memory. Needed in Fortify conditions.
48861
48862 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
48863             Bruno Haible  <bruno@clisp.org>
48864
48865         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
48866         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
48867         * modules/trim (Depends-on): Add mbchar.
48868         (configure.ac): Add gl_FUNC_MBRTOWC.
48869         (Makefile.am): Augment lib_SOURCES.
48870
48871 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
48872
48873         Modify glob.c to use fstatat and dirfd, to simplify it.
48874         Suggested by Eric Blake.
48875         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
48876         Don't include <stdbool.h>; not used.
48877         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
48878         (link_exists_p): Simplify implementation, since we can now assume
48879         dirfd and fstatat.
48880         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
48881
48882 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48883
48884         * gnulib-tool (func_get_dependencies): Fix sed script to
48885         match only tests.
48886
48887 2007-10-17  Bruno Haible  <bruno@clisp.org>
48888
48889         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
48890         allow locale names without encoding suffix.
48891         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
48892         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
48893
48894 2007-10-16  Bruno Haible  <bruno@clisp.org>
48895
48896         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
48897         * lib/getgroups.c (getgroups): Likewise.
48898         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
48899
48900 2007-10-16  Bruno Haible  <bruno@clisp.org>
48901
48902         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
48903         * modules/malloc-posix (License): Likewise.
48904         * modules/realloc-posix (License): Likewise.
48905         * modules/calloc-posix (License): Likewise.
48906         * modules/intprops (License): Change from GPL to LGPL, with
48907         Paul Eggert's approval.
48908
48909 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
48910
48911         Merge glibc changes into lib/glob.c.
48912
48913         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
48914         2007-10-15 04:59:03 UTC.  Here are the changes:
48915
48916         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
48917
48918         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
48919
48920         * lib/glob.c: Add some branch prediction throughout.
48921
48922         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
48923
48924         [BZ #5103]
48925         * lib/glob.c (glob): Recognize patterns starting \/.
48926
48927         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
48928
48929         [BZ #3996]
48930         * lib/glob.c (attribute_hidden): Define if not defined.
48931         (glob): Unescape dirname, filename or username when needed and not
48932         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
48933         is NULL.  Handle unescaped [ in pattern without closing ].
48934         Don't pass GLOB_CHECK down to recursive glob for directories.
48935         (__glob_pattern_type): New function.
48936         (__glob_pattern_p): Implement using __glob_pattern_type.
48937         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
48938         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
48939         Remove unreachable code.
48940
48941         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
48942
48943         * lib/glob.c (glob_in_dir): Add some comments and asserts to
48944         explain why there are no leaks.
48945
48946         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
48947
48948         [BZ #3253]
48949         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
48950         time, rather allocate increasingly bigger arrays of pointers, if
48951         possible with alloca, if too large with malloc.
48952
48953 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
48954
48955         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
48956         Problem reported by H.Merijn Brand in
48957         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
48958         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
48959         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
48960
48961 2007-10-15  Bruno Haible  <bruno@clisp.org>
48962
48963         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
48964         with explicit rpl_ prefix.
48965         * lib/fopen.c (fopen): Likewise.
48966         * lib/freopen.c (freopen): Likewise.
48967         * lib/iconv.c (iconv): Likewise.
48968         * lib/iconv_close.c (iconv_close): Likewise.
48969
48970 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48971
48972         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
48973
48974 2007-10-15  Bruno Haible  <bruno@clisp.org>
48975
48976         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
48977         <stddef.h> instead of <stdlib.h> since we only need NULL.
48978         Reported by Ben Pfaff <blp@cs.stanford.edu>.
48979
48980 2007-10-15  Bruno Haible  <bruno@clisp.org>
48981
48982         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
48983         Replace paragraph talking about LIBOBJS.
48984         Reported by Colin Watson <cjwatson@debian.org>.
48985
48986 2007-10-15  Bruno Haible  <bruno@clisp.org>
48987
48988         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
48989         <stdlib.h> before using NULL.
48990
48991 2007-10-15  Simon Josefsson  <simon@josefsson.org>
48992
48993         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
48994         Reported by Albert Chin <china@thewrittenword.com>.
48995
48996 2007-10-14  Bruno Haible  <bruno@clisp.org>
48997
48998         * modules/iconv_open-utf-tests: New file.
48999         * tests/test-iconv-utf.c: New file.
49000
49001         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
49002         * modules/iconv_open-utf: New file.
49003         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
49004         (iconv, iconv_close): New declarations.
49005         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
49006         be defined.
49007         (iconv_open): Add special handling of conversion between UTF-8 and
49008         UTF-{16,32}{BE,LE}.
49009         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
49010         * lib/iconv_close.c: New file.
49011         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
49012         gl_FUNC_ICONV_OPEN.
49013         (gl_FUNC_ICONV_OPEN): Use it.
49014         (gl_FUNC_ICONV_OPEN_UTF): New macro.
49015         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
49016         and REPLACE_ICONV_UTF.
49017         * modules/iconv_open (Depends-on): Add c-strcase.
49018         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
49019         ICONV_CONST.
49020         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
49021
49022 2007-10-13  Albert Chin  <china@thewrittenword.com>
49023             Bruno Haible  <bruno@clisp.org>
49024
49025         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
49026         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
49027
49028 2007-10-13  Bruno Haible  <bruno@clisp.org>
49029
49030         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
49031         defined, use the ISO C99 inline semantics.
49032         * lib/argp.h (ARGP_EI): Likewise.
49033
49034 2007-10-13  Bruno Haible  <bruno@clisp.org>
49035
49036         Handle 'inline' change in gcc 4.3.0.
49037         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
49038         argp_fmtstream_write, argp_fmtstream_set_lmargin,
49039         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
49040         argp_fmtstream_point): Disable 'extern' declaration if the function
49041         definition is going to be provided inline.
49042         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
49043         semantics, not the ISO C99 inline semantics.
49044         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
49045         'extern' declaration if the function definition is going to be provided
49046         inline.
49047         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
49048         the GNU C inline semantics, not the ISO C99 inline semantics. With
49049         GCC 4.2, avoid a warning.
49050
49051 2007-10-13  Bruno Haible  <bruno@clisp.org>
49052
49053         * lib/freading.h (freading): Enable the use of __freading for
49054         glibc >= 2.7.
49055         * lib/freading.c (freading): Likewise.
49056
49057 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
49058
49059         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
49060         "warning: C99 inline functions are not supported; using GNU89".
49061
49062 2007-10-12  Bruno Haible  <bruno@clisp.org>
49063
49064         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
49065         of 2.
49066         * tests/test-ceilf2.c: New file.
49067         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
49068
49069         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
49070         * modules/ceilf-tests: Update.
49071
49072 2007-10-12  Bruno Haible  <bruno@clisp.org>
49073
49074         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
49075         of 2.
49076         * tests/test-floorf2.c: New file.
49077         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
49078
49079         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
49080         * modules/floorf-tests: Update.
49081
49082 2007-10-12  Bruno Haible  <bruno@clisp.org>
49083
49084         * tests/test-trunc2.c: New file.
49085         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
49086
49087         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
49088         * modules/trunc-tests: Update.
49089
49090 2007-10-12  Bruno Haible  <bruno@clisp.org>
49091
49092         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
49093         of 2.
49094         * tests/test-truncf2.c: New file.
49095         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
49096
49097         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
49098         * modules/truncf-tests: Update.
49099
49100 2007-10-11  Eric Blake  <ebb9@byu.net>
49101
49102         Don't claim strerror is broken on Interix.
49103         * doc/functions/strerror.texi (strerror): Known broken systems are
49104         now Solaris 8, and not Interix.
49105         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
49106         Interix on cross-compile.
49107         Reported by Martin Koeppe in
49108         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
49109
49110 2007-10-11  Bruno Haible  <bruno@clisp.org>
49111
49112         * modules/i-ring-tests: New file.
49113         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
49114         instead of assert.
49115
49116 2007-10-11  Bruno Haible  <bruno@clisp.org>
49117
49118         * modules/filenamecat-tests: New file.
49119         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
49120         * lib/filenamecat.c: Remove test code.
49121
49122 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
49123
49124         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
49125
49126         * lib/strerror.c: Include <string.h> always, to test interface,
49127         and to remove the need for the dummy.
49128         Include intprops.h to compute width instead of doing it ourselves
49129         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
49130         (strerror): Define it to return NULL if there's no system strerror.
49131         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
49132         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
49133         ancient pre-strerror Unix systems well any more.  Saying "unknown
49134         system error" is enough.
49135         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
49136         simpler strerror.c implementation.
49137         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
49138         Simplify the tests to reflect the simpler strerror implementation.
49139         * modules/strerror (Depends-on): Add intprops.
49140
49141 2007-10-09  Eric Blake  <ebb9@byu.net>
49142
49143         Silence test-fpending.
49144         * modules/fpending-tests (Files): Add wrapper script.
49145         * tests/test-fpending.sh: New file.
49146
49147 2007-10-09  Bruno Haible  <bruno@clisp.org>
49148
49149         * MODULES.html.sh (func_module): Don't create a hyperlink for
49150         function names like 'printf_frexp'.
49151         (Misc): Add crc, memxor.
49152         (Characteristics of floating types): New section.
49153         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
49154         isnanf-nolibm, signbit, trunc, truncf, truncl.
49155         (Enhancements for ISO C 99 functions): New subsection Input/output.
49156         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
49157         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
49158         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
49159         (Compatibility checks for POSIX:2001 functions): Add clock-time.
49160         (Enhancements for POSIX:2001 functions): Add chdir-long.
49161         (File system functions): Add areadlink, chdir-safer, read-file.
49162         Remove cycle-check.
49163         (File system as inode set): New section.
49164         (Date and time): Add gethrxtime.
49165         (Multithreading): Add openmp.
49166         (Internationalization functions): Add localename.
49167         (Unicode string functions): Add unistr/u*-mbsnlen.
49168         (Support for maintaining and releasing projects): Add git-version-gen.
49169         (Lone files): Remove directories.
49170
49171 2007-10-08  Ben Pfaff  <blp@gnu.org>
49172
49173         * lib/xmalloca.h: Fix typo in comment.
49174
49175 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
49176
49177         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
49178         when avoiding problems with integer overflow.  Use a portable test
49179         instead.
49180
49181 2007-10-08  Simon Josefsson  <simon@josefsson.org>
49182
49183         * modules/dummy (License): Change to LGPLv2+.
49184         * modules/float (License): Likewise
49185         * modules/realloc (License): Likewise
49186         * modules/stdlib (License): Likewise
49187
49188 2007-10-07  Bruno Haible  <bruno@clisp.org>
49189
49190         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
49191         * floor.c (TWO_MANT_DIG): Likewise.
49192         * ceil.c (TWO_MANT_DIG): Likewise.
49193         Reported by Ben Pfaff.
49194
49195 2007-10-07  Bruno Haible  <bruno@clisp.org>
49196
49197         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
49198         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
49199         * lib/frexp.c (FUNC): Likewise.
49200         * lib/printf-frexp.h (printf_frexp): Likewise.
49201         * lib/printf-frexpl.h (printf_frexpl): Likewise.
49202         * lib/printf-frexp.c (FUNC): Likewise.
49203         Suggested by Jim Meyering.
49204
49205 2007-10-07  Jim Meyering  <meyering@redhat.com>
49206
49207         Make xnanosleep's integer overflow test more robust.
49208         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
49209         so that gcc-4.3.0 doesn't optimize away this test for overflow.
49210
49211 2007-10-07  Bruno Haible  <bruno@clisp.org>
49212
49213         * NEWS: Mention the license change.
49214
49215         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
49216         abbreviations in the modules files.
49217
49218         Change copyright notice from GPLv2+ to GPLv3+.
49219         * README: Change copyright notice.
49220         * MODULES.html.sh: Likewise.
49221         * build-aux/bootstrap.conf: Likewise.
49222         * build-aux/config.libpath: Likewise.
49223         * build-aux/csharpcomp.sh.in: Likewise.
49224         * build-aux/csharpexec.sh.in: Likewise.
49225         * build-aux/install-reloc: Likewise.
49226         * build-aux/javacomp.sh.in: Likewise.
49227         * build-aux/javaexec.sh.in: Likewise.
49228         * build-aux/ldd.sh.in: Likewise.
49229         * build-aux/reloc-ldflags: Likewise.
49230         * build-aux/relocatable.sh.in: Likewise.
49231         * build-aux/x-to-1.in: Likewise.
49232         * check-module: Likewise.
49233         * config/srclistvars.sh: Likewise.
49234         * gnulib-tool: Likewise.
49235         * lib/acl-internal.h: Likewise.
49236         * lib/acl.c: Likewise.
49237         * lib/acl.h: Likewise.
49238         * lib/acl_entries.c: Likewise.
49239         * lib/areadlink-with-size.c: Likewise.
49240         * lib/areadlink.c: Likewise.
49241         * lib/areadlink.h: Likewise.
49242         * lib/argmatch.c: Likewise.
49243         * lib/argmatch.h: Likewise.
49244         * lib/argp-ba.c: Likewise.
49245         * lib/argp-eexst.c: Likewise.
49246         * lib/argp-fmtstream.c: Likewise.
49247         * lib/argp-fmtstream.h: Likewise.
49248         * lib/argp-fs-xinl.c: Likewise.
49249         * lib/argp-help.c: Likewise.
49250         * lib/argp-namefrob.h: Likewise.
49251         * lib/argp-parse.c: Likewise.
49252         * lib/argp-pin.c: Likewise.
49253         * lib/argp-pv.c: Likewise.
49254         * lib/argp-pvh.c: Likewise.
49255         * lib/argp-xinl.c: Likewise.
49256         * lib/argp.h: Likewise.
49257         * lib/at-func.c: Likewise.
49258         * lib/atanl.c: Likewise.
49259         * lib/backupfile.c: Likewise.
49260         * lib/backupfile.h: Likewise.
49261         * lib/basename.c: Likewise.
49262         * lib/binary-io.h: Likewise.
49263         * lib/byteswap.in.h: Likewise.
49264         * lib/c-stack.c: Likewise.
49265         * lib/c-stack.h: Likewise.
49266         * lib/c-strcasestr.c: Likewise.
49267         * lib/c-strcasestr.h: Likewise.
49268         * lib/c-strstr.c: Likewise.
49269         * lib/c-strstr.h: Likewise.
49270         * lib/c-strtod.c: Likewise.
49271         * lib/calloc.c: Likewise.
49272         * lib/canon-host.c: Likewise.
49273         * lib/canon-host.h: Likewise.
49274         * lib/canonicalize-lgpl.c: Likewise.
49275         * lib/canonicalize.c: Likewise.
49276         * lib/canonicalize.h: Likewise.
49277         * lib/ceil.c: Likewise.
49278         * lib/ceilf.c: Likewise.
49279         * lib/ceill.c: Likewise.
49280         * lib/chdir-long.c: Likewise.
49281         * lib/chdir-long.h: Likewise.
49282         * lib/chdir-safer.c: Likewise.
49283         * lib/chdir-safer.h: Likewise.
49284         * lib/chown.c: Likewise.
49285         * lib/classpath.c: Likewise.
49286         * lib/classpath.h: Likewise.
49287         * lib/clean-temp.c: Likewise.
49288         * lib/clean-temp.h: Likewise.
49289         * lib/cloexec.c: Likewise.
49290         * lib/close-stream.c: Likewise.
49291         * lib/closein.c: Likewise.
49292         * lib/closein.h: Likewise.
49293         * lib/closeout.c: Likewise.
49294         * lib/closeout.h: Likewise.
49295         * lib/concat-filename.c: Likewise.
49296         * lib/copy-file.c: Likewise.
49297         * lib/copy-file.h: Likewise.
49298         * lib/count-one-bits.h: Likewise.
49299         * lib/crc.c: Likewise.
49300         * lib/crc.h: Likewise.
49301         * lib/creat-safer.c: Likewise.
49302         * lib/csharpcomp.c: Likewise.
49303         * lib/csharpcomp.h: Likewise.
49304         * lib/csharpexec.c: Likewise.
49305         * lib/csharpexec.h: Likewise.
49306         * lib/cycle-check.c: Likewise.
49307         * lib/cycle-check.h: Likewise.
49308         * lib/diacrit.c: Likewise.
49309         * lib/diacrit.h: Likewise.
49310         * lib/diffseq.h: Likewise.
49311         * lib/dirchownmod.c: Likewise.
49312         * lib/dirent.in.h: Likewise.
49313         * lib/dirfd.c: Likewise.
49314         * lib/dirfd.h: Likewise.
49315         * lib/dirname.c: Likewise.
49316         * lib/dirname.h: Likewise.
49317         * lib/dummy.c: Likewise.
49318         * lib/dup-safer.c: Likewise.
49319         * lib/dup2.c: Likewise.
49320         * lib/eealloc.h: Likewise.
49321         * lib/error.c: Likewise.
49322         * lib/error.h: Likewise.
49323         * lib/euidaccess.c: Likewise.
49324         * lib/exclude.c: Likewise.
49325         * lib/exclude.h: Likewise.
49326         * lib/execute.c: Likewise.
49327         * lib/execute.h: Likewise.
49328         * lib/exitfail.c: Likewise.
49329         * lib/exitfail.h: Likewise.
49330         * lib/expl.c: Likewise.
49331         * lib/fatal-signal.c: Likewise.
49332         * lib/fatal-signal.h: Likewise.
49333         * lib/fbufmode.c: Likewise.
49334         * lib/fbufmode.h: Likewise.
49335         * lib/fchdir.c: Likewise.
49336         * lib/fchmodat.c: Likewise.
49337         * lib/fchownat.c: Likewise.
49338         * lib/fcntl--.h: Likewise.
49339         * lib/fcntl-safer.h: Likewise.
49340         * lib/fcntl.in.h: Likewise.
49341         * lib/fd-safer.c: Likewise.
49342         * lib/fflush.c: Likewise.
49343         * lib/file-has-acl.c: Likewise.
49344         * lib/file-set.c: Likewise.
49345         * lib/file-type.c: Likewise.
49346         * lib/file-type.h: Likewise.
49347         * lib/fileblocks.c: Likewise.
49348         * lib/filemode.c: Likewise.
49349         * lib/filemode.h: Likewise.
49350         * lib/filename.h: Likewise.
49351         * lib/filenamecat.c: Likewise.
49352         * lib/filenamecat.h: Likewise.
49353         * lib/findprog.c: Likewise.
49354         * lib/findprog.h: Likewise.
49355         * lib/float.in.h: Likewise.
49356         * lib/floor.c: Likewise.
49357         * lib/floorf.c: Likewise.
49358         * lib/floorl.c: Likewise.
49359         * lib/fopen-safer.c: Likewise.
49360         * lib/fopen.c: Likewise.
49361         * lib/fpending.c: Likewise.
49362         * lib/fpending.h: Likewise.
49363         * lib/fprintf.c: Likewise.
49364         * lib/fprintftime.h: Likewise.
49365         * lib/fpucw.h: Likewise.
49366         * lib/fpurge.c: Likewise.
49367         * lib/fpurge.h: Likewise.
49368         * lib/freadable.c: Likewise.
49369         * lib/freadable.h: Likewise.
49370         * lib/freadahead.c: Likewise.
49371         * lib/freadahead.h: Likewise.
49372         * lib/freading.c: Likewise.
49373         * lib/freading.h: Likewise.
49374         * lib/free.c: Likewise.
49375         * lib/freopen.c: Likewise.
49376         * lib/frexp.c: Likewise.
49377         * lib/frexpl.c: Likewise.
49378         * lib/fseek.c: Likewise.
49379         * lib/fseterr.c: Likewise.
49380         * lib/fseterr.h: Likewise.
49381         * lib/fstatat.c: Likewise.
49382         * lib/fstrcmp.c: Likewise.
49383         * lib/fstrcmp.h: Likewise.
49384         * lib/fsusage.c: Likewise.
49385         * lib/fsusage.h: Likewise.
49386         * lib/ftell.c: Likewise.
49387         * lib/ftello.c: Likewise.
49388         * lib/fts-cycle.c: Likewise.
49389         * lib/fts.c: Likewise.
49390         * lib/fts_.h: Likewise.
49391         * lib/full-read.c: Likewise.
49392         * lib/full-read.h: Likewise.
49393         * lib/full-write.c: Likewise.
49394         * lib/full-write.h: Likewise.
49395         * lib/fwritable.c: Likewise.
49396         * lib/fwritable.h: Likewise.
49397         * lib/fwriteerror.c: Likewise.
49398         * lib/fwriteerror.h: Likewise.
49399         * lib/fwriting.c: Likewise.
49400         * lib/fwriting.h: Likewise.
49401         * lib/gcd.c: Likewise.
49402         * lib/gcd.h: Likewise.
49403         * lib/getcwd.c: Likewise.
49404         * lib/getdate.h: Likewise.
49405         * lib/getdate.y: Likewise.
49406         * lib/getdomainname.c: Likewise.
49407         * lib/getdomainname.h: Likewise.
49408         * lib/getgroups.c: Likewise.
49409         * lib/gethostname.c: Likewise.
49410         * lib/gethrxtime.c: Likewise.
49411         * lib/gethrxtime.h: Likewise.
49412         * lib/getloadavg.c: Likewise.
49413         * lib/getndelim2.c: Likewise.
49414         * lib/getndelim2.h: Likewise.
49415         * lib/getnline.c: Likewise.
49416         * lib/getnline.h: Likewise.
49417         * lib/getopt.c: Likewise.
49418         * lib/getopt.in.h: Likewise.
49419         * lib/getopt1.c: Likewise.
49420         * lib/getopt_int.h: Likewise.
49421         * lib/getpagesize.h: Likewise.
49422         * lib/getsubopt.c: Likewise.
49423         * lib/gettime.c: Likewise.
49424         * lib/getugroups.c: Likewise.
49425         * lib/getugroups.h: Likewise.
49426         * lib/getusershell.c: Likewise.
49427         * lib/gl_anyavltree_list1.h: Likewise.
49428         * lib/gl_anyavltree_list2.h: Likewise.
49429         * lib/gl_anyhash_list1.h: Likewise.
49430         * lib/gl_anyhash_list2.h: Likewise.
49431         * lib/gl_anylinked_list1.h: Likewise.
49432         * lib/gl_anylinked_list2.h: Likewise.
49433         * lib/gl_anyrbtree_list1.h: Likewise.
49434         * lib/gl_anyrbtree_list2.h: Likewise.
49435         * lib/gl_anytree_list1.h: Likewise.
49436         * lib/gl_anytree_list2.h: Likewise.
49437         * lib/gl_anytree_oset.h: Likewise.
49438         * lib/gl_anytreehash_list1.h: Likewise.
49439         * lib/gl_anytreehash_list2.h: Likewise.
49440         * lib/gl_array_list.c: Likewise.
49441         * lib/gl_array_list.h: Likewise.
49442         * lib/gl_array_oset.c: Likewise.
49443         * lib/gl_array_oset.h: Likewise.
49444         * lib/gl_avltree_list.c: Likewise.
49445         * lib/gl_avltree_list.h: Likewise.
49446         * lib/gl_avltree_oset.c: Likewise.
49447         * lib/gl_avltree_oset.h: Likewise.
49448         * lib/gl_avltreehash_list.c: Likewise.
49449         * lib/gl_avltreehash_list.h: Likewise.
49450         * lib/gl_carray_list.c: Likewise.
49451         * lib/gl_carray_list.h: Likewise.
49452         * lib/gl_linked_list.c: Likewise.
49453         * lib/gl_linked_list.h: Likewise.
49454         * lib/gl_linkedhash_list.c: Likewise.
49455         * lib/gl_linkedhash_list.h: Likewise.
49456         * lib/gl_list.c: Likewise.
49457         * lib/gl_list.h: Likewise.
49458         * lib/gl_oset.c: Likewise.
49459         * lib/gl_oset.h: Likewise.
49460         * lib/gl_rbtree_list.c: Likewise.
49461         * lib/gl_rbtree_list.h: Likewise.
49462         * lib/gl_rbtree_oset.c: Likewise.
49463         * lib/gl_rbtree_oset.h: Likewise.
49464         * lib/gl_rbtreehash_list.c: Likewise.
49465         * lib/gl_rbtreehash_list.h: Likewise.
49466         * lib/gl_sublist.c: Likewise.
49467         * lib/gl_sublist.h: Likewise.
49468         * lib/group-member.c: Likewise.
49469         * lib/group-member.h: Likewise.
49470         * lib/hard-locale.c: Likewise.
49471         * lib/hard-locale.h: Likewise.
49472         * lib/hash-pjw.c: Likewise.
49473         * lib/hash-pjw.h: Likewise.
49474         * lib/hash-triple.c: Likewise.
49475         * lib/hash.c: Likewise.
49476         * lib/hash.h: Likewise.
49477         * lib/human.c: Likewise.
49478         * lib/human.h: Likewise.
49479         * lib/i-ring.c: Likewise.
49480         * lib/i-ring.h: Likewise.
49481         * lib/idcache.c: Likewise.
49482         * lib/imaxabs.c: Likewise.
49483         * lib/imaxdiv.c: Likewise.
49484         * lib/inet_pton.c: Likewise.
49485         * lib/inet_pton.h: Likewise.
49486         * lib/intprops.h: Likewise.
49487         * lib/inttostr.c: Likewise.
49488         * lib/inttostr.h: Likewise.
49489         * lib/inttypes.in.h: Likewise.
49490         * lib/isapipe.c: Likewise.
49491         * lib/isdir.c: Likewise.
49492         * lib/isnan.c: Likewise.
49493         * lib/isnan.h: Likewise.
49494         * lib/isnanf.c: Likewise.
49495         * lib/isnanf.h: Likewise.
49496         * lib/isnanl-nolibm.h: Likewise.
49497         * lib/isnanl.c: Likewise.
49498         * lib/isnanl.h: Likewise.
49499         * lib/javacomp.c: Likewise.
49500         * lib/javacomp.h: Likewise.
49501         * lib/javaexec.c: Likewise.
49502         * lib/javaexec.h: Likewise.
49503         * lib/javaversion.c: Likewise.
49504         * lib/javaversion.h: Likewise.
49505         * lib/javaversion.java: Likewise.
49506         * lib/lbrkprop.h: Likewise.
49507         * lib/lchmod.h: Likewise.
49508         * lib/lchown.c: Likewise.
49509         * lib/ldexpl.c: Likewise.
49510         * lib/linebreak.c: Likewise.
49511         * lib/linebreak.h: Likewise.
49512         * lib/linebuffer.c: Likewise.
49513         * lib/linebuffer.h: Likewise.
49514         * lib/locale.in.h: Likewise.
49515         * lib/logl.c: Likewise.
49516         * lib/long-options.c: Likewise.
49517         * lib/long-options.h: Likewise.
49518         * lib/lstat.c: Likewise.
49519         * lib/lstat.h: Likewise.
49520         * lib/math.in.h: Likewise.
49521         * lib/mbchar.c: Likewise.
49522         * lib/mbchar.h: Likewise.
49523         * lib/mbfile.h: Likewise.
49524         * lib/mbiter.h: Likewise.
49525         * lib/mbscasecmp.c: Likewise.
49526         * lib/mbscasestr.c: Likewise.
49527         * lib/mbschr.c: Likewise.
49528         * lib/mbscspn.c: Likewise.
49529         * lib/mbslen.c: Likewise.
49530         * lib/mbsncasecmp.c: Likewise.
49531         * lib/mbsnlen.c: Likewise.
49532         * lib/mbspbrk.c: Likewise.
49533         * lib/mbspcasecmp.c: Likewise.
49534         * lib/mbsrchr.c: Likewise.
49535         * lib/mbssep.c: Likewise.
49536         * lib/mbsspn.c: Likewise.
49537         * lib/mbsstr.c: Likewise.
49538         * lib/mbstok_r.c: Likewise.
49539         * lib/mbswidth.c: Likewise.
49540         * lib/mbswidth.h: Likewise.
49541         * lib/mbuiter.h: Likewise.
49542         * lib/memcasecmp.c: Likewise.
49543         * lib/memcasecmp.h: Likewise.
49544         * lib/memchr.c: Likewise.
49545         * lib/memcmp.c: Likewise.
49546         * lib/memcoll.c: Likewise.
49547         * lib/memcoll.h: Likewise.
49548         * lib/memcpy.c: Likewise.
49549         * lib/memrchr.c: Likewise.
49550         * lib/mkancesdirs.c: Likewise.
49551         * lib/mkdir-p.c: Likewise.
49552         * lib/mkdir-p.h: Likewise.
49553         * lib/mkdir.c: Likewise.
49554         * lib/mkdirat.c: Likewise.
49555         * lib/mkdtemp.c: Likewise.
49556         * lib/mkstemp-safer.c: Likewise.
49557         * lib/mkstemp.c: Likewise.
49558         * lib/modechange.c: Likewise.
49559         * lib/modechange.h: Likewise.
49560         * lib/mountlist.c: Likewise.
49561         * lib/mountlist.h: Likewise.
49562         * lib/mpsort.c: Likewise.
49563         * lib/nanosleep.c: Likewise.
49564         * lib/obstack.c: Likewise.
49565         * lib/obstack.h: Likewise.
49566         * lib/open-safer.c: Likewise.
49567         * lib/open.c: Likewise.
49568         * lib/openat-die.c: Likewise.
49569         * lib/openat-priv.h: Likewise.
49570         * lib/openat-proc.c: Likewise.
49571         * lib/openat.c: Likewise.
49572         * lib/openat.h: Likewise.
49573         * lib/pagealign_alloc.c: Likewise.
49574         * lib/pagealign_alloc.h: Likewise.
49575         * lib/physmem.c: Likewise.
49576         * lib/physmem.h: Likewise.
49577         * lib/pipe-safer.c: Likewise.
49578         * lib/pipe.c: Likewise.
49579         * lib/pipe.h: Likewise.
49580         * lib/posixtm.c: Likewise.
49581         * lib/posixtm.h: Likewise.
49582         * lib/posixver.c: Likewise.
49583         * lib/printf-frexp.c: Likewise.
49584         * lib/printf-frexp.h: Likewise.
49585         * lib/printf-frexpl.c: Likewise.
49586         * lib/printf-frexpl.h: Likewise.
49587         * lib/printf.c: Likewise.
49588         * lib/progname.c: Likewise.
49589         * lib/progname.h: Likewise.
49590         * lib/progreloc.c: Likewise.
49591         * lib/putenv.c: Likewise.
49592         * lib/quote.c: Likewise.
49593         * lib/quote.h: Likewise.
49594         * lib/quotearg.c: Likewise.
49595         * lib/quotearg.h: Likewise.
49596         * lib/raise.c: Likewise.
49597         * lib/readline.c: Likewise.
49598         * lib/readline.h: Likewise.
49599         * lib/readlink.c: Likewise.
49600         * lib/readtokens.c: Likewise.
49601         * lib/readtokens.h: Likewise.
49602         * lib/readtokens0.c: Likewise.
49603         * lib/readtokens0.h: Likewise.
49604         * lib/readutmp.c: Likewise.
49605         * lib/readutmp.h: Likewise.
49606         * lib/realloc.c: Likewise.
49607         * lib/relocwrapper.c: Likewise.
49608         * lib/rename-dest-slash.c: Likewise.
49609         * lib/rename.c: Likewise.
49610         * lib/rmdir.c: Likewise.
49611         * lib/rpmatch.c: Likewise.
49612         * lib/safe-read.c: Likewise.
49613         * lib/safe-read.h: Likewise.
49614         * lib/safe-write.c: Likewise.
49615         * lib/safe-write.h: Likewise.
49616         * lib/same-inode.h: Likewise.
49617         * lib/same.c: Likewise.
49618         * lib/same.h: Likewise.
49619         * lib/save-cwd.c: Likewise.
49620         * lib/save-cwd.h: Likewise.
49621         * lib/savedir.c: Likewise.
49622         * lib/savedir.h: Likewise.
49623         * lib/savewd.c: Likewise.
49624         * lib/savewd.h: Likewise.
49625         * lib/search.in.h: Likewise.
49626         * lib/setenv.c: Likewise.
49627         * lib/setenv.h: Likewise.
49628         * lib/settime.c: Likewise.
49629         * lib/sh-quote.c: Likewise.
49630         * lib/sh-quote.h: Likewise.
49631         * lib/sig2str.c: Likewise.
49632         * lib/sig2str.h: Likewise.
49633         * lib/signal.in.h: Likewise.
49634         * lib/signbitd.c: Likewise.
49635         * lib/signbitf.c: Likewise.
49636         * lib/signbitl.c: Likewise.
49637         * lib/sigprocmask.c: Likewise.
49638         * lib/sincosl.c: Likewise.
49639         * lib/sleep.c: Likewise.
49640         * lib/sprintf.c: Likewise.
49641         * lib/sqrtl.c: Likewise.
49642         * lib/stat-time.h: Likewise.
49643         * lib/stdio--.h: Likewise.
49644         * lib/stdio-safer.h: Likewise.
49645         * lib/stdlib--.h: Likewise.
49646         * lib/stdlib-safer.h: Likewise.
49647         * lib/stdlib.in.h: Likewise.
49648         * lib/stpcpy.c: Likewise.
49649         * lib/stpncpy.c: Likewise.
49650         * lib/strchrnul.c: Likewise.
49651         * lib/strcspn.c: Likewise.
49652         * lib/strerror.c: Likewise.
49653         * lib/strftime.c: Likewise.
49654         * lib/strftime.h: Likewise.
49655         * lib/striconveh.c: Likewise.
49656         * lib/striconveh.h: Likewise.
49657         * lib/striconveha.c: Likewise.
49658         * lib/striconveha.h: Likewise.
49659         * lib/stripslash.c: Likewise.
49660         * lib/strnlen1.c: Likewise.
49661         * lib/strnlen1.h: Likewise.
49662         * lib/strtod.c: Likewise.
49663         * lib/strtoimax.c: Likewise.
49664         * lib/strtok_r.c: Likewise.
49665         * lib/strtol.c: Likewise.
49666         * lib/strtoll.c: Likewise.
49667         * lib/strtoul.c: Likewise.
49668         * lib/strtoull.c: Likewise.
49669         * lib/sysexits.in.h: Likewise.
49670         * lib/tempname.c: Likewise.
49671         * lib/tempname.h: Likewise.
49672         * lib/timespec.h: Likewise.
49673         * lib/tls.c: Likewise.
49674         * lib/tls.h: Likewise.
49675         * lib/tmpdir.c: Likewise.
49676         * lib/tmpdir.h: Likewise.
49677         * lib/tmpfile-safer.c: Likewise.
49678         * lib/tmpfile.c: Likewise.
49679         * lib/trigl.c: Likewise.
49680         * lib/trigl.h: Likewise.
49681         * lib/trim.c: Likewise.
49682         * lib/trim.h: Likewise.
49683         * lib/trunc.c: Likewise.
49684         * lib/truncf.c: Likewise.
49685         * lib/truncl.c: Likewise.
49686         * lib/tsearch.c: Likewise.
49687         * lib/unicodeio.c: Likewise.
49688         * lib/unicodeio.h: Likewise.
49689         * lib/unistd--.h: Likewise.
49690         * lib/unistd-safer.h: Likewise.
49691         * lib/unistdio/ulc-fprintf.c: Likewise.
49692         * lib/unistdio/ulc-vfprintf.c: Likewise.
49693         * lib/unlinkdir.c: Likewise.
49694         * lib/unlinkdir.h: Likewise.
49695         * lib/unlocked-io.h: Likewise.
49696         * lib/unsetenv.c: Likewise.
49697         * lib/userspec.c: Likewise.
49698         * lib/utime.c: Likewise.
49699         * lib/utimecmp.c: Likewise.
49700         * lib/utimecmp.h: Likewise.
49701         * lib/utimens.c: Likewise.
49702         * lib/verify.h: Likewise.
49703         * lib/verror.c: Likewise.
49704         * lib/verror.h: Likewise.
49705         * lib/version-etc-fsf.c: Likewise.
49706         * lib/version-etc.c: Likewise.
49707         * lib/version-etc.h: Likewise.
49708         * lib/vfprintf.c: Likewise.
49709         * lib/vprintf.c: Likewise.
49710         * lib/vsprintf.c: Likewise.
49711         * lib/w32spawn.h: Likewise.
49712         * lib/wait-process.c: Likewise.
49713         * lib/wait-process.h: Likewise.
49714         * lib/wcwidth.c: Likewise.
49715         * lib/write-any-file.c: Likewise.
49716         * lib/xalloc-die.c: Likewise.
49717         * lib/xalloc.h: Likewise.
49718         * lib/xasprintf.c: Likewise.
49719         * lib/xgetcwd.c: Likewise.
49720         * lib/xgetcwd.h: Likewise.
49721         * lib/xgetdomainname.c: Likewise.
49722         * lib/xgetdomainname.h: Likewise.
49723         * lib/xgethostname.c: Likewise.
49724         * lib/xmalloc.c: Likewise.
49725         * lib/xmalloca.c: Likewise.
49726         * lib/xmalloca.h: Likewise.
49727         * lib/xmemcoll.c: Likewise.
49728         * lib/xnanosleep.c: Likewise.
49729         * lib/xreadlink.c: Likewise.
49730         * lib/xreadlink.h: Likewise.
49731         * lib/xsetenv.c: Likewise.
49732         * lib/xsetenv.h: Likewise.
49733         * lib/xstriconv.c: Likewise.
49734         * lib/xstriconv.h: Likewise.
49735         * lib/xstrndup.c: Likewise.
49736         * lib/xstrndup.h: Likewise.
49737         * lib/xstrtod.c: Likewise.
49738         * lib/xstrtod.h: Likewise.
49739         * lib/xstrtol-error.c: Likewise.
49740         * lib/xstrtol.c: Likewise.
49741         * lib/xstrtol.h: Likewise.
49742         * lib/xtime.h: Likewise.
49743         * lib/xvasprintf.c: Likewise.
49744         * lib/xvasprintf.h: Likewise.
49745         * lib/yesno.c: Likewise.
49746         * lib/yesno.h: Likewise.
49747         * posix-modules: Likewise.
49748         * tests/test-alloca-opt.c: Likewise.
49749         * tests/test-arcfour.c: Likewise.
49750         * tests/test-arctwo.c: Likewise.
49751         * tests/test-argmatch.c: Likewise.
49752         * tests/test-argp-2.sh: Likewise.
49753         * tests/test-argp.c: Likewise.
49754         * tests/test-arpa_inet.c: Likewise.
49755         * tests/test-array_list.c: Likewise.
49756         * tests/test-array_oset.c: Likewise.
49757         * tests/test-atexit.c: Likewise.
49758         * tests/test-avltree_list.c: Likewise.
49759         * tests/test-avltree_oset.c: Likewise.
49760         * tests/test-avltreehash_list.c: Likewise.
49761         * tests/test-base64.c: Likewise.
49762         * tests/test-binary-io.c: Likewise.
49763         * tests/test-byteswap.c: Likewise.
49764         * tests/test-c-ctype.c: Likewise.
49765         * tests/test-c-strcasecmp.c: Likewise.
49766         * tests/test-c-strcasestr.c: Likewise.
49767         * tests/test-c-strncasecmp.c: Likewise.
49768         * tests/test-c-strstr.c: Likewise.
49769         * tests/test-canonicalize-lgpl.c: Likewise.
49770         * tests/test-canonicalize.c: Likewise.
49771         * tests/test-carray_list.c: Likewise.
49772         * tests/test-ceilf.c: Likewise.
49773         * tests/test-ceill.c: Likewise.
49774         * tests/test-count-one-bits.c: Likewise.
49775         * tests/test-crc.c: Likewise.
49776         * tests/test-dirname.c: Likewise.
49777         * tests/test-fbufmode.c: Likewise.
49778         * tests/test-fcntl.c: Likewise.
49779         * tests/test-fflush.c: Likewise.
49780         * tests/test-floorf.c: Likewise.
49781         * tests/test-floorl.c: Likewise.
49782         * tests/test-fopen.c: Likewise.
49783         * tests/test-fprintf-posix.c: Likewise.
49784         * tests/test-fprintf-posix.h: Likewise.
49785         * tests/test-fpurge.c: Likewise.
49786         * tests/test-freadable.c: Likewise.
49787         * tests/test-freadahead.c: Likewise.
49788         * tests/test-freading.c: Likewise.
49789         * tests/test-freopen.c: Likewise.
49790         * tests/test-frexp.c: Likewise.
49791         * tests/test-frexpl.c: Likewise.
49792         * tests/test-fseek.c: Likewise.
49793         * tests/test-fseeko.c: Likewise.
49794         * tests/test-fseterr.c: Likewise.
49795         * tests/test-fstrcmp.c: Likewise.
49796         * tests/test-ftell.c: Likewise.
49797         * tests/test-ftello.c: Likewise.
49798         * tests/test-fwritable.c: Likewise.
49799         * tests/test-fwriting.c: Likewise.
49800         * tests/test-getaddrinfo.c: Likewise.
49801         * tests/test-getpass.c: Likewise.
49802         * tests/test-gettimeofday.c: Likewise.
49803         * tests/test-hmac-md5.c: Likewise.
49804         * tests/test-hmac-sha1.c: Likewise.
49805         * tests/test-iconv.c: Likewise.
49806         * tests/test-iconvme.c: Likewise.
49807         * tests/test-inttypes.c: Likewise.
49808         * tests/test-isnan.c: Likewise.
49809         * tests/test-isnanf.c: Likewise.
49810         * tests/test-isnanl-nolibm.c: Likewise.
49811         * tests/test-isnanl.c: Likewise.
49812         * tests/test-isnanl.h: Likewise.
49813         * tests/test-ldexpl.c: Likewise.
49814         * tests/test-linked_list.c: Likewise.
49815         * tests/test-linkedhash_list.c: Likewise.
49816         * tests/test-locale.c: Likewise.
49817         * tests/test-localename.c: Likewise.
49818         * tests/test-lock.c: Likewise.
49819         * tests/test-lseek.c: Likewise.
49820         * tests/test-malloca.c: Likewise.
49821         * tests/test-math.c: Likewise.
49822         * tests/test-mbscasecmp.c: Likewise.
49823         * tests/test-mbscasestr1.c: Likewise.
49824         * tests/test-mbscasestr2.c: Likewise.
49825         * tests/test-mbscasestr3.c: Likewise.
49826         * tests/test-mbscasestr4.c: Likewise.
49827         * tests/test-mbschr.c: Likewise.
49828         * tests/test-mbscspn.c: Likewise.
49829         * tests/test-mbsncasecmp.c: Likewise.
49830         * tests/test-mbspbrk.c: Likewise.
49831         * tests/test-mbspcasecmp.c: Likewise.
49832         * tests/test-mbsrchr.c: Likewise.
49833         * tests/test-mbsspn.c: Likewise.
49834         * tests/test-mbsstr1.c: Likewise.
49835         * tests/test-mbsstr2.c: Likewise.
49836         * tests/test-mbsstr3.c: Likewise.
49837         * tests/test-md5.c: Likewise.
49838         * tests/test-memmem.c: Likewise.
49839         * tests/test-netinet_in.c: Likewise.
49840         * tests/test-open.c: Likewise.
49841         * tests/test-printf-frexp.c: Likewise.
49842         * tests/test-printf-frexpl.c: Likewise.
49843         * tests/test-printf-posix.c: Likewise.
49844         * tests/test-printf-posix.h: Likewise.
49845         * tests/test-rbtree_list.c: Likewise.
49846         * tests/test-rbtree_oset.c: Likewise.
49847         * tests/test-rbtreehash_list.c: Likewise.
49848         * tests/test-read-file.c: Likewise.
49849         * tests/test-rijndael.c: Likewise.
49850         * tests/test-search.c: Likewise.
49851         * tests/test-signbit.c: Likewise.
49852         * tests/test-sleep.c: Likewise.
49853         * tests/test-snprintf-posix.c: Likewise.
49854         * tests/test-snprintf-posix.h: Likewise.
49855         * tests/test-snprintf.c: Likewise.
49856         * tests/test-sprintf-posix.c: Likewise.
49857         * tests/test-sprintf-posix.h: Likewise.
49858         * tests/test-stat-time.c: Likewise.
49859         * tests/test-stdbool.c: Likewise.
49860         * tests/test-stdint.c: Likewise.
49861         * tests/test-stdio.c: Likewise.
49862         * tests/test-stdlib.c: Likewise.
49863         * tests/test-stpncpy.c: Likewise.
49864         * tests/test-strcasestr.c: Likewise.
49865         * tests/test-striconv.c: Likewise.
49866         * tests/test-striconveh.c: Likewise.
49867         * tests/test-striconveha.c: Likewise.
49868         * tests/test-string.c: Likewise.
49869         * tests/test-sys_select.c: Likewise.
49870         * tests/test-sys_socket.c: Likewise.
49871         * tests/test-sys_stat.c: Likewise.
49872         * tests/test-sys_time.c: Likewise.
49873         * tests/test-sysexits.c: Likewise.
49874         * tests/test-time.c: Likewise.
49875         * tests/test-tls.c: Likewise.
49876         * tests/test-trunc.c: Likewise.
49877         * tests/test-truncf.c: Likewise.
49878         * tests/test-truncl.c: Likewise.
49879         * tests/test-unistd.c: Likewise.
49880         * tests/test-vasnprintf-posix.c: Likewise.
49881         * tests/test-vasnprintf-posix2.c: Likewise.
49882         * tests/test-vasnprintf.c: Likewise.
49883         * tests/test-vasprintf-posix.c: Likewise.
49884         * tests/test-vasprintf.c: Likewise.
49885         * tests/test-verify.c: Likewise.
49886         * tests/test-vfprintf-posix.c: Likewise.
49887         * tests/test-vprintf-posix.c: Likewise.
49888         * tests/test-vsnprintf-posix.c: Likewise.
49889         * tests/test-vsnprintf.c: Likewise.
49890         * tests/test-vsprintf-posix.c: Likewise.
49891         * tests/test-wchar.c: Likewise.
49892         * tests/test-wctype.c: Likewise.
49893         * tests/test-wcwidth.c: Likewise.
49894         * tests/test-xstrtol.c: Likewise.
49895         * tests/test-xvasprintf.c: Likewise.
49896         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
49897         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
49898         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
49899         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
49900         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
49901         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
49902         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
49903         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
49904         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
49905         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
49906         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
49907         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
49908         * tests/uniname/test-uninames.c: Likewise.
49909         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
49910         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
49911         * tests/unistdio/test-u16-printf1.h: Likewise.
49912         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
49913         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
49914         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
49915         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
49916         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
49917         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
49918         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
49919         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
49920         * tests/unistdio/test-u32-printf1.h: Likewise.
49921         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
49922         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
49923         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
49924         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
49925         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
49926         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
49927         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
49928         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
49929         * tests/unistdio/test-u8-printf1.h: Likewise.
49930         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
49931         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
49932         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
49933         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
49934         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
49935         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
49936         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
49937         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
49938         * tests/unistdio/test-ulc-printf1.h: Likewise.
49939         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
49940         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
49941         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
49942         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
49943         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
49944         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
49945         * tests/uniwidth/test-u16-strwidth.c: Likewise.
49946         * tests/uniwidth/test-u16-width.c: Likewise.
49947         * tests/uniwidth/test-u32-strwidth.c: Likewise.
49948         * tests/uniwidth/test-u32-width.c: Likewise.
49949         * tests/uniwidth/test-u8-strwidth.c: Likewise.
49950         * tests/uniwidth/test-u8-width.c: Likewise.
49951         * tests/uniwidth/test-uc_width.c: Likewise.
49952         * config/srclist-update: Likewise.
49953         (fixlicense): Update to GPLv3+.
49954
49955         Change copyright notice from LGPLv2.1+ to LGPLv3+.
49956         * tests/test-tsearch.c: Change copyright notice.
49957
49958         Change copyright notice from LGPLv2.0+ to LGPLv3+.
49959         * lib/c-strcaseeq.h: Change copyright notice.
49960         * lib/streq.h: Likewise.
49961         * lib/uniconv.h: Likewise.
49962         * lib/uniconv/u-conv-from-enc.h: Likewise.
49963         * lib/uniconv/u-conv-to-enc.h: Likewise.
49964         * lib/uniconv/u-strconv-from-enc.h: Likewise.
49965         * lib/uniconv/u-strconv-to-enc.h: Likewise.
49966         * lib/uniconv/u16-conv-from-enc.c: Likewise.
49967         * lib/uniconv/u16-conv-to-enc.c: Likewise.
49968         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
49969         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
49970         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
49971         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
49972         * lib/uniconv/u32-conv-from-enc.c: Likewise.
49973         * lib/uniconv/u32-conv-to-enc.c: Likewise.
49974         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
49975         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
49976         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
49977         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
49978         * lib/uniconv/u8-conv-from-enc.c: Likewise.
49979         * lib/uniconv/u8-conv-to-enc.c: Likewise.
49980         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
49981         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
49982         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
49983         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
49984         * lib/uniname.h: Likewise.
49985         * lib/uniname/uniname.c: Likewise.
49986         * lib/unistdio.h: Likewise.
49987         * lib/unistdio/u-asnprintf.h: Likewise.
49988         * lib/unistdio/u-asprintf.h: Likewise.
49989         * lib/unistdio/u-printf-args.c: Likewise.
49990         * lib/unistdio/u-printf-args.h: Likewise.
49991         * lib/unistdio/u-printf-parse.h: Likewise.
49992         * lib/unistdio/u-snprintf.h: Likewise.
49993         * lib/unistdio/u-sprintf.h: Likewise.
49994         * lib/unistdio/u-vasprintf.h: Likewise.
49995         * lib/unistdio/u-vsnprintf.h: Likewise.
49996         * lib/unistdio/u-vsprintf.h: Likewise.
49997         * lib/unistdio/u16-asnprintf.c: Likewise.
49998         * lib/unistdio/u16-asprintf.c: Likewise.
49999         * lib/unistdio/u16-printf-parse.c: Likewise.
50000         * lib/unistdio/u16-snprintf.c: Likewise.
50001         * lib/unistdio/u16-sprintf.c: Likewise.
50002         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
50003         * lib/unistdio/u16-u16-asprintf.c: Likewise.
50004         * lib/unistdio/u16-u16-snprintf.c: Likewise.
50005         * lib/unistdio/u16-u16-sprintf.c: Likewise.
50006         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
50007         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
50008         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
50009         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
50010         * lib/unistdio/u16-vasnprintf.c: Likewise.
50011         * lib/unistdio/u16-vasprintf.c: Likewise.
50012         * lib/unistdio/u16-vsnprintf.c: Likewise.
50013         * lib/unistdio/u16-vsprintf.c: Likewise.
50014         * lib/unistdio/u32-asnprintf.c: Likewise.
50015         * lib/unistdio/u32-asprintf.c: Likewise.
50016         * lib/unistdio/u32-printf-parse.c: Likewise.
50017         * lib/unistdio/u32-snprintf.c: Likewise.
50018         * lib/unistdio/u32-sprintf.c: Likewise.
50019         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
50020         * lib/unistdio/u32-u32-asprintf.c: Likewise.
50021         * lib/unistdio/u32-u32-snprintf.c: Likewise.
50022         * lib/unistdio/u32-u32-sprintf.c: Likewise.
50023         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
50024         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
50025         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
50026         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
50027         * lib/unistdio/u32-vasnprintf.c: Likewise.
50028         * lib/unistdio/u32-vasprintf.c: Likewise.
50029         * lib/unistdio/u32-vsnprintf.c: Likewise.
50030         * lib/unistdio/u32-vsprintf.c: Likewise.
50031         * lib/unistdio/u8-asnprintf.c: Likewise.
50032         * lib/unistdio/u8-asprintf.c: Likewise.
50033         * lib/unistdio/u8-printf-parse.c: Likewise.
50034         * lib/unistdio/u8-snprintf.c: Likewise.
50035         * lib/unistdio/u8-sprintf.c: Likewise.
50036         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
50037         * lib/unistdio/u8-u8-asprintf.c: Likewise.
50038         * lib/unistdio/u8-u8-snprintf.c: Likewise.
50039         * lib/unistdio/u8-u8-sprintf.c: Likewise.
50040         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
50041         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
50042         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
50043         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
50044         * lib/unistdio/u8-vasnprintf.c: Likewise.
50045         * lib/unistdio/u8-vasprintf.c: Likewise.
50046         * lib/unistdio/u8-vsnprintf.c: Likewise.
50047         * lib/unistdio/u8-vsprintf.c: Likewise.
50048         * lib/unistdio/ulc-asnprintf.c: Likewise.
50049         * lib/unistdio/ulc-asprintf.c: Likewise.
50050         * lib/unistdio/ulc-printf-parse.c: Likewise.
50051         * lib/unistdio/ulc-snprintf.c: Likewise.
50052         * lib/unistdio/ulc-sprintf.c: Likewise.
50053         * lib/unistdio/ulc-vasnprintf.c: Likewise.
50054         * lib/unistdio/ulc-vasprintf.c: Likewise.
50055         * lib/unistdio/ulc-vsnprintf.c: Likewise.
50056         * lib/unistdio/ulc-vsprintf.c: Likewise.
50057         * lib/unistr.h: Likewise.
50058         * lib/unistr/u-cpy-alloc.h: Likewise.
50059         * lib/unistr/u-cpy.h: Likewise.
50060         * lib/unistr/u-endswith.h: Likewise.
50061         * lib/unistr/u-move.h: Likewise.
50062         * lib/unistr/u-set.h: Likewise.
50063         * lib/unistr/u-startswith.h: Likewise.
50064         * lib/unistr/u-stpcpy.h: Likewise.
50065         * lib/unistr/u-stpncpy.h: Likewise.
50066         * lib/unistr/u-strcat.h: Likewise.
50067         * lib/unistr/u-strcpy.h: Likewise.
50068         * lib/unistr/u-strcspn.h: Likewise.
50069         * lib/unistr/u-strdup.h: Likewise.
50070         * lib/unistr/u-strlen.h: Likewise.
50071         * lib/unistr/u-strncat.h: Likewise.
50072         * lib/unistr/u-strncpy.h: Likewise.
50073         * lib/unistr/u-strnlen.h: Likewise.
50074         * lib/unistr/u-strpbrk.h: Likewise.
50075         * lib/unistr/u-strspn.h: Likewise.
50076         * lib/unistr/u-strstr.h: Likewise.
50077         * lib/unistr/u-strtok.h: Likewise.
50078         * lib/unistr/u16-check.c: Likewise.
50079         * lib/unistr/u16-chr.c: Likewise.
50080         * lib/unistr/u16-cmp.c: Likewise.
50081         * lib/unistr/u16-cpy-alloc.c: Likewise.
50082         * lib/unistr/u16-cpy.c: Likewise.
50083         * lib/unistr/u16-endswith.c: Likewise.
50084         * lib/unistr/u16-mblen.c: Likewise.
50085         * lib/unistr/u16-mbsnlen.c: Likewise.
50086         * lib/unistr/u16-mbtouc-aux.c: Likewise.
50087         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
50088         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
50089         * lib/unistr/u16-mbtouc.c: Likewise.
50090         * lib/unistr/u16-mbtoucr.c: Likewise.
50091         * lib/unistr/u16-move.c: Likewise.
50092         * lib/unistr/u16-next.c: Likewise.
50093         * lib/unistr/u16-prev.c: Likewise.
50094         * lib/unistr/u16-set.c: Likewise.
50095         * lib/unistr/u16-startswith.c: Likewise.
50096         * lib/unistr/u16-stpcpy.c: Likewise.
50097         * lib/unistr/u16-stpncpy.c: Likewise.
50098         * lib/unistr/u16-strcat.c: Likewise.
50099         * lib/unistr/u16-strchr.c: Likewise.
50100         * lib/unistr/u16-strcmp.c: Likewise.
50101         * lib/unistr/u16-strcpy.c: Likewise.
50102         * lib/unistr/u16-strcspn.c: Likewise.
50103         * lib/unistr/u16-strdup.c: Likewise.
50104         * lib/unistr/u16-strlen.c: Likewise.
50105         * lib/unistr/u16-strmblen.c: Likewise.
50106         * lib/unistr/u16-strmbtouc.c: Likewise.
50107         * lib/unistr/u16-strncat.c: Likewise.
50108         * lib/unistr/u16-strncmp.c: Likewise.
50109         * lib/unistr/u16-strncpy.c: Likewise.
50110         * lib/unistr/u16-strnlen.c: Likewise.
50111         * lib/unistr/u16-strpbrk.c: Likewise.
50112         * lib/unistr/u16-strrchr.c: Likewise.
50113         * lib/unistr/u16-strspn.c: Likewise.
50114         * lib/unistr/u16-strstr.c: Likewise.
50115         * lib/unistr/u16-strtok.c: Likewise.
50116         * lib/unistr/u16-to-u32.c: Likewise.
50117         * lib/unistr/u16-to-u8.c: Likewise.
50118         * lib/unistr/u16-uctomb-aux.c: Likewise.
50119         * lib/unistr/u16-uctomb.c: Likewise.
50120         * lib/unistr/u32-check.c: Likewise.
50121         * lib/unistr/u32-chr.c: Likewise.
50122         * lib/unistr/u32-cmp.c: Likewise.
50123         * lib/unistr/u32-cpy-alloc.c: Likewise.
50124         * lib/unistr/u32-cpy.c: Likewise.
50125         * lib/unistr/u32-endswith.c: Likewise.
50126         * lib/unistr/u32-mblen.c: Likewise.
50127         * lib/unistr/u32-mbsnlen.c: Likewise.
50128         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
50129         * lib/unistr/u32-mbtouc.c: Likewise.
50130         * lib/unistr/u32-mbtoucr.c: Likewise.
50131         * lib/unistr/u32-move.c: Likewise.
50132         * lib/unistr/u32-next.c: Likewise.
50133         * lib/unistr/u32-prev.c: Likewise.
50134         * lib/unistr/u32-set.c: Likewise.
50135         * lib/unistr/u32-startswith.c: Likewise.
50136         * lib/unistr/u32-stpcpy.c: Likewise.
50137         * lib/unistr/u32-stpncpy.c: Likewise.
50138         * lib/unistr/u32-strcat.c: Likewise.
50139         * lib/unistr/u32-strchr.c: Likewise.
50140         * lib/unistr/u32-strcmp.c: Likewise.
50141         * lib/unistr/u32-strcpy.c: Likewise.
50142         * lib/unistr/u32-strcspn.c: Likewise.
50143         * lib/unistr/u32-strdup.c: Likewise.
50144         * lib/unistr/u32-strlen.c: Likewise.
50145         * lib/unistr/u32-strmblen.c: Likewise.
50146         * lib/unistr/u32-strmbtouc.c: Likewise.
50147         * lib/unistr/u32-strncat.c: Likewise.
50148         * lib/unistr/u32-strncmp.c: Likewise.
50149         * lib/unistr/u32-strncpy.c: Likewise.
50150         * lib/unistr/u32-strnlen.c: Likewise.
50151         * lib/unistr/u32-strpbrk.c: Likewise.
50152         * lib/unistr/u32-strrchr.c: Likewise.
50153         * lib/unistr/u32-strspn.c: Likewise.
50154         * lib/unistr/u32-strstr.c: Likewise.
50155         * lib/unistr/u32-strtok.c: Likewise.
50156         * lib/unistr/u32-to-u16.c: Likewise.
50157         * lib/unistr/u32-to-u8.c: Likewise.
50158         * lib/unistr/u32-uctomb.c: Likewise.
50159         * lib/unistr/u8-check.c: Likewise.
50160         * lib/unistr/u8-chr.c: Likewise.
50161         * lib/unistr/u8-cmp.c: Likewise.
50162         * lib/unistr/u8-cpy-alloc.c: Likewise.
50163         * lib/unistr/u8-cpy.c: Likewise.
50164         * lib/unistr/u8-endswith.c: Likewise.
50165         * lib/unistr/u8-mblen.c: Likewise.
50166         * lib/unistr/u8-mbsnlen.c: Likewise.
50167         * lib/unistr/u8-mbtouc-aux.c: Likewise.
50168         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
50169         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
50170         * lib/unistr/u8-mbtouc.c: Likewise.
50171         * lib/unistr/u8-mbtoucr.c: Likewise.
50172         * lib/unistr/u8-move.c: Likewise.
50173         * lib/unistr/u8-next.c: Likewise.
50174         * lib/unistr/u8-prev.c: Likewise.
50175         * lib/unistr/u8-set.c: Likewise.
50176         * lib/unistr/u8-startswith.c: Likewise.
50177         * lib/unistr/u8-stpcpy.c: Likewise.
50178         * lib/unistr/u8-stpncpy.c: Likewise.
50179         * lib/unistr/u8-strcat.c: Likewise.
50180         * lib/unistr/u8-strchr.c: Likewise.
50181         * lib/unistr/u8-strcmp.c: Likewise.
50182         * lib/unistr/u8-strcpy.c: Likewise.
50183         * lib/unistr/u8-strcspn.c: Likewise.
50184         * lib/unistr/u8-strdup.c: Likewise.
50185         * lib/unistr/u8-strlen.c: Likewise.
50186         * lib/unistr/u8-strmblen.c: Likewise.
50187         * lib/unistr/u8-strmbtouc.c: Likewise.
50188         * lib/unistr/u8-strncat.c: Likewise.
50189         * lib/unistr/u8-strncmp.c: Likewise.
50190         * lib/unistr/u8-strncpy.c: Likewise.
50191         * lib/unistr/u8-strnlen.c: Likewise.
50192         * lib/unistr/u8-strpbrk.c: Likewise.
50193         * lib/unistr/u8-strrchr.c: Likewise.
50194         * lib/unistr/u8-strspn.c: Likewise.
50195         * lib/unistr/u8-strstr.c: Likewise.
50196         * lib/unistr/u8-strtok.c: Likewise.
50197         * lib/unistr/u8-to-u16.c: Likewise.
50198         * lib/unistr/u8-to-u32.c: Likewise.
50199         * lib/unistr/u8-uctomb-aux.c: Likewise.
50200         * lib/unistr/u8-uctomb.c: Likewise.
50201         * lib/unitypes.h: Likewise.
50202         * lib/uniwidth.h: Likewise.
50203         * lib/uniwidth/cjk.h: Likewise.
50204         * lib/uniwidth/u16-strwidth.c: Likewise.
50205         * lib/uniwidth/u16-width.c: Likewise.
50206         * lib/uniwidth/u32-strwidth.c: Likewise.
50207         * lib/uniwidth/u32-width.c: Likewise.
50208         * lib/uniwidth/u8-strwidth.c: Likewise.
50209         * lib/uniwidth/u8-width.c: Likewise.
50210         * lib/uniwidth/width.c: Likewise.
50211
50212 2007-10-07  Bruno Haible  <bruno@clisp.org>
50213
50214         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
50215         The file is still under LGPL (see modules/inttypes).
50216
50217 2007-10-06  Bruno Haible  <bruno@clisp.org>
50218
50219         * modules/trunc (Dependencies): Add 'extensions'.
50220         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
50221         Reported by Ben Pfaff <blp@gnu.org>.
50222
50223 2007-10-06  Bruno Haible  <bruno@clisp.org>
50224
50225         * modules/freopen-tests: New file.
50226         * tests/test-freopen.c: New file.
50227
50228         * modules/fopen-tests: New file.
50229         * tests/test-fopen.c: New file.
50230
50231         * modules/fopen: New file.
50232         * lib/fopen.c: New file.
50233         * m4/fopen.m4: New file.
50234         * modules/freopen: New file.
50235         * lib/freopen.c: New file.
50236         * m4/freopen.m4: New file.
50237         * lib/stdio.in.h (fopen, freopen): New declarations.
50238         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
50239         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
50240         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
50241         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
50242         * doc/functions/fopen.texi: Mention the 'fopen' module.
50243         * doc/functions/freopen.texi: Mention the 'freopen' module.
50244
50245 2007-10-06  Bruno Haible  <bruno@clisp.org>
50246
50247         * modules/open-tests: New file.
50248         * tests/test-open.c: New file.
50249
50250         * modules/open: New file.
50251         * lib/open.c: New file.
50252         * m4/open.m4: New file.
50253         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
50254         lib/open.c does.
50255         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
50256         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
50257         macros.
50258         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
50259         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
50260         REPLACE_OPEN.
50261         * doc/functions/open.texi: Mention the 'open' module.
50262
50263 2007-10-04  Bruno Haible  <bruno@clisp.org>
50264
50265         * modules/ceill-tests: New file.
50266         * tests/test-ceill.c: New file.
50267
50268         * modules/ceill: New file.
50269         * lib/ceill.c: Replace entire file.
50270         * m4/ceill.m4: New file.
50271         * lib/math.in.h (ceill): Replace declaration.
50272         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
50273         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
50274         * doc/functions/ceill.texi: Mention the 'ceill' module.
50275         * modules/mathl (Files): Remove lib/ceill.c.
50276         (Depends-on): Add ceill.
50277
50278 2007-10-04  Bruno Haible  <bruno@clisp.org>
50279
50280         * modules/ceilf-tests: New file.
50281         * tests/test-ceilf.c: New file.
50282
50283         * modules/ceilf: New file.
50284         * lib/ceil.c: New file.
50285         * lib/ceilf.c: New file.
50286         * m4/ceilf.m4: New file.
50287         * lib/math.in.h (ceilf): New declaration.
50288         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
50289         HAVE_DECL_CEILF.
50290         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
50291         HAVE_DECL_CEILF.
50292         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
50293
50294 2007-10-04  Bruno Haible  <bruno@clisp.org>
50295
50296         * modules/floorl-tests: New file.
50297         * tests/test-floorl.c: New file.
50298
50299         * modules/floorl: New file.
50300         * lib/floorl.c: Replace entire file.
50301         * m4/floorl.m4: New file.
50302         * lib/math.in.h (floorl): Replace declaration.
50303         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
50304         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
50305         * doc/functions/floorl.texi: Mention the 'floorl' module.
50306         * modules/mathl (Files): Remove lib/floorl.c.
50307         (Depends-on): Add floorl.
50308
50309 2007-10-04  Bruno Haible  <bruno@clisp.org>
50310
50311         * modules/floorf-tests: New file.
50312         * tests/test-floorf.c: New file.
50313
50314         * modules/floorf: New file.
50315         * lib/floor.c: New file.
50316         * lib/floorf.c: New file.
50317         * m4/floorf.m4: New file.
50318         * lib/math.in.h (floorf): New declaration.
50319         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
50320         HAVE_DECL_FLOORF.
50321         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
50322         HAVE_DECL_FLOORF.
50323         * doc/functions/floorf.texi: Mention the 'floorf' module.
50324
50325 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
50326             Bruno Haible  <bruno@clisp.org>
50327
50328         Advertise for the Git server instead of the CVS server.
50329         * doc/gnulib-intro.texi (Steady Development): Mention the Git
50330         repository instead of the CVS one.
50331         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
50332         about all VCS systems generically.
50333         * doc/gnulib.texi (Introduction): Capitalize `Git'.
50334
50335 2007-10-04  Bruno Haible  <bruno@clisp.org>
50336
50337         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
50338         means.
50339         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
50340
50341 2007-10-04  Bruno Haible  <bruno@clisp.org>
50342
50343         * modules/truncl-tests: New file.
50344         * tests/test-truncl.c: New file.
50345
50346         * modules/truncl: New file.
50347         * lib/truncl.c: New file.
50348         * m4/truncl.m4: New file.
50349         * lib/math.in.h (truncl): New declaration.
50350         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
50351         HAVE_DECL_TRUNCL.
50352         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
50353         HAVE_DECL_TRUNCL.
50354         * doc/functions/truncl.texi: Mention the 'truncl' module.
50355
50356 2007-10-04  Bruno Haible  <bruno@clisp.org>
50357
50358         * modules/truncf-tests: New file.
50359         * tests/test-truncf.c: New file.
50360
50361         * modules/truncf: New file.
50362         * lib/trunc.c: Make paramerizable through USE_* macros.
50363         * lib/truncf.c: New file.
50364         * m4/truncf.m4: New file.
50365         * lib/math.in.h (truncf): New declaration.
50366         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
50367         HAVE_DECL_TRUNCF.
50368         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
50369         HAVE_DECL_TRUNCF.
50370         * doc/functions/truncf.texi: Mention the 'truncf' module.
50371
50372 2007-10-03  Bruno Haible  <bruno@clisp.org>
50373
50374         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
50375         augmentation also for tests modules.
50376         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
50377         * modules/atexit-tests (Makefile.am): Likewise.
50378         * modules/binary-io-tests (Makefile.am): Likewise.
50379         * modules/c-strcase-tests (Makefile.am): Likewise.
50380         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
50381         * modules/canonicalize-tests (Makefile.am): Likewise.
50382         * modules/closein-tests (Makefile.am): Likewise.
50383         * modules/fprintf-posix-tests (Makefile.am): Likewise.
50384         * modules/freadahead-tests (Makefile.am): Likewise.
50385         * modules/fseek-tests (Makefile.am): Likewise.
50386         * modules/fseeko-tests (Makefile.am): Likewise.
50387         * modules/ftell-tests (Makefile.am): Likewise.
50388         * modules/ftello-tests (Makefile.am): Likewise.
50389         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
50390         * modules/isnanl-tests (Makefile.am): Likewise.
50391         * modules/lseek-tests (Makefile.am): Likewise.
50392         * modules/mbscasecmp-tests (Makefile.am): Likewise.
50393         * modules/mbscasestr-tests (Makefile.am): Likewise.
50394         * modules/mbschr-tests (Makefile.am): Likewise.
50395         * modules/mbscspn-tests (Makefile.am): Likewise.
50396         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
50397         * modules/mbspbrk-tests (Makefile.am): Likewise.
50398         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
50399         * modules/mbsrchr-tests (Makefile.am): Likewise.
50400         * modules/mbsspn-tests (Makefile.am): Likewise.
50401         * modules/mbsstr-tests (Makefile.am): Likewise.
50402         * modules/printf-posix-tests (Makefile.am): Likewise.
50403         * modules/snprintf-posix-tests (Makefile.am): Likewise.
50404         * modules/sprintf-posix-tests (Makefile.am): Likewise.
50405         * modules/tsearch-tests (Makefile.am): Likewise.
50406         * modules/uniname/uniname-tests (Makefile.am): Likewise.
50407         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
50408         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
50409         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
50410         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
50411         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
50412         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
50413         * modules/vprintf-posix-tests (Makefile.am): Likewise.
50414         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
50415         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
50416         * modules/xstrtoimax-tests (Makefile.am): Likewise.
50417         * modules/xstrtol-tests (Makefile.am): Likewise.
50418         * modules/xstrtoumax-tests (Makefile.am): Likewise.
50419         * modules/yesno-tests (Makefile.am): Likewise.
50420
50421 2007-10-03  Bruno Haible  <bruno@clisp.org>
50422
50423         * modules/trunc-tests: New file.
50424         * tests/test-trunc.c: New file.
50425
50426         * modules/trunc: New file.
50427         * lib/trunc.c: New file.
50428         * m4/trunc.m4: New file.
50429         * lib/math.in.h (trunc): New declaration.
50430         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
50431         HAVE_DECL_TRUNC.
50432         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
50433         HAVE_DECL_TRUNC.
50434         * doc/functions/trunc.texi: Mention the 'trunc' module.
50435
50436 2007-10-03  Bruno Haible  <bruno@clisp.org>
50437
50438         * tests/test-fpending.c: New file, mostly copied
50439         from coreutils/lib/t-fpending.c.
50440         * modules/fpending-tests: New file.
50441
50442 2007-10-03  Bruno Haible  <bruno@clisp.org>
50443
50444         Port the stdio extensions to QNX (untested).
50445         * lib/fseterr.c (fseterr): Add support for QNX.
50446         * lib/fbufmode.c (fbufmode): Likewise.
50447         * lib/freadable.c (freadable): Likewise.
50448         * lib/fwritable.c (fwritable): Likewise.
50449         * lib/freading.c (freading): Likewise.
50450         * lib/fwriting.c (fwriting): Likewise.
50451         * lib/freadahead.c (freadahed): Likewise.
50452         * lib/fpurge.c (fpurge): Likewise.
50453         * lib/fseeko.c (rpl_fseeko): Likewise.
50454
50455 2007-10-03  Bruno Haible  <bruno@clisp.org>
50456             Jim Meyering  <jim@meyering.net>
50457             Eric Blake  <ebb9@byu.net>
50458
50459         * doc/relocatable.texi: Use @command instead of @program.
50460
50461 2007-10-02  Jim Meyering  <jim@meyering.net>
50462
50463         Perform one more "_.h" -> ".in.h" substitution.
50464         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
50465         instead of unistd_.h here, too.
50466
50467 2007-10-01  Bruno Haible  <bruno@clisp.org>
50468
50469         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
50470         Needed for the alloca-opt module.
50471
50472 2007-09-30  Bruno Haible  <bruno@clisp.org>
50473
50474         * lib/alloca.in.h: Renamed from lib/alloca_.h.
50475         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
50476         alloca_.h.
50477         * lib/argz.in.h: Renamed from lib/argz_.h.
50478         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
50479         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
50480         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
50481         byteswap_.h.
50482         * lib/dirent.in.h: Renamed from lib/dirent_.h.
50483         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
50484         dirent_.h.
50485         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
50486         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
50487         fcntl_.h.
50488         * lib/float.in.h: Renamed from lib/float_.h.
50489         * modules/float (Files, Makefile.am): Use float.in.h instead of
50490         float_.h.
50491         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
50492         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
50493         fnmatch_.h.
50494         * lib/getopt.in.h: Renamed from lib/getopt_.h.
50495         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
50496         getopt_.h.
50497         * lib/glob.in.h: Renamed from lib/glob_.h.
50498         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
50499         * lib/iconv.in.h: Renamed from lib/iconv_.h.
50500         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
50501         iconv_.h.
50502         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
50503         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
50504         inttypes_.h.
50505         * lib/locale.in.h: Renamed from lib/locale_.h.
50506         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
50507         locale_.h.
50508         * lib/math.in.h: Renamed from lib/math_.h.
50509         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
50510         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
50511         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
50512         of netinet_in_.h. Add dependency.
50513         * lib/poll.in.h: Renamed from lib/poll_.h.
50514         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
50515         * lib/search.in.h: Renamed from lib/search_.h.
50516         * modules/search (Files, Makefile.am): Use search.in.h instead of
50517         search_.h.
50518         * lib/signal.in.h: Renamed from lib/signal_.h.
50519         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
50520         _signal.h.
50521         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
50522         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
50523         stdbool_.h.
50524         * lib/stdint.in.h: Renamed from lib/stdint_.h.
50525         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
50526         stdint_.h.
50527         * lib/stdio.in.h: Renamed from lib/stdio_.h.
50528         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
50529         stdio_.h.
50530         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
50531         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
50532         stdlib_.h.
50533         * lib/string.in.h: Renamed from lib/string_.h.
50534         * modules/string (Files, Makefile.am): Use string.in.h instead of
50535         string_.h.
50536         * doc/gnulib-tool.texi (Initial import): Update.
50537         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
50538         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
50539         of sys_select_.h. Add dependency.
50540         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
50541         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
50542         of sys_socket_.h.
50543         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
50544         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
50545         sys_stat_.h.
50546         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
50547         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
50548         sys_time_.h.
50549         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
50550         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
50551         sysexits_.h.
50552         * lib/time.in.h: Renamed from lib/time_.h.
50553         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
50554         * lib/unistd.in.h: Renamed from lib/unistd_.h.
50555         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
50556         unistd_.h.
50557         * lib/wchar.in.h: Renamed from lib/wchar_.h.
50558         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
50559         wchar_.h.
50560         * lib/wctype.in.h: Renamed from lib/wctype_.h.
50561         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
50562         wctype_.h.
50563         * build-aux/bootstrap (slurp): Update.
50564         * lib/.cppi-disable: Update.
50565
50566 2007-09-30  Bruno Haible  <bruno@clisp.org>
50567
50568         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
50569         Needed on BeOS.
50570
50571 2007-09-30  Bruno Haible  <bruno@clisp.org>
50572
50573         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
50574
50575 2007-09-29  Bruno Haible  <bruno@clisp.org>
50576
50577         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
50578
50579 2007-09-29  Bruno Haible  <bruno@clisp.org>
50580
50581         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
50582         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
50583         * build-aux/install-reloc: Compile also areadlink.c.
50584         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
50585
50586 2007-09-29  Bruno Haible  <bruno@clisp.org>
50587
50588         * gnulib-tool (func_emit_initmacro_done): Indentation.
50589
50590 2007-09-29  Bruno Haible  <bruno@clisp.org>
50591
50592         * README: Add CVS checkout update instructions.
50593         Info from Bob Proulx <bob@proulx.com>.
50594
50595 2007-09-28  Eric Blake  <ebb9@byu.net>
50596
50597         Provide move-if-change.
50598         * build-aux/move-if-change: New file, based on best practice
50599         rather than any canonical upstream location.
50600
50601 2007-09-28  Jim Meyering  <jim@meyering.net>
50602
50603         Fix canonicalize loop-detection corner case.
50604         Do not attempt to stat the symlink values stored via seen_triple.
50605         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
50606         on linux-2.6.18, (but not 2.6.22).
50607         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
50608         triple_compare.  The former compares dev,ino,filename, while the latter
50609         would actually stat dirname(filename) when dev and ino were equal.
50610         * lib/hash-triple.c: Install <string.h>.
50611         (STREQ): Define.
50612         (triple_compare_ino_str): New function.
50613         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
50614
50615 2007-09-28  Eric Blake  <ebb9@byu.net>
50616
50617         Enforce that AC_REPLACE_FUNCS files exist.
50618         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
50619         override check for typos.
50620
50621         Fix test-closein on Solaris 10.
50622         * tests/test-closein.c (main): Don't assume stdin can be inherited
50623         closed on all systems.
50624         * tests/test-closein.sh: Likewise.
50625         Reported by Piotr Tarnowski.
50626
50627 2007-09-28  Jim Meyering  <jim@meyering.net>
50628
50629         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
50630
50631 2007-09-27  Jim Meyering  <jim@meyering.net>
50632
50633         canonicalize: Avoid a false-positive cycle failure.
50634         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
50635         Sort.  Remove cycle-check.
50636         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
50637         not cycle-check.h.
50638         (seen_triple): New function.
50639         (canonicalize_filename_mode): Use it instead of cycle-check.
50640         * tests/test-canonicalize.c: Add a test for this bug.
50641         * tests/test-canonicalize.sh: Set up and run the test.
50642
50643         New module, file-set, from coreutils.
50644         * modules/file-set: Define it.
50645         * lib/file-set.c, lib/file-set.h: Implement.
50646
50647         New module, hash-triple, from coreutils.
50648         * modules/hash-triple: Define it.
50649         * lib/hash-triple.c, lib/hash-triple.h: Implement.
50650
50651 2007-09-25  Eric Blake  <ebb9@byu.net>
50652
50653         Fix strerror on Interix.
50654         * lib/string_.h (strerror): Declare replacement.
50655         * doc/functions/strerror.texi (strerror): Document the Interix
50656         shortcoming.
50657         * modules/string (Makefile.am): Support new hooks.
50658         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
50659         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
50660         gl_FUNC_STRERROR_SEPARATE.
50661         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
50662         * lib/strerror.c (rpl_strerror): Provide replacement.
50663         * modules/strerror (Depends-on): Add string.
50664         (configure.ac): Detect use of module.
50665         * tests/test-strerror.c: New file.
50666         * modules/strerror-tests: New test module.
50667         * modules/argp (Depends-on): Add strerror.
50668         * modules/error (Depends-on): Likewise.
50669         Reported by Martin Koeppe.
50670
50671 2007-09-24  Bruno Haible  <bruno@clisp.org>
50672
50673         * README: Update git instructions.
50674
50675 2007-09-24  Eric Blake  <ebb9@byu.net>
50676
50677         Revert fpending breakage from 2007-09-08.
50678         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
50679         __fpending.c.
50680
50681 2007-09-24  Jim Meyering  <jim@meyering.net>
50682
50683         filenamecat.c: Add a test.
50684         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
50685         showing how the function works when DIR is the empty string.
50686
50687 2007-09-21  Simon Josefsson  <simon@josefsson.org>
50688
50689         * tests/test-canonicalize.sh: Turn on executable bit.
50690
50691 2007-09-19  Eric Blake  <ebb9@byu.net>
50692
50693         * README: Update CVS instructions.
50694
50695 2007-09-18  Bruno Haible  <bruno@clisp.org>
50696
50697         * modules/areadlink: New file.
50698         * lib/areadlink.h (areadlink): New declaration.
50699         * lib/areadlink.c: New file, based on lib/xreadlink.c.
50700
50701 2007-09-17  Jim Meyering  <jim@meyering.net>
50702
50703         * lib/savewd.c (ESTALE) [!defined]: Define.
50704         Reported to be required on Interix by Martin Koeppe.
50705
50706 2007-09-17  Bruno Haible  <bruno@clisp.org>
50707
50708         * gnulib-tool (func_version): Use $version.
50709
50710 2007-09-16  Bruno Haible  <bruno@clisp.org>
50711
50712         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
50713         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
50714         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
50715         Reported by Greg Schafer <gschafer@zip.com.au>.
50716
50717 2007-09-15  Bruno Haible  <bruno@clisp.org>
50718
50719         * gnulib-tool (sed): Try a little harder to make bash understand the
50720         alias.
50721         Reported by Bruce Korb <bruce.korb@gmail.com>.
50722
50723 2007-09-13  Eric Blake  <ebb9@byu.net>
50724
50725         * ChangeLog: Remove conflict markers.
50726
50727 2007-09-13  Simon Josefsson  <simon@josefsson.org>
50728
50729         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
50730         Reported by Bruno Haible <bruno@clisp.org>.
50731
50732 2007-09-12  Bruno Haible  <bruno@clisp.org>
50733
50734         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
50735         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
50736         is not defined.
50737
50738 2007-09-12  Eric Blake  <ebb9@byu.net>
50739
50740         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
50741         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
50742         Autoconf definition.
50743         * modules/euidaccess (Depends-on): Add extensions, for
50744         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
50745         * modules/fnmatch (Depends-on): Likewise.
50746         * modules/getaddrinfo (Depends-on): Likewise.
50747         * modules/getdelim (Depends-on): Likewise.
50748         * modules/getline (Depends-on): Likewise.
50749         * modules/getsubopt (Depends-on): Likewise.
50750         * modules/gettext (Depends-on): Likewise.
50751         * modules/group-member (Depends-on): Likewise.
50752         * modules/mbchar (Depends-on): Likewise.
50753         * modules/memmem (Depends-on): Likewise.
50754         * modules/mempcpy (Depends-on): Likewise.
50755         * modules/memrchr (Depends-on): Likewise.
50756         * modules/pagealign_alloc (Depends-on): Likewise.
50757         * modules/readutmp (Depends-on): Likewise.
50758         * modules/stpcpy (Depends-on): Likewise.
50759         * modules/stpncpy (Depends-on): Likewise.
50760         * modules/strchrnul (Depends-on): Likewise.
50761         * modules/strndup (Depends-on): Likewise.
50762         * modules/strsep (Depends-on): Likewise.
50763         * modules/strverscmp (Depends-on): Likewise.
50764         * modules/vasprintf (Depends-on): Likewise.
50765         * modules/wcwidth (Depends-on): Likewise.
50766         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
50767         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
50768         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
50769         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
50770         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
50771         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
50772         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
50773         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
50774         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
50775         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
50776         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
50777         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
50778         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
50779         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
50780         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
50781         * m4/readutmp.m4 (gl_READUTMP): Likewise.
50782         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
50783         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
50784         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
50785         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
50786         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
50787         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
50788         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
50789         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
50790         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
50791         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
50792         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
50793         so that lock.m4 can be used in gettext without extensions module.
50794
50795 2007-09-11  Bruno Haible  <bruno@clisp.org>
50796
50797         * m4/isc-posix.m4: Remove file.
50798         Suggested by Eric Blake.
50799
50800 2007-09-11  Eric Blake  <ebb9@byu.net>
50801
50802         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
50803
50804 2007-09-10  Bruno Haible  <bruno@clisp.org>
50805
50806         * posix-modules: Fix typo in error message.
50807         Reported by Matt <mkraai@beckman.com>.
50808
50809 2007-09-09  Bruno Haible  <bruno@clisp.org>
50810
50811         * doc/functions/getdelim.texi: Update list of platforms lacking the
50812         function.
50813         * doc/functions/getline.texi: Likewise.
50814
50815 2007-09-09  Jim Meyering  <jim@meyering.net>
50816
50817         * lib/hash.c (hash_initialize): Detect calloc failure.
50818         Reported by Bruno Haible.
50819
50820 2007-09-09  Bruno Haible  <bruno@clisp.org>
50821
50822         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
50823         malloc or realloc fails.
50824
50825 2007-09-09  Bruno Haible  <bruno@clisp.org>
50826
50827         * modules/getcwd (Depends-on): Add malloc-posix.
50828         * modules/glob (Depends-on): Likewise.
50829         * modules/putenv (Depends-on): Likewise.
50830         * modules/strdup (Depends-on): Likewise.
50831         * modules/getdelim (Depends-on): Add realloc-posix.
50832         * modules/read-file (Depends-on): Likewise.
50833
50834 2007-09-09  Bruno Haible  <bruno@clisp.org>
50835
50836         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
50837         (gl_FUNC_MALLOC_POSIX): Require it.
50838         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
50839         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
50840         * modules/realloc (Files): Add m4/malloc.m4.
50841         * modules/calloc (Files): Likewise.
50842
50843 2007-09-09  Bruno Haible  <bruno@clisp.org>
50844
50845         * modules/malloc-posix: New file.
50846         * modules/malloc (Depends-on): Add malloc-posix.
50847         * lib/malloc.c: Include errno.h.
50848         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
50849         and a POSIX-compatible malloc into a single function. Set ENOMEM
50850         when returning NULL.
50851         * m4/malloc.m4: New file.
50852         * doc/functions/malloc.texi: Mention the malloc-posix module.
50853         * lib/stdlib_.h (malloc): New declaration.
50854         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
50855         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
50856         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
50857         and HAVE_MALLOC_POSIX.
50858
50859 2007-09-09  Bruno Haible  <bruno@clisp.org>
50860
50861         * modules/realloc-posix: New file.
50862         * modules/realloc (Depends-on): Add realloc-posix.
50863         * lib/realloc.c: Include errno.h.
50864         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
50865         and a POSIX-compatible realloc into a single function. Set ENOMEM
50866         when returning NULL.
50867         * m4/realloc.m4: New file.
50868         * doc/functions/realloc.texi: Mention the realloc-posix module.
50869         * lib/stdlib_.h (realloc): New declaration.
50870         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
50871         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
50872         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
50873         and HAVE_REALLOC_POSIX.
50874
50875 2007-09-09  Bruno Haible  <bruno@clisp.org>
50876
50877         * modules/calloc-posix: New file.
50878         * modules/calloc (Depends-on): Add calloc-posix.
50879         * lib/calloc.c: Include errno.h.
50880         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
50881         and a POSIX-compatible calloc into a single function. Set ENOMEM
50882         when returning NULL.
50883         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
50884         * doc/functions/calloc.texi: Mention the calloc-posix module.
50885         * lib/stdlib_.h (calloc): New declaration.
50886         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
50887         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
50888         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
50889         and HAVE_CALLOC_POSIX.
50890
50891 2007-09-09  Bruno Haible  <bruno@clisp.org>
50892
50893         Allow for modules to show an arbitrary notice.
50894         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
50895         * gnulib-tool: New option --extract-notice.
50896         (func_usage): Document it.
50897         (sed_extract_prog): Update.
50898         (func_get_notice): New function.
50899         (func_modules_notice): New function.
50900         (func_import, func_create_testdir): Invoke it.
50901         Suggested by Jim Meyering.
50902
50903 2007-09-09  Bruno Haible  <bruno@clisp.org>
50904
50905         * gnulib-tool: New options --verbose, --quiet.
50906         (func_usage): Document them.
50907         (verbose): New variable.
50908         (func_execute_command): New function.
50909         (func_import): Don't show the module list and the file list if
50910         $verbose < 0.
50911         (func_create_testdir): Likewise. Use func_execute_command.
50912         (func_create_megatestdir): Use func_execute_command.
50913
50914 2007-09-08  Bruno Haible  <bruno@clisp.org>
50915
50916         * gnulib-tool (func_import): Prefer rsync over wget when available,
50917         for fetching the PO files.
50918
50919 2007-09-08  Bruno Haible  <bruno@clisp.org>
50920
50921         * posix-modules: New file. Portions copied from gnulib-tool.
50922         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
50923
50924 2007-09-08  Jim Meyering  <jim@meyering.net>
50925
50926         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
50927         * lib/fpending.h: Rename from __fpending.h.
50928         * lib/fpending.c: Rename from __fpending.c.
50929         Include "fpending.h", not "__fpending.h".
50930         * lib/__fpending.h, lib/__fpending.c: Remove files.
50931         * modules/fpending (Files): Reflect new file names.
50932         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
50933
50934 2007-09-08  Bruno Haible  <bruno@clisp.org>
50935
50936         * m4/inttypes-h.m4: Remove stub file.
50937
50938 2007-09-07  Simon Josefsson  <simon@josefsson.org>
50939
50940         * doc/headers/stdint.texi: Discuss #include_next issue.
50941
50942 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
50943
50944         * build-aux/bootstrap: Remove obsolete comment about wget --help.
50945
50946 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50947
50948         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
50949         in variable name.
50950
50951 2007-09-03  Jim Meyering  <jim@meyering.net>
50952
50953         New module: git-version-gen.
50954         * modules/git-version-gen: New file.
50955
50956         Import changes from coreutils for bootstrap script.
50957
50958         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
50959
50960         bootstrap: uses rsync to download the .po files
50961         * build-aux/bootstrap (po_download_command_format): New global.
50962         (download_po_files): Use rsync.
50963         (update_po_files): Don't remove .po files after download,
50964         so future rsync runs can take advantage of the copies.
50965
50966         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
50967
50968         Solve the unnecessary-.po-file-regeneration problem once and for all.
50969         * build-aux/bootstrap (download_po_files): New function, renamed from
50970         get_translations.  Now, downloads, but doesn't update LINGUAS.
50971         (update_po_files): New function.
50972
50973         bootstrap: Ignore more.
50974         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
50975         uniwidth to e.g., lib/.gitignore.
50976         (slurp): Handle the sys_stat_.h -> sys mapping, too.
50977
50978         * build-aux/bootstrap: New setting: vc_ignore.
50979         (insert_sorted_if_absent): Create $file if absent.
50980         Adapt to new, possibly empty, list: $vc_ignore.
50981
50982         bootstrap: generate more ignorable names
50983         * build-aux/bootstrap (slurp): When generating ignorable names,
50984         also map .sin to .sed, .gperf to .c, and .y to .c.
50985
50986 2007-09-03  Jim Meyering  <jim@meyering.net>
50987
50988         * build-aux/git-version-gen: New file, from coreutils.  For details, see
50989         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
50990
50991 2007-09-02  Bruno Haible  <bruno@clisp.org>
50992
50993         Fix mis-recognition of 'mcs' on QNX 6.
50994         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
50995         output contains the string "Mono".
50996         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
50997         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
50998
50999 2007-09-01  Bruno Haible  <bruno@clisp.org>
51000
51001         Fix collision between uniwidth/* and linebreak modules.
51002         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
51003         u32_width): Remove declarations.
51004         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
51005         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
51006         streq3, streq2, streq1, streq0): Remove functions.
51007         (STREQ): Remove macro.
51008         (is_cjk_encoding): Remove function.
51009         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
51010         (uc_width, u8_width, u16_width, u32_width): Remove functions.
51011         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
51012         * NEWS: Document the change.
51013
51014 2007-09-01  Bruno Haible  <bruno@clisp.org>
51015
51016         * lib/streq.h: Add double-inclusion guard.
51017
51018 2007-09-01  Karl Berry  <karl@gnu.org>
51019
51020         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
51021
51022 2007-08-28  Jim Meyering  <jim@meyering.net>
51023
51024         Rename mreadlink_with_size to areadlink_with_size.
51025         * NEWS: Document the change.
51026         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
51027         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
51028         * lib/mreadlink.h: Rename this to...
51029         * lib/areadlink.h: ...this.
51030         * modules/mreadlink-with-size: Rename this to...
51031         * modules/areadlink-with-size: ...this.
51032         * lib/canonicalize.c: Reflect the renaming.
51033         * modules/canonicalize: Likewise.
51034
51035 2007-08-26  Bruno Haible  <bruno@clisp.org>
51036
51037         * gnulib-tool (func_import): When deciding which files to remove,
51038         consider also dangling symbolic links.
51039         Reported by Eric Blake.
51040
51041 2007-08-26  Bruno Haible  <bruno@clisp.org>
51042
51043         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
51044
51045 2007-08-23  Simon Josefsson  <simon@josefsson.org>
51046
51047         * lib/readline.c: Don't include getline.h, the prototype is now
51048         found in stdio.h.
51049
51050 2007-08-23  Jim Meyering  <jim@meyering.net>
51051
51052         Getdelim touchup.
51053         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
51054         around the funlockfile call, since funlockfile never sets errno.
51055         Don't set errno upon failed realloc.
51056
51057 2007-08-22  Eric Blake  <ebb9@byu.net>
51058
51059         Getline touchups.
51060         * lib/getdelim.c (getdelim): Revert regression that required *n to
51061         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
51062         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
51063         getdelim, rather than whether implementation is missing.
51064         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
51065         * lib/stdio_.h (getline): Also declare if replacement is
51066         required.
51067         * doc/functions/getdelim.texi: New file.
51068         * doc/functions/getline.texi: Likewise.
51069         * doc/gnulib.texi (Function Substitutes): Add new files.
51070         Reported by Bruno Haible.
51071
51072 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
51073
51074         * users.txt: Add Guile.
51075
51076 2007-08-22  Eric Blake  <ebb9@byu.net>
51077
51078         * tests/test-getdelim.c (main): Use remove, not unlink.
51079         * tests/test-getline.c (main): Likewise.
51080
51081         Move getline and getdelim into stdio.h, per POSIX 200x.
51082         * modules/getline (Files): Remove getline.h.
51083         (Depends-on): Add stdio.
51084         (configure.ac): Add module indicator.
51085         * modules/getdelim (Files): Remove getdelim.h.
51086         (Depends-on): Add stdio.
51087         (configure.ac): Add module indicator.
51088         * modules/stdio (Makefile.am): Work with new indicators.
51089         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
51090         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
51091         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
51092         * lib/getdelim.h: Delete.
51093         * lib/getline.h: Delete.
51094         * lib/stdio_.h (getdelim, getline): Declare.
51095         * modules/getdelim-tests: New module.
51096         * modules/getline-tests: Likewise.
51097         * tests/test-getdelim.c: New file.
51098         * tests/test-getline.c: Likewise.
51099         * NEWS: Document the change.
51100         * lib/getline.c: Update choice of header.
51101         * lib/csharpcomp.c: Likewise.
51102         * lib/getpass.c: Likewise.
51103         * lib/javacomp.c: Likewise.
51104         * lib/javaversion.c: Likewise.
51105         * lib/yesno.c: Likewise.
51106         * lib/getdelim.c: Likewise.
51107         (getdelim): Set errno on failure, and avoid memory leak.
51108
51109 2007-08-19  Bruno Haible  <bruno@clisp.org>
51110
51111         * modules/closein (Depends-on): Add freadahead.
51112         * lib/closein.c: Include freadahead.h.
51113         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
51114         is zero.
51115
51116 2007-08-19  Bruno Haible  <bruno@clisp.org>
51117
51118         * modules/freadahead-tests: New file.
51119         * tests/test-freadahead.sh: New file.
51120         * tests/test-freadahead.c: New file.
51121
51122         * modules/freadahead: New file.
51123         * lib/freadahead.h: New file.
51124         * lib/freadahead.c: New file.
51125         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
51126         fbufmode, fpurge, freadable, fwritable.
51127
51128 2007-08-19  Eric Blake  <ebb9@byu.net>
51129
51130         Test yesno in combination with closein.
51131         * lib/yesno.c (yesno): Document use of stdin.
51132         * modules/yesno-tests (Files): New module.
51133         * tests/test-yesno.c (main): New file.
51134         * tests/test-yesno.sh: Likewise.
51135
51136 2007-08-19  Bruno Haible  <bruno@clisp.org>
51137
51138         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
51139         * lib/fseeko.c (rpl_fseeko): Likewise.
51140         * lib/fseterr.c (fseterr): Likewise.
51141
51142 2007-08-19  Bruno Haible  <bruno@clisp.org>
51143
51144         * tests/test-lseek.c (main): Disable a test for BeOS.
51145         * doc/functions/lseek.texi: Document the BeOS bug.
51146
51147 2007-08-19  Bruno Haible  <bruno@clisp.org>
51148             Eric Blake  <ebb9@byu.net>
51149
51150         * lib/lseek.c: Include <sys/stat.h>.
51151         (rpl_lseek): Add workaround code also for Unix platforms.
51152         Needed for BeOS.
51153         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
51154         * doc/functions/lseek.texi: Document BeOS definiency.
51155
51156 2007-08-18  Bruno Haible  <bruno@clisp.org>
51157
51158         * modules/fstrcmp-tests: New file.
51159         * tests/test-fstrcmp.c: New file.
51160
51161 2007-08-18  Bruno Haible  <bruno@clisp.org>
51162
51163         * modules/fstrcmp: New file, from GNU gettext with modifications.
51164         * lib/fstrcmp.h: New file, from GNU gettext.
51165         * lib/fstrcmp.c: New file, from GNU gettext.
51166         * MODULES.html.sh (String handling): Add fstrcmp.
51167
51168 2007-08-18  Bruno Haible  <bruno@clisp.org>
51169
51170         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
51171         'bool'.
51172         (diag, compareseq): Remove const from the ctxt argument.
51173         (USE_HEURISTIC): Undefine at the end.
51174
51175 2007-08-18  Jim Meyering  <jim@meyering.net>
51176
51177         New file: lib/idcache.h
51178         * NEWS: Mention the addition.
51179         * modules/idcache (Files): Add lib/idcache.h
51180         * lib/idcache.c: Include "idcache.h".
51181         Don't include <sys/types.h>.
51182         Add a FIXME comment.
51183         Move file-scoped "static" declarations to the top.
51184         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
51185
51186 2007-08-17  Bruno Haible  <bruno@clisp.org>
51187         and Paul Eggert  <eggert@cs.ucla.edu>
51188
51189         * MODULES.html.sh: Add diffseq.
51190         * modules/diffseq: New file.
51191         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
51192         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
51193
51194 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
51195
51196         Import changes from coreutils for bootstrap script.
51197
51198         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
51199
51200         * build-aux/bootstrap (slurp): Work even in environments where
51201         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
51202         current code does not slurp files whose names start with ".", and
51203         this looks like it might be a troublesome area.
51204
51205         2007-07-11  Jim Meyering  <jim@meyering.net>
51206
51207         If there's a GPL vN copyright comment, require that N == 3.
51208
51209         2007-07-08  Jim Meyering  <jim@meyering.net>
51210
51211         Run the coreutils-specific code only if tests/Makefile.am.in exists.
51212         * build-aux/bootstrap (mam_template): Move definition out of loop.
51213
51214         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
51215
51216         * build-aux/bootstrap (symlink_to_dir): Rename function from
51217         symlink_to_gnulib.  Add a directory parameter.  Update all
51218         callers.
51219         (cp_mark_as_generated): Also check for -- and link to -- files in
51220         gl/.
51221
51222         2007-07-08  Jim Meyering  <jim@meyering.net>
51223
51224         Adapt to deeper hierarchy in gnulib.
51225         * build-aux/bootstrap (symlink_to_dir): If the destination
51226         directory doesn't exist, create it. This is required at least for
51227         "lib/uniwidth/cjk.h".
51228
51229         2007-05-15  Jim Meyering  <jim@meyering.net>
51230
51231         * build-aux/bootstrap: Now that generated Makefile.am files
51232         are no longer under version control, they must be created at
51233         bootstrap time.
51234
51235 2007-08-14  Ben Pfaff  <blp@gnu.org>
51236
51237         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
51238
51239 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
51240
51241         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
51242         given the changes below.
51243         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
51244         even on hosts that have padding bits beyond the supported 64.
51245
51246 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
51247
51248         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
51249         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
51250         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
51251         depends on it.
51252         (xstrtol_error): Remove.
51253         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
51254         but with a different signature.
51255         (ATTRIBUTE_NORETURN, __attribute__): New macros.
51256         * lib/xstrtol-error.c: Include exitfail.h.
51257         (xstrtol_fatal): New function, with a different signature from the
51258         old xstrtol_error, so that the caller need not worry about passing
51259         in an exit status, or about storage management of the option argument.
51260         (xstrtol_error): Now a static function.  Redo signature to
51261         implement xstrtol_fatal.  Output the correct number of hyphens in
51262         front of the option so that the caller need not worry about
51263         storage management.
51264         (N_): New macro.
51265         (_): Remove; not used now.
51266         * modules/xstrtol: Depend on getopt.
51267         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
51268         of old STRTOL_FATAL_ERROR macro.
51269         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
51270         of test program.
51271         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
51272         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
51273
51274 2007-08-08  Eric Blake  <ebb9@byu.net>
51275
51276         * lib/xstrtol-error.c: Add missing include.
51277
51278         Move xstrtol messages into gnulib domain, when --pobase is used.
51279         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
51280         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
51281         * modules/xstrtol (Files): Distribute new file.
51282         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
51283         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
51284         * tests/test-xstrtol.c: ...into new file.
51285         * tests/test-xstrtoul.c: Also test xstrtoul.
51286         * tests/test-xstrtoimax.c: Also test xstrtoimax.
51287         * tests/test-xstrtoumax.c: Also test xstrtoumax.
51288         * tests/test-xstrtol.sh: Drive the tests.
51289         * tests/test-xstrtoimax.sh: Likewise.
51290         * tests/test-xstrtoumax.sh: Likewise.
51291         * modules/xstrtol-tests: New module.
51292         * modules/xstrtoimax-tests: Likewise.
51293         * modules/xstrtoumax-tests: Likewise.
51294
51295 2007-08-08  Jim Meyering  <jim@meyering.net>
51296
51297         New function: mfile_name_concat.
51298         * lib/filenamecat.c (mfile_name_concat): New function, just like
51299         file_name_concat, but return NULL upon failure rather than exiting
51300         with a diagnostic.
51301         * lib/filenamecat.h: Declare it.
51302
51303 2007-08-07  Bruno Haible  <bruno@clisp.org>
51304
51305         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
51306         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
51307         warning from gcc.
51308         Reported by Eric Blake.
51309
51310 2007-08-07  Simon Josefsson  <simon@josefsson.org>
51311
51312         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
51313         * modules/crypto/arcfour (License): Likewise.
51314         * modules/crypto/des-tests (License): Likewise.
51315         * modules/crypto/gc-arctwo-tests (License): Likewise.
51316         * modules/crypto/gc-des-tests (License): Likewise.
51317         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
51318         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
51319         * modules/crypto/gc-md2-tests (License): Likewise.
51320         * modules/crypto/gc-md4-tests (License): Likewise.
51321         * modules/crypto/gc-md5-tests (License): Likewise.
51322         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
51323         * modules/crypto/gc-rijndael-tests (License): Likewise.
51324         * modules/crypto/gc-sha1-tests (License): Likewise.
51325         * modules/crypto/gc-tests (License): Likewise.
51326         * modules/crypto/hmac-md5 (License): Likewise.
51327         * modules/crypto/hmac-sha1 (License): Likewise.
51328         * modules/crypto/md2-tests (License): Likewise.
51329         * modules/crypto/md4-tests (License): Likewise.
51330         * modules/crypto/md5 (License): Likewise.
51331         * modules/crypto/rijndael (License): Likewise.
51332         * modules/crypto/sha1 (License): Likewise.
51333         * modules/memxor (License): Likewise.
51334
51335 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
51336         and Bruno Haible  <bruno@clisp.org>
51337
51338         * NEWS: Describe interface changes to human, xstrtol.
51339         * lib/human.h: Include <xstrtol.h>.
51340         (human_options): Return enum strtol_error, not int.  Remove
51341         bool arg; take int * instead.
51342         * lib/human.c: Don't include "gettext.h".
51343         (_): Remove; no longer used.
51344         Don't include <xstrtol.h>, since human.h does it.
51345         (human_options): Adjust to abovementioned interface changes.
51346         Do not report error to stderr; that's now the caller's
51347         responsibility.
51348         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
51349         interface change.
51350         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
51351         Str, Argument_type_string.  All uses changed.  Put " argument"
51352         in diagnostics to make them clearer.  Change wording of suffix
51353         message for clarity.
51354         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
51355         Argument_type_string.
51356         (STRTOL_FATAL_WARN): Remove; no longer used.
51357         * modules/human (Depends-on): Remove gettext-h.
51358
51359 2007-08-06  Simon Josefsson  <simon@josefsson.org>
51360
51361         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
51362
51363 2007-07-31  Bruno Haible  <bruno@clisp.org>
51364
51365         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
51366         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
51367         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
51368
51369 2007-07-31  Bruno Haible  <bruno@clisp.org>
51370
51371         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
51372         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
51373
51374 2007-07-30  Bruno Haible  <bruno@clisp.org>
51375
51376         * modules/base64 (License): Use the synonymous term "LGPLv2+".
51377         * modules/c-ctype (License): Likewise.
51378         * modules/c-strcase (License): Likewise.
51379         * modules/check-version (License): Likewise.
51380         * modules/iconv (License): Likewise.
51381         * modules/iconv_open (License): Likewise.
51382         * modules/read-file (License): Likewise.
51383         * modules/striconv (License): Likewise.
51384         * modules/strverscmp (License): Likewise.
51385         * modules/vasprintf (License): Likewise.
51386         * modules/crypto/des (License): Likewise.
51387         * modules/crypto/gc (License): Likewise.
51388         * modules/crypto/gc-arcfour (License): Likewise.
51389         * modules/crypto/gc-arctwo (License): Likewise.
51390         * modules/crypto/gc-des (License): Likewise.
51391         * modules/crypto/gc-hmac-md5 (License): Likewise.
51392         * modules/crypto/gc-hmac-sha1 (License): Likewise.
51393         * modules/crypto/gc-md2 (License): Likewise.
51394         * modules/crypto/gc-md4 (License): Likewise.
51395         * modules/crypto/gc-md5 (License): Likewise.
51396         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
51397         * modules/crypto/gc-random (License): Likewise.
51398         * modules/crypto/gc-rijndael (License): Likewise.
51399         * modules/crypto/gc-sha1 (License): Likewise.
51400         * modules/crypto/md2 (License): Likewise.
51401         * modules/crypto/md4 (License): Likewise.
51402
51403 2007-07-30  Jim Meyering  <jim@meyering.net>
51404
51405         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
51406         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
51407         it has valid stat data.  This bug would cause du not to count the
51408         sizes of inaccessible directories.
51409         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
51410         in <http://bugzilla.redhat.com/250077>.
51411
51412 2007-07-25  Peter O'Gorman  <peter@pogma.com>
51413             Bruno Haible  <bruno@clisp.org>
51414
51415         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
51416         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
51417         #include_next, gives a diagnostic about it, but reports no error in
51418         the exit code.
51419         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
51420
51421 2007-07-24  Ben Pfaff  <blp@gnu.org>
51422
51423         Improve name: "count-one-bits" is better than "popcount".
51424         * MODULES.html.sh: Update name.
51425         * lib/popcount.h: Renamed lib/count-one-bits.h.
51426         (popcount): Renamed count_one_bits.
51427         (popcountl): Renamed count_one_bits_l.
51428         (popcountll): Renamed count_one_bits_ll.
51429         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
51430         * modules/popcount: Renamed module/count-one-bits.
51431         * modules/popcount-tests: Renamed module/count-one-bits-tests.
51432         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
51433
51434 2007-07-23  Ben Pfaff  <blp@gnu.org>
51435
51436         * lib/popcount.h (popcount32): Reduce size of constants, to allow
51437         better code generation, and add U to large constants to avoid
51438         warnings, in non-GCC case.
51439         Suggested by Bruno Haible.
51440
51441 2007-07-23  Ben Pfaff  <blp@gnu.org>
51442
51443         * lib/popcount.h: Use verify_true instead of if...abort.
51444         * modules/popcount: Depend on verify module.
51445         Suggested by Jim Meyering.
51446
51447 2007-07-23  Bruno Haible  <bruno@clisp.org>
51448
51449         * gnulib-tool (func_import): Create a .cvsignore file also when the
51450         directory is not yet in CVS but the toplevel directory is. When
51451         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
51452         Reported by Karl Berry.
51453
51454 2007-07-22  Ben Pfaff  <blp@gnu.org>
51455
51456         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
51457         case.
51458         Suggested by Eric Blake.
51459
51460 2007-07-22  Ben Pfaff  <blp@gnu.org>
51461
51462         New module: popcount.
51463         * MODULES.html.sh: Add popcount.
51464         * modules/popcount: New file.
51465         * modules/popcount-tests: New file.
51466         * tests/test-popcount.c: New file.
51467         * lib/popcount.h: New file.
51468         * m4/popcount.m4: New file.
51469
51470 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
51471
51472         * build-aux/announce-gen: Update to GPLv3.
51473
51474         * build-aux/config.guess: Update from config.
51475
51476 2007-07-21  Bruno Haible  <bruno@clisp.org>
51477
51478         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
51479         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
51480
51481 2007-07-20  Jim Meyering  <jim@meyering.net>
51482
51483         * check-module: Diagnose a self-dependency.
51484
51485 2007-07-19  Bruno Haible  <bruno@clisp.org>
51486
51487         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
51488         empty.
51489         Reported by Eric Blake.
51490
51491 2007-07-18  Bruno Haible  <bruno@clisp.org>
51492
51493         * gnulib-tool: New options --po-base, --po-domain.
51494         (func_usage): Document them.
51495         (pobase, po_domain): New variables.
51496         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
51497         DEFAULT_TEXT_DOMAIN.
51498         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
51499         (func_import): Consider pobase and po_domain. Create a po/ directory.
51500         (func_create_testdir): Set pobase and po_domain to empty.
51501         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
51502         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
51503
51504 2007-07-18  Bruno Haible  <bruno@clisp.org>
51505
51506         * gnulib-tool (func_get_automake_snippet): Synthesize also an
51507         EXTRA_DIST augmentation for files in build-aux/.
51508
51509 2007-07-16  Bruno Haible  <bruno@clisp.org>
51510
51511         * modules/lseek (License): Use the synonymous term "LGPLv2+".
51512         * modules/getdelim (License): Likewise.
51513
51514 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51515
51516         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
51517         * modules/d-type (License): Likewise.
51518         * modules/extensions (License): Likewise.
51519         * modules/fnmatch (License): Likewise.
51520         * modules/fseeko (License): Likewise.
51521         * modules/getaddrinfo (License): Likewise.
51522         * modules/getline (License): Likewise.
51523         * modules/getlogin_r (License): Likewise.
51524         * modules/getpass (License): Likewise.
51525         * modules/gettimeofday (License): Likewise.
51526         * modules/glob (License): Likewise.
51527         * modules/inet_ntop (License): Likewise.
51528         * modules/malloc (License): Likewise.
51529         * modules/malloca (License): Likewise.
51530         * modules/memmem (License): Likewise.
51531         * modules/mempcpy (License): Likewise.
51532         * modules/memset (License): Likewise.
51533         * modules/minmax (License): Likewise.
51534         * modules/mktime (License): Likewise.
51535         * modules/netinet_in (License): Likewise.
51536         * modules/pathmax (License): Likewise.
51537         * modules/poll (License): Likewise.
51538         * modules/regex (License): Likewise.
51539         * modules/snprintf (License): Likewise.
51540         * modules/stdbool (License): Likewise.
51541         * modules/stdint (License): Likewise.
51542         * modules/stdio (License): Likewise.
51543         * modules/strcase (License): Likewise.
51544         * modules/strcasestr (License): Likewise.
51545         * modules/strdup (License): Likewise.
51546         * modules/string (License): Likewise.
51547         * modules/strndup (License): Likewise.
51548         * modules/strnlen (License): Likewise.
51549         * modules/strpbrk (License): Likewise.
51550         * modules/strptime (License): Likewise.
51551         * modules/strsep (License): Likewise.
51552         * modules/sys_select (License): Likewise.
51553         * modules/sys_socket (License): Likewise.
51554         * modules/sys_stat (License): Likewise.
51555         * modules/sys_time (License): Likewise.
51556         * modules/time (License): Likewise.
51557         * modules/time_r (License): Likewise.
51558         * modules/timegm (License): Likewise.
51559         * modules/unistd (License): Likewise.
51560         * modules/vsnprintf (License): Likewise.
51561         * modules/wctype (License): Likewise.
51562
51563 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51564
51565         * modules/argz (License): LGPLv2+.
51566
51567 2007-07-15  Karl Berry  <karl@gnu.org>
51568
51569         * doc/gnulib.texi: revise node structure per new fdl.texi.
51570
51571 2007-07-14  Bruno Haible  <bruno@clisp.org>
51572
51573         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
51574         the output file.
51575         * lib/uniname/uninames.h: Regenerated.
51576
51577 2007-07-14  Karl Berry  <karl@gnu.org>
51578
51579         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
51580         omitting sectioning and index commands.
51581
51582 2007-07-13  Bruno Haible  <bruno@clisp.org>
51583
51584         New gnulib-tool option --more-symlinks.
51585         * gnulib-tool (func_usage): Document --more-symlinks.
51586         (do_copyrights): New variable.
51587         Recognize option --more-symlinks.
51588         (func_import): Don't add a copyright notice transform to
51589         sed_transform_lib_file if do_copyrights is empty.
51590
51591 2007-07-13  Bruno Haible  <bruno@clisp.org>
51592
51593         * lib/vasnprintf.c (decimal_point_char): Define also if
51594         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
51595         && !NEED_PRINTF_DIRECTIVE_A.
51596         Reported by Clemens Koller <clemens.koller@anagramm.de> via
51597         Gary V. Vaughan <gary@gnu.org>.
51598
51599 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
51600
51601         * lib/inttypes_.h: Undo previous change, since it was fixed
51602         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
51603
51604 2007-07-13  Bruno Haible  <bruno@clisp.org>
51605
51606         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
51607         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
51608
51609 2007-07-13  Jim Meyering  <jim@meyering.net>
51610
51611         df: Don't fail for Tru64's "file-on-file mount".
51612         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
51613         so we fall through and use statfs instead.  Details here:
51614         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
51615         Reported by Albert Chin.
51616
51617 2007-07-13  Bruno Haible  <bruno@clisp.org>
51618
51619         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
51620         * modules/configmake (License): Likewise.
51621         * modules/gettext (License): Likewise.
51622         * modules/gettext-h (License): Likewise.
51623         * modules/include_next (License): Likewise.
51624         * modules/link-warning (License): Likewise.
51625         * modules/localcharset (License): Likewise.
51626         * modules/localename (License): Likewise.
51627         * modules/lock (License): Likewise.
51628         * modules/relocatable-lib-lgpl (License): Likewise.
51629         * modules/size_max (License): Likewise.
51630         * modules/vasnprintf (License): Likewise.
51631         * modules/wchar (License): Likewise.
51632         * modules/xsize (License): Likewise.
51633
51634 2007-07-13  Bruno Haible  <bruno@clisp.org>
51635
51636         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
51637         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
51638
51639 2007-07-12  Bruno Haible  <bruno@clisp.org>
51640
51641         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
51642         in the modules files.
51643
51644 2007-07-11  Karl Berry  <karl@gnu.org>
51645
51646         * MODULES.html.sh (func_module): use
51647          sed -e '\|^'"${includefile}"'$|d'
51648          instead of /.../d, to avoid errors on $includefile's containing /.
51649
51650 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
51651
51652         * gnulib-tool (func_import): Avoid duplication of --avoid
51653         statements
51654         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
51655         names to `_' in variable names.
51656
51657 2007-07-10  Eric Blake  <ebb9@byu.net>
51658
51659         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
51660         * NEWS: Document this change.
51661
51662 2007-07-08  Bruno Haible  <bruno@clisp.org>
51663
51664         Update to Unicode 5.0.
51665         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
51666         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
51667         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
51668         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
51669         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
51670         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
51671         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
51672         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
51673         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
51674         U+10A3F, U+1D242..U+1D244.
51675         (nonspacing_table_ind): Update.
51676         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
51677         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
51678
51679 2007-07-08  Bruno Haible  <bruno@clisp.org>
51680
51681         Update to Unicode 5.0.
51682         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
51683         code transform. Extend the name index field of unicode_name_to_code and
51684         unicode_code_to_name from 16 to 24 bits.
51685         * lib/uniname/uniname.c (unicode_character_name,
51686         unicode_name_character): Add the range 0x12xxx to the code transform.
51687         * lib/uniname/uninames.h: Regenerated.
51688         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
51689
51690 2007-07-07  Bruno Haible  <bruno@clisp.org>
51691
51692         * modules/wcwidth-tests: New file.
51693         * tests/test-wcwidth.c: New file.
51694
51695         Work around MacOS X wcwidth() bug.
51696         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
51697         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
51698         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
51699         original wcwidth in non-UTF-8 locales.
51700         * modules/wcwidth (Depends-on): Add localcharset, streq,
51701         uniwidth/width.
51702         * doc/functions/wcwidth.texi: Update.
51703
51704 2007-07-07  Bruno Haible  <bruno@clisp.org>
51705
51706         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
51707         (wcwidth): New declaration.
51708         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
51709         macros.
51710         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
51711         here. Prepare for creating <wchar.h> unconditionally.
51712         * modules/wchar (Depends-on): Add link-warning.
51713         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
51714         REPLACE_WCWIDTH, and GL_LINK_WARNING.
51715         * lib/wcwidth.h: Remove file.
51716         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
51717         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
51718         * modules/wcwidth (Files): Remove lib/wcwidth.h.
51719         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
51720         (Include): Replace wcwidth.h with <wchar.h>.
51721         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
51722         * lib/mbchar.h: Don't include wcwidth.h.
51723         * lib/mbswidth.c: Likewise.
51724         * NEWS: Mention the change.
51725
51726 2007-07-07  Bruno Haible  <bruno@clisp.org>
51727
51728         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
51729         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
51730         definition with an external declaration.
51731         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
51732         defined as a function. Remove AC_C_INLINE requirement.
51733         * modules/wcwidth (Files): Add lib/wcwidth.c.
51734         (Makefile.am): Remove redundant statement.
51735
51736 2007-07-07  Bruno Haible  <bruno@clisp.org>
51737
51738         * MODULES.html.sh (Unicode string functions): Add the new modules.
51739
51740         * tests/uniwidth/test-u32-strwidth.c: New file.
51741         * modules/uniwidth/u32-strwidth-tests: New file.
51742
51743         * lib/uniwidth/u32-strwidth.c: New file.
51744         * modules/uniwidth/u32-strwidth: New file.
51745
51746         * tests/uniwidth/test-u16-strwidth.c: New file.
51747         * modules/uniwidth/u16-strwidth-tests: New file.
51748
51749         * lib/uniwidth/u16-strwidth.c: New file.
51750         * modules/uniwidth/u16-strwidth: New file.
51751
51752         * tests/uniwidth/test-u8-strwidth.c: New file.
51753         * modules/uniwidth/u8-strwidth-tests: New file.
51754
51755         * lib/uniwidth/u8-strwidth.c: New file.
51756         * modules/uniwidth/u8-strwidth: New file.
51757
51758         * tests/uniwidth/test-u32-width.c: New file.
51759         * modules/uniwidth/u32-width-tests: New file.
51760
51761         * lib/uniwidth/u32-width.c: New file.
51762         * modules/uniwidth/u32-width: New file.
51763
51764         * tests/uniwidth/test-u16-width.c: New file.
51765         * modules/uniwidth/u16-width-tests: New file.
51766
51767         * lib/uniwidth/u16-width.c: New file.
51768         * modules/uniwidth/u16-width: New file.
51769
51770         * tests/uniwidth/test-u8-width.c: New file.
51771         * modules/uniwidth/u8-width-tests: New file.
51772
51773         * lib/uniwidth/u8-width.c: New file.
51774         * modules/uniwidth/u8-width: New file.
51775
51776         * tests/uniwidth/test-uc_width.c: New file.
51777         * modules/uniwidth/width-tests: New file.
51778
51779         * lib/uniwidth/width.c: New file, from GNU libiconv.
51780         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
51781         * modules/uniwidth/width: New file.
51782
51783         * lib/uniwidth.h: New file, from GNU libiconv.
51784         * modules/uniwidth/base: New file.
51785
51786 2007-07-07  Bruno Haible  <bruno@clisp.org>
51787
51788         * lib/uniname.h: New file, from GNU gettext.
51789         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
51790         * lib/uniname/uninames.h: New file, from GNU gettext.
51791         * lib/uniname/uniname.c: New file, from GNU gettext.
51792         * tests/uniname/test-uninames.sh: New file.
51793         * tests/uniname/test-uninames.c: New file, from GNU gettext.
51794         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
51795         * modules/uniname/base: New file.
51796         * modules/uniname/uniname: New file.
51797         * modules/uniname/uniname-tests: New file.
51798         * MODULES.html.sh (Unicode string functions): Add the new modules.
51799
51800 2007-07-06  Bruno Haible  <bruno@clisp.org>
51801
51802         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
51803
51804 2007-07-06  Bruno Haible  <bruno@clisp.org>
51805
51806         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
51807         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
51808         includes <cygwin/sys_time.h> which includes <sys/select.h> which
51809         include <sys/time.h>.
51810         Reported by Eric Blake.
51811
51812 2007-07-06  Eric Blake  <ebb9@byu.net>
51813
51814         Fix testing canonicalize on cygwin.
51815         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
51816         Revert patch from 2007-06-19.
51817         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
51818         canonicalize module is also in use.
51819         * tests/test-canonicalize.c: New file.
51820         * tests/test-canonicalize.sh: Likewise.
51821         * modules/canonicalize-tests: Likewise.
51822
51823 2007-07-06  Jim Meyering  <jim@meyering.net>
51824
51825         * lib/getugroups.c (getugroups): Detect getgrent failure.
51826         Adjust comment to reflect reality: this function may return -1.
51827
51828 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
51829
51830         * build-aux/bootstrap (TP_URL,get_translations): Update to use
51831         the new TP address.
51832         (usage): Fix typo
51833         (gnulib_mk): New variable.
51834
51835 2007-07-05  Jim Meyering  <jim@meyering.net>
51836
51837         Don't let endgrent clobber errno, no matter how improbable.
51838         * lib/getugroups.c (getugroups): Save and restore errno around
51839         endgrent call.
51840
51841         Close the group DB even when failing with 2^31 or more members.
51842         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
51843
51844 2007-07-04  Jim Meyering  <jim@meyering.net>
51845
51846         * lib/getugroups.h: New file.
51847         * lib/getugroups.c: Include "getugroups.h".
51848         Remove uses of "register" keyword.
51849         Move local variable, "cp", down into scope where used.
51850         Give "username" parameter the "const" attribute.
51851         * modules/getugroups (Files): Add lib/getugroups.h
51852
51853 2007-07-04  Karl Berry  <karl@gnu.org>
51854
51855         * MODULES.html.sh (func_all_modules): Complete rename of
51856         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
51857
51858 2007-07-02  Bruno Haible  <bruno@clisp.org>
51859
51860         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
51861         mode, when inttypes.h comes from gnulib.
51862         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
51863
51864 2007-07-02  Simon Josefsson  <simon@josefsson.org>
51865
51866         * NEWS: Mention lgpl module name change.
51867
51868         * modules/lgpl-2.1: Renamed from lgpl.
51869
51870         * NEWS: Mention gpl module name change.
51871
51872         * modules/gpl-3.0: New file, based on gpl-2.0.
51873
51874         * modules/gpl-2.0: Renamed from gpl.
51875
51876         * modules/gpl: Fix filename, doc/gpl.texi is now found at
51877         doc/gpl-2.0.texi.
51878
51879 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
51880
51881         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
51882         #define __STDC_LIMIT_MACROS temporarily while including
51883         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
51884         Problem reported by Joel E. Denny in
51885         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
51886
51887 2007-07-01  Bruno Haible  <bruno@clisp.org>
51888
51889         * lib/unistdio.h: New file.
51890         * lib/unistdio/u-asnprintf.h: New file.
51891         * lib/unistdio/u-asprintf.h: New file.
51892         * lib/unistdio/u-printf-args.c: New file.
51893         * lib/unistdio/u-printf-args.h: New file.
51894         * lib/unistdio/u-printf-parse.h: New file.
51895         * lib/unistdio/u-snprintf.h: New file.
51896         * lib/unistdio/u-sprintf.h: New file.
51897         * lib/unistdio/u-vasprintf.h: New file.
51898         * lib/unistdio/u-vsnprintf.h: New file.
51899         * lib/unistdio/u-vsprintf.h: New file.
51900         * lib/unistdio/ulc-asnprintf.c: New file.
51901         * lib/unistdio/ulc-asprintf.c: New file.
51902         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
51903         * lib/unistdio/ulc-printf-parse.c: New file.
51904         * lib/unistdio/ulc-snprintf.c: New file.
51905         * lib/unistdio/ulc-sprintf.c: New file.
51906         * lib/unistdio/ulc-vasnprintf.c: New file.
51907         * lib/unistdio/ulc-vasprintf.c: New file.
51908         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
51909         * lib/unistdio/ulc-vsnprintf.c: New file.
51910         * lib/unistdio/ulc-vsprintf.c: New file.
51911         * lib/unistdio/u8-asnprintf.c: New file.
51912         * lib/unistdio/u8-asprintf.c: New file.
51913         * lib/unistdio/u8-printf-parse.c: New file.
51914         * lib/unistdio/u8-snprintf.c: New file.
51915         * lib/unistdio/u8-sprintf.c: New file.
51916         * lib/unistdio/u8-vasnprintf.c: New file.
51917         * lib/unistdio/u8-vasprintf.c: New file.
51918         * lib/unistdio/u8-vsnprintf.c: New file.
51919         * lib/unistdio/u8-vsprintf.c: New file.
51920         * lib/unistdio/u8-u8-asnprintf.c: New file.
51921         * lib/unistdio/u8-u8-asprintf.c: New file.
51922         * lib/unistdio/u8-u8-snprintf.c: New file.
51923         * lib/unistdio/u8-u8-sprintf.c: New file.
51924         * lib/unistdio/u8-u8-vasnprintf.c: New file.
51925         * lib/unistdio/u8-u8-vasprintf.c: New file.
51926         * lib/unistdio/u8-u8-vsnprintf.c: New file.
51927         * lib/unistdio/u8-u8-vsprintf.c: New file.
51928         * lib/unistdio/u16-asnprintf.c: New file.
51929         * lib/unistdio/u16-asprintf.c: New file.
51930         * lib/unistdio/u16-printf-parse.c: New file.
51931         * lib/unistdio/u16-snprintf.c: New file.
51932         * lib/unistdio/u16-sprintf.c: New file.
51933         * lib/unistdio/u16-vasnprintf.c: New file.
51934         * lib/unistdio/u16-vasprintf.c: New file.
51935         * lib/unistdio/u16-vsnprintf.c: New file.
51936         * lib/unistdio/u16-vsprintf.c: New file.
51937         * lib/unistdio/u16-u16-asnprintf.c: New file.
51938         * lib/unistdio/u16-u16-asprintf.c: New file.
51939         * lib/unistdio/u16-u16-snprintf.c: New file.
51940         * lib/unistdio/u16-u16-sprintf.c: New file.
51941         * lib/unistdio/u16-u16-vasnprintf.c: New file.
51942         * lib/unistdio/u16-u16-vasprintf.c: New file.
51943         * lib/unistdio/u16-u16-vsnprintf.c: New file.
51944         * lib/unistdio/u16-u16-vsprintf.c: New file.
51945         * lib/unistdio/u32-asnprintf.c: New file.
51946         * lib/unistdio/u32-asprintf.c: New file.
51947         * lib/unistdio/u32-printf-parse.c: New file.
51948         * lib/unistdio/u32-snprintf.c: New file.
51949         * lib/unistdio/u32-sprintf.c: New file.
51950         * lib/unistdio/u32-vasnprintf.c: New file.
51951         * lib/unistdio/u32-vasprintf.c: New file.
51952         * lib/unistdio/u32-vsnprintf.c: New file.
51953         * lib/unistdio/u32-vsprintf.c: New file.
51954         * lib/unistdio/u32-u32-asnprintf.c: New file.
51955         * lib/unistdio/u32-u32-asprintf.c: New file.
51956         * lib/unistdio/u32-u32-snprintf.c: New file.
51957         * lib/unistdio/u32-u32-sprintf.c: New file.
51958         * lib/unistdio/u32-u32-vasnprintf.c: New file.
51959         * lib/unistdio/u32-u32-vasprintf.c: New file.
51960         * lib/unistdio/u32-u32-vsnprintf.c: New file.
51961         * lib/unistdio/u32-u32-vsprintf.c: New file.
51962         * tests/unistdio/test-ulc-asnprintf1.c: New file.
51963         * tests/unistdio/test-ulc-asnprintf1.h: New file.
51964         * tests/unistdio/test-ulc-printf1.h: New file.
51965         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
51966         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
51967         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
51968         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
51969         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
51970         * tests/unistdio/test-ulc-vasprintf1.c: New file.
51971         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
51972         * tests/unistdio/test-ulc-vsprintf1.c: New file.
51973         * tests/unistdio/test-u8-asnprintf1.c: New file.
51974         * tests/unistdio/test-u8-asnprintf1.h: New file.
51975         * tests/unistdio/test-u8-printf1.h: New file.
51976         * tests/unistdio/test-u8-vasnprintf1.c: New file.
51977         * tests/unistdio/test-u8-vasnprintf2.c: New file.
51978         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
51979         * tests/unistdio/test-u8-vasnprintf3.c: New file.
51980         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
51981         * tests/unistdio/test-u8-vasprintf1.c: New file.
51982         * tests/unistdio/test-u8-vsnprintf1.c: New file.
51983         * tests/unistdio/test-u8-vsprintf1.c: New file.
51984         * tests/unistdio/test-u16-asnprintf1.c: New file.
51985         * tests/unistdio/test-u16-asnprintf1.h: New file.
51986         * tests/unistdio/test-u16-printf1.h: New file.
51987         * tests/unistdio/test-u16-vasnprintf1.c: New file.
51988         * tests/unistdio/test-u16-vasnprintf2.c: New file.
51989         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
51990         * tests/unistdio/test-u16-vasnprintf3.c: New file.
51991         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
51992         * tests/unistdio/test-u16-vasprintf1.c: New file.
51993         * tests/unistdio/test-u16-vsnprintf1.c: New file.
51994         * tests/unistdio/test-u16-vsprintf1.c: New file.
51995         * tests/unistdio/test-u32-asnprintf1.c: New file.
51996         * tests/unistdio/test-u32-asnprintf1.h: New file.
51997         * tests/unistdio/test-u32-printf1.h: New file.
51998         * tests/unistdio/test-u32-vasnprintf1.c: New file.
51999         * tests/unistdio/test-u32-vasnprintf2.c: New file.
52000         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
52001         * tests/unistdio/test-u32-vasnprintf3.c: New file.
52002         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
52003         * tests/unistdio/test-u32-vasprintf1.c: New file.
52004         * tests/unistdio/test-u32-vsnprintf1.c: New file.
52005         * tests/unistdio/test-u32-vsprintf1.c: New file.
52006         * modules/unistdio/base: New file.
52007         * modules/unistdio/u-printf-args: New file.
52008         * modules/unistdio/ulc-asnprintf: New file.
52009         * modules/unistdio/ulc-asprintf: New file.
52010         * modules/unistdio/ulc-fprintf: New file.
52011         * modules/unistdio/ulc-printf-parse: New file.
52012         * modules/unistdio/ulc-snprintf: New file.
52013         * modules/unistdio/ulc-sprintf: New file.
52014         * modules/unistdio/ulc-vasnprintf: New file.
52015         * modules/unistdio/ulc-vasprintf: New file.
52016         * modules/unistdio/ulc-vfprintf: New file.
52017         * modules/unistdio/ulc-vsnprintf: New file.
52018         * modules/unistdio/ulc-vsprintf: New file.
52019         * modules/unistdio/u8-asnprintf: New file.
52020         * modules/unistdio/u8-asprintf: New file.
52021         * modules/unistdio/u8-printf-parse: New file.
52022         * modules/unistdio/u8-snprintf: New file.
52023         * modules/unistdio/u8-sprintf: New file.
52024         * modules/unistdio/u8-vasnprintf: New file.
52025         * modules/unistdio/u8-vasprintf: New file.
52026         * modules/unistdio/u8-vsnprintf: New file.
52027         * modules/unistdio/u8-vsprintf: New file.
52028         * modules/unistdio/u8-u8-asnprintf: New file.
52029         * modules/unistdio/u8-u8-asprintf: New file.
52030         * modules/unistdio/u8-u8-snprintf: New file.
52031         * modules/unistdio/u8-u8-sprintf: New file.
52032         * modules/unistdio/u8-u8-vasnprintf: New file.
52033         * modules/unistdio/u8-u8-vasprintf: New file.
52034         * modules/unistdio/u8-u8-vsnprintf: New file.
52035         * modules/unistdio/u8-u8-vsprintf: New file.
52036         * modules/unistdio/u16-asnprintf: New file.
52037         * modules/unistdio/u16-asprintf: New file.
52038         * modules/unistdio/u16-printf-parse: New file.
52039         * modules/unistdio/u16-snprintf: New file.
52040         * modules/unistdio/u16-sprintf: New file.
52041         * modules/unistdio/u16-vasnprintf: New file.
52042         * modules/unistdio/u16-vasprintf: New file.
52043         * modules/unistdio/u16-vsnprintf: New file.
52044         * modules/unistdio/u16-vsprintf: New file.
52045         * modules/unistdio/u16-u16-asnprintf: New file.
52046         * modules/unistdio/u16-u16-asprintf: New file.
52047         * modules/unistdio/u16-u16-snprintf: New file.
52048         * modules/unistdio/u16-u16-sprintf: New file.
52049         * modules/unistdio/u16-u16-vasnprintf: New file.
52050         * modules/unistdio/u16-u16-vasprintf: New file.
52051         * modules/unistdio/u16-u16-vsnprintf: New file.
52052         * modules/unistdio/u16-u16-vsprintf: New file.
52053         * modules/unistdio/u32-asnprintf: New file.
52054         * modules/unistdio/u32-asprintf: New file.
52055         * modules/unistdio/u32-printf-parse: New file.
52056         * modules/unistdio/u32-snprintf: New file.
52057         * modules/unistdio/u32-sprintf: New file.
52058         * modules/unistdio/u32-vasnprintf: New file.
52059         * modules/unistdio/u32-vasprintf: New file.
52060         * modules/unistdio/u32-vsnprintf: New file.
52061         * modules/unistdio/u32-vsprintf: New file.
52062         * modules/unistdio/u32-u32-asnprintf: New file.
52063         * modules/unistdio/u32-u32-asprintf: New file.
52064         * modules/unistdio/u32-u32-snprintf: New file.
52065         * modules/unistdio/u32-u32-sprintf: New file.
52066         * modules/unistdio/u32-u32-vasnprintf: New file.
52067         * modules/unistdio/u32-u32-vasprintf: New file.
52068         * modules/unistdio/u32-u32-vsnprintf: New file.
52069         * modules/unistdio/u32-u32-vsprintf: New file.
52070         * modules/unistdio/ulc-asnprintf-tests: New file.
52071         * modules/unistdio/ulc-vasnprintf-tests: New file.
52072         * modules/unistdio/ulc-vasprintf-tests: New file.
52073         * modules/unistdio/ulc-vsnprintf-tests: New file.
52074         * modules/unistdio/ulc-vsprintf-tests: New file.
52075         * modules/unistdio/u8-asnprintf-tests: New file.
52076         * modules/unistdio/u8-vasnprintf-tests: New file.
52077         * modules/unistdio/u8-vasprintf-tests: New file.
52078         * modules/unistdio/u8-vsnprintf-tests: New file.
52079         * modules/unistdio/u8-vsprintf-tests: New file.
52080         * modules/unistdio/u16-asnprintf-tests: New file.
52081         * modules/unistdio/u16-vasnprintf-tests: New file.
52082         * modules/unistdio/u16-vasprintf-tests: New file.
52083         * modules/unistdio/u16-vsnprintf-tests: New file.
52084         * modules/unistdio/u16-vsprintf-tests: New file.
52085         * modules/unistdio/u32-asnprintf-tests: New file.
52086         * modules/unistdio/u32-vasnprintf-tests: New file.
52087         * modules/unistdio/u32-vasprintf-tests: New file.
52088         * modules/unistdio/u32-vsnprintf-tests: New file.
52089         * modules/unistdio/u32-vsprintf-tests: New file.
52090         * MODULES.html.sh (Unicode string functions): Add the new modules.
52091
52092 2007-07-01  Bruno Haible  <bruno@clisp.org>
52093
52094         * lib/sprintf.c (sprintf): Limit the available length estimation,
52095         to avoid address wraparound.
52096         * lib/vsprintf.c (vsprintf): Likewise.
52097         * modules/sprintf-posix (Dependencies): Add stdint.
52098         * modules/vsprintf-posix (Dependencies): Likewise.
52099
52100 2007-07-01  Bruno Haible  <bruno@clisp.org>
52101
52102         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
52103         Windows PATH as well. Conservative double-quoting. Comments.
52104
52105 2007-07-01  Bruno Haible  <bruno@clisp.org>
52106             Eric Blake  <ebb9@byu.net>
52107             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52108
52109         * gnulib-tool (self_abspathname): Fix algorithm to cope with
52110         empty components in $PATH, denoting '.'.
52111
52112 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52113
52114         * gnulib-tool: Fix indentation.
52115         (func_create_megatestdir): Likewise.
52116         Report by Bruno Haible.
52117
52118 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52119
52120         Sync from Automake.
52121         * build-aux/gnupload: Fix shell portability issues with for loops.
52122         Report by Karl Berry.
52123
52124 2007-06-29  Simon Josefsson  <simon@josefsson.org>
52125
52126         * build-aux/maint.mk (POURL): Use translationproject.org.
52127
52128 2007-06-27  Simon Josefsson  <simon@josefsson.org>
52129             Bruno Haible  <bruno@clisp.org>
52130
52131         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
52132         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
52133         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
52134         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
52135         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
52136
52137 2007-06-27  Bruno Haible  <bruno@clisp.org>
52138
52139         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
52140         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
52141
52142 2007-06-26  Karl Berry  <karl@gnu.org>
52143
52144         * MODULES.html.sh: remove xreadlink-with-size.
52145
52146 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
52147
52148         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
52149         method that I hope also handles the double-include problem noted
52150         by Bruno Haible in
52151         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
52152
52153 2007-06-23  Bruno Haible  <bruno@clisp.org>
52154
52155         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
52156         Don't let the 'mostlyclean' target fail if the last subdirectory could
52157         not be removed.
52158         Reported by Karl Berry.
52159
52160 2007-06-23  Bruno Haible  <bruno@clisp.org>
52161
52162         * gnulib-tool (echo): Add a speedier workaround for ksh.
52163         * tests/test-echo.sh: Likewise.
52164
52165 2007-06-23  Bruno Haible  <bruno@clisp.org>
52166
52167         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
52168         * tests/test-echo.sh: Likewise.
52169
52170 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52171
52172         * gnulib-tool (IFS): Initialize early, so we don't set it to
52173         empty later.
52174         (self_abspathname): Rewrite algorithm to set it, reindent.
52175         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
52176         (func_create_megatestdir): Merge some sed scripts.
52177
52178 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
52179
52180         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
52181         exposed by Sun Studio 11 cc on Solaris 8.
52182
52183 2007-06-22  Bruno Haible  <bruno@clisp.org>
52184
52185         * gnulib-tool (echo): Ensure the echo primitive does not interpret
52186         backslashes.
52187         * tests/test-echo.sh: New file.
52188
52189 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52190
52191         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
52192         simplify `sed_replace_build_aux' scripts, they are portable but
52193         echoing them with `echo' is not.
52194         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
52195
52196 2007-06-21  Karl Berry  <karl@gnu.org>
52197
52198         * config/srclist.txt: guess we can't handle the licenses via
52199         srclist at the moment.
52200
52201 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
52202
52203         * MODULES.html.sh: Add include_next.
52204         * modules/include_next: New file.
52205
52206 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
52207
52208         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
52209         INCLUDE_NEXT.
52210         (gl_CHECK_NEXT_HEADERS): New macro.
52211         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
52212         the obsolescent gl_ABSOLUTE_HEADER.
52213         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
52214         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
52215         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
52216         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
52217         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
52218         * m4/math_h.m4 (gl_MATH_H): Likewise.
52219         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
52220         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
52221         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
52222         * m4/stdint.m4 (gl_STDINT_H): Likewise.
52223         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
52224         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
52225         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
52226         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
52227         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
52228         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
52229         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
52230         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
52231         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
52232         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
52233         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
52234         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
52235         * m4/inttypes.m4 (gl_INTTYPES_H): Define
52236         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
52237         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
52238         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
52239         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
52240         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
52241         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
52242         * lib/float_.h: Likewise.
52243         * lib/inttypes_.h: Likewise.
52244         * lib/math_.h: Likewise.
52245         * lib/search_.h: Likewise.
52246         * lib/signal_.h: Likewise.
52247         * lib/stdint_.h: Likewise.
52248         * lib/stdio_.h: Likewise.
52249         * lib/stdlib_.h: Likewise.
52250         * lib/string_.h: Likewise.
52251         * lib/sys_stat_.h: Likewise.
52252         * lib/sys_time_.h: Likewise.
52253         * lib/time_.h: Likewise.
52254         * lib/unistd_.h: Likewise.
52255         * lib/wchar_.h: Likewise.
52256         * lib/wctype_.h: Likewise.
52257         * lib/dirent_.h: Likewise.
52258         * lib/iconv_.h: Likewise.
52259         * lib/locale_.h: Likewise.
52260         * lib/netinet_in_.h: Likewise.
52261         * lib/sys_select_.h: Likewise.
52262         * lib/sys_socket_.h: Likewise.
52263         * lib/sysexits_.h: Likewise.
52264         * modules/fcntl (Depends-on): Depend on include_next, not
52265         absolute_header.
52266         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
52267         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
52268         * modules/fchdir: Likewise.
52269         * modules/float: Likewise.
52270         * modules/iconv_open: Likewise.
52271         * modules/inttypes: Likewise.
52272         * modules/locale: Likewise.
52273         * modules/math: Likewise.
52274         * modules/netinet_in: Likewise.
52275         * modules/search: Likewise.
52276         * modules/signal: Likewise.
52277         * modules/stdint: Likewise.
52278         * modules/stdio: Likewise.
52279         * modules/stdlib: Likewise.
52280         * modules/string: Likewise.
52281         * modules/sys_select: Likewise.
52282         * modules/sys_socket: Likewise.
52283         * modules/sys_stat: Likewise.
52284         * modules/sys_time: Likewise.
52285         * modules/sysexits: Likewise.
52286         * modules/time: Likewise.
52287         * modules/unistd: Likewise.
52288         * modules/wchar: Likewise.
52289         * modules/wctype: Likewise.
52290         * modules/sys_stat: Change maintainer to "all".
52291         * modules/unistd: Likewise.
52292
52293 2007-06-20  Karl Berry  <karl@gnu.org>
52294
52295         * config/srclist.txt: track www changes in license files.
52296
52297 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
52298
52299         * build-aux/bootstrap: Remove stray dot.
52300         Make sure build_aux settings are honored when linking
52301         gnulib_extra_files.
52302
52303 2007-06-19  Eric Blake  <ebb9@byu.net>
52304
52305         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
52306         Allow compilation on cygwin.
52307
52308 2007-06-19  Jim Meyering  <jim@meyering.net>
52309
52310         xreadlink-with-size: Remove module.  No longer used.
52311         Ex-callers now use xreadlink or mreadlink-with-size.
52312         * modules/xreadlink-with-size: Remove module.
52313         * lib/xreadlink-with-size.c: Remove file.
52314         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
52315         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
52316         just before the function definition *is* accurate.
52317
52318         Eliminate one way canonicalize_filename_mode could exit.
52319         * lib/canonicalize.c (canonicalize_filename_mode):
52320         Use mreadlink_with_size, not xreadlink_with_size.
52321
52322 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
52323
52324         Detect porting problems to FreeBSD/arm, which has time_t wider than
52325         long int.  Original problem reported for GNU diff by Xin Li in
52326         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
52327         * modules/getdate (Depends-on): Add intprops, verify.
52328         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
52329         is an integer type no wider than long int.
52330
52331 2007-06-18  Jim Meyering  <jim@meyering.net>
52332
52333         New module: mreadlink-with-size.
52334         * MODULES.html.sh: Add mreadlink-with-size.
52335         * modules/mreadlink-with-size: New module
52336         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
52337         not xreadlink-with-size.
52338         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
52339
52340 2007-06-16  Bruno Haible  <bruno@clisp.org>
52341
52342         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
52343         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
52344         Reported by Gary V. Vaughan <gary@gnu.org>.
52345
52346 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
52347
52348         Revamp lchown so that it lives in unistd.h where it belongs.
52349         * lib/lchown.h: Remove.
52350         * lib/dirchownmod.c: Don't include lib/lchown.h.
52351         * lib/fchownat.c: Likewise.
52352         * lib/openat.c: Likewise.
52353         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
52354         does not follow symlinks.
52355         (EOPNOTSUPP): Define if not defined.
52356         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
52357         is defined to 0.
52358         (lchown): New decl.
52359         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
52360         Do not check for lchown decl.
52361         Set REPLACE_LCHOWN.
52362         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
52363         REPLACE_LCHOWN.
52364         * modules/chown: Make it clear it follows symlinks.
52365         * modules/lchown: Make it clear it doesn't follow symlinks.
52366         (Files): Remove lib/lchown.h
52367         (Depends-on): Add unistd.
52368         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
52369         (Include): Include <unistd.h>, not "lchown.h".
52370         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
52371         REPLACE_LCHOWN.
52372
52373 2007-06-15  Jim Meyering  <jim@meyering.net>
52374
52375         Change license (GPL to LGPL) of fsusage and dependents.
52376         * modules/fsusage (License): Change to LGPL.
52377         * modules/full-read (License): Likewise.
52378         * modules/full-write (License): Likewise.
52379         * modules/safe-read (License): Likewise.
52380         * modules/safe-write (License): Likewise.
52381
52382 2007-06-14  Ben Pfaff  <blp@gnu.org>
52383
52384         Missing part of allocsa -> malloca transition.
52385         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
52386         gl_MALLOCA.
52387
52388 2007-06-12  Bruno Haible  <bruno@clisp.org>
52389
52390         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
52391         to ia64, x86_64, i386.
52392         Reported by Eric Blake.
52393
52394 2007-06-12  Bruno Haible  <bruno@clisp.org>
52395
52396         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
52397         cross-compiling to x86_64.
52398
52399 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
52400
52401         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
52402         glitch reported by Ralf Wildenhues in
52403         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
52404
52405         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
52406         Vin Shelton.
52407
52408 2007-06-11  Bruno Haible  <bruno@clisp.org>
52409
52410         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
52411         replacement string.
52412         Reported by Eric Blake.
52413
52414 2007-06-10  Bruno Haible  <bruno@clisp.org>
52415
52416         Prepare vasnprintf code for use with Unicode strings.
52417         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
52418         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
52419         TYPE_U32_STRING.
52420         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
52421         a_u32_string variants.
52422         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
52423         * lib/printf-args.c: Don't include config.h and the specification
52424         header if PRINTF_FETCHARGS is already defined.
52425         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
52426         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
52427         TYPE_U16_STRING, TYPE_U32_STRING.
52428         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
52429         u16_directive, u16_directives, u32_directive, u32_directives): New
52430         types.
52431         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
52432         New declarations.
52433         * lib/printf-parse.c: Don't include config.h and the specification
52434         header if PRINTF_PARSE is already defined. Eliminate the set of
52435         parameters for WIDE_CHAR_VERSION; the user of this file must provide
52436         them now. Include c-ctype.h.
52437         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
52438         directive and CHAR_T_ONLY_ASCII.
52439         * lib/vasnprintf.c: Don't include config.h and the specification header
52440         if VASNPRINTF is already defined.
52441         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
52442         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
52443         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
52444         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
52445         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
52446         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
52447         code accordingly.
52448         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
52449         pad_ourselves also in this case, with the 'c' and 's' directives, and
52450         with a different notion of "width".
52451         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
52452
52453 2007-06-10  Bruno Haible  <bruno@clisp.org>
52454
52455         * modules/unistr/u32-mbsnlen: New file.
52456         * lib/unistr/u32-mbsnlen.c: New file.
52457
52458         * modules/unistr/u16-mbsnlen: New file.
52459         * lib/unistr/u16-mbsnlen.c: New file.
52460
52461         * modules/unistr/u8-mbsnlen: New file.
52462         * lib/unistr/u8-mbsnlen.c: New file.
52463
52464         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
52465         declarations.
52466
52467 2007-06-10  Bruno Haible  <bruno@clisp.org>
52468
52469         * lib/string_.h (mbsnlen): New declaration.
52470         * lib/mbsnlen.c: New file.
52471         * m4/mbsnlen.m4: New file.
52472         * modules/mbsnlen: New file.
52473         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
52474         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
52475         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
52476
52477 2007-06-10  Bruno Haible  <bruno@clisp.org>
52478
52479         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
52480
52481 2007-06-10  Bruno Haible  <bruno@clisp.org>
52482
52483         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
52484         * lib/mbuiter.h: Likewise.
52485
52486 2007-06-10  Bruno Haible  <bruno@clisp.org>
52487
52488         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
52489         declaration.
52490
52491 2007-06-10  Karl Berry  <karl@gnu.org>
52492
52493         * config/srclist.txt: remove gettext entries, Bruno prefers
52494         to update individually.
52495
52496 2007-06-10  Bruno Haible  <bruno@clisp.org>
52497
52498         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
52499         'maxlen'. Ensure only length + width bytes are allocated, not
52500         length + 1 + width.
52501
52502 2007-06-09  Bruno Haible  <bruno@clisp.org>
52503
52504         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
52505         (CHAR_T): Remove macro.
52506         (VASNPRINTF): Update.
52507
52508 2007-06-09  Bruno Haible  <bruno@clisp.org>
52509
52510         * MODULES.html.sh (Unicode string functions): Add the new modules.
52511
52512         * modules/uniconv/u32-conv-to-enc: New file.
52513         * lib/uniconv/u32-conv-to-enc.c: New file.
52514         * modules/uniconv/u32-conv-to-enc-tests: New file.
52515         * tests/uniconv/test-u32-conv-to-enc.c: New file.
52516
52517         * modules/uniconv/u16-conv-to-enc: New file.
52518         * lib/uniconv/u16-conv-to-enc.c: New file.
52519         * lib/uniconv/u-conv-to-enc.h: New file.
52520         * modules/uniconv/u16-conv-to-enc-tests: New file.
52521         * tests/uniconv/test-u16-conv-to-enc.c: New file.
52522
52523         * modules/uniconv/u8-conv-to-enc: New file.
52524         * lib/uniconv/u8-conv-to-enc.c: New file.
52525         * modules/uniconv/u8-conv-to-enc-tests: New file.
52526         * tests/uniconv/test-u8-conv-to-enc.c: New file.
52527
52528         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
52529         u32_conv_to_encoding): New declarations.
52530
52531 2007-06-09  Bruno Haible  <bruno@clisp.org>
52532
52533         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
52534
52535 2007-06-09  Bruno Haible  <bruno@clisp.org>
52536
52537         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
52538         * modules/malloca: Renamed from modules/allocsa, updated.
52539         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
52540         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
52541         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
52542         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
52543         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
52544         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
52545         * modules/xmalloca: Renamed from modules/xallocsa, updated.
52546         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
52547         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
52548         * modules/c-strcasestr (Depends-on): Update.
52549         * lib/c-strcasestr.c: Update.
52550         * modules/c-strstr (Depends-on): Update.
52551         * lib/c-strstr.c: Update.
52552         * modules/canonicalize-lgpl (Depends-on): Update.
52553         * lib/canonicalize-lgpl.c: Update.
52554         * modules/clean-temp (Depends-on): Update.
52555         * lib/clean-temp.c: Update.
52556         * modules/csharpcomp (Depends-on): Update.
52557         * lib/csharpcomp.c: Update.
52558         * modules/csharpexec (Depends-on): Update.
52559         * lib/csharpexec.c: Update.
52560         * modules/javacomp (Depends-on): Update.
52561         * lib/javacomp.c: Update.
52562         * modules/javaexec (Depends-on): Update.
52563         * lib/javaexec.c: Update.
52564         * modules/mbscasestr (Depends-on): Update.
52565         * lib/mbscasestr.c: Update.
52566         * modules/mbsstr (Depends-on): Update.
52567         * lib/mbsstr.c: Update.
52568         * modules/setenv (Depends-on): Update.
52569         * lib/setenv.c: Update.
52570         * modules/strcasestr (Depends-on): Update.
52571         * lib/strcasestr.c: Update.
52572         * modules/striconveha (Depends-on): Update.
52573         * lib/striconveha.c: Update.
52574         * modules/relocatable-prog-wrapper (Files): Update.
52575         * lib/relocwrapper.c: Update.
52576         * build-aux/install-reloc: Update.
52577         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
52578
52579 2007-06-08  Bruno Haible  <bruno@clisp.org>
52580
52581         Port to uClibc.
52582         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
52583         * lib/fpurge.c (fpurge): Likewise.
52584         * lib/freading.c (freading): Likewise.
52585         * lib/fseeko.c (rpl_fseeko): Likewise.
52586         * lib/fseterr.c (fseterr): Likewise.
52587         * lib/fwriting.c (fwriting): Likewise.
52588         * tests/test-fflush.c (main): Avoid a failure on uClibc.
52589
52590 2007-06-08  Bruno Haible  <bruno@clisp.org>
52591
52592         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
52593         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
52594         * modules/gettext (Files): Add m4/intlmacosx.m4.
52595
52596 2007-06-07  Bruno Haible  <bruno@clisp.org>
52597
52598         * modules/localename-tests: New file.
52599         * tests/test-localename.c: New file.
52600
52601         New module 'localename'.
52602         * lib/localename.h: New file.
52603         * lib/localename.c: New file, from GNU gettext.
52604         * m4/localename.m4: New file.
52605         * modules/localename: New file.
52606
52607 2007-06-07  Bruno Haible  <bruno@clisp.org>
52608
52609         Work around the lack of <wchar.h> on some builds of uClibc.
52610         * doc/headers/wchar.texi: Update.
52611         * lib/wchar_.h: Include <wchar.h> only if it exists.
52612         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
52613         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
52614         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
52615         doesn't exist.
52616         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
52617         * modules/mbfile (Depends-on): Add wchar.
52618         * modules/mbiter (Depends-on): Likewise.
52619         * modules/mbuiter (Depends-on): Likewise.
52620         Reported by Simon Josefsson.
52621
52622 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
52623
52624         Work around problem reported by Steven M. Schweda in
52625         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
52626         Tru64 5.1B with the Compaq compiler environment installed declares
52627         an 'isblank' function but does not define it in the C library.
52628         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
52629         * lib/regex_internal.h (isblank): Likewise.
52630         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
52631         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
52632
52633 2007-06-05  Bruno Haible  <bruno@clisp.org>
52634
52635         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
52636         ia64.
52637         * modules/printf-safe: New file.
52638         * modules/fprintf-posix (Depends-on): Add printf-safe.
52639         * modules/printf-posix (Depends-on): Likewise.
52640         * modules/snprintf-posix (Depends-on): Likewise.
52641         * modules/sprintf-posix (Depends-on): Likewise.
52642         * modules/vasnprintf-posix (Depends-on): Likewise.
52643         * modules/vasprintf-posix (Depends-on): Likewise.
52644         * modules/vfprintf-posix (Depends-on): Likewise.
52645         * modules/vprintf-posix (Depends-on): Likewise.
52646         * modules/vsnprintf-posix (Depends-on): Likewise.
52647         * modules/vsprintf-posix (Depends-on): Likewise.
52648         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
52649         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
52650         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
52651         "no" on i386, x86_64, ia64.
52652         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
52653         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
52654         on i386, x86_64, ia64.
52655         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
52656         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
52657         on i386, x86_64, ia64.
52658         * tests/test-vasnprintf-posix.c: Include float.h.
52659         (LDBL80_WORDS): New macro.
52660         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
52661         on i386, x86_64, ia64.
52662         * tests/test-vasprintf-posix.c: Include float.h.
52663         (LDBL80_WORDS): New macro.
52664         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
52665         on i386, x86_64, ia64.
52666         * tests/test-snprintf-posix.c: Include float.h.
52667         * tests/test-sprintf-posix.c: Likewise.
52668         * tests/test-vsnprintf-posix.c: Likewise.
52669         * tests/test-vsprintf-posix.c: Likewise.
52670
52671 2007-06-05  Bruno Haible  <bruno@clisp.org>
52672
52673         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
52674         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
52675         non-IEEE numbers on i386, x86_64, ia64.
52676         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
52677         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
52678         * tests/test-isnanl.h: Include float.h.
52679         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
52680
52681 2007-06-05  Bruno Haible  <bruno@clisp.org>
52682
52683         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
52684         also the %a / %A. Handle the %a / %A code before this extra handling.
52685
52686 2007-06-05  Bruno Haible  <bruno@clisp.org>
52687
52688         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
52689         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
52690
52691 2007-06-05  Bruno Haible  <bruno@clisp.org>
52692
52693         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
52694         typo in variable name.
52695
52696 2007-06-05  Eric Blake  <ebb9@byu.net>
52697
52698         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
52699         Reported by Simon Josefsson.
52700
52701 2007-06-04  Bruno Haible  <bruno@clisp.org>
52702
52703         Avoid test failures on some PowerPC platforms.
52704         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
52705         Define differently for PowerPC.
52706         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
52707         Reported by Gary V. Vaughan <gary@gnu.org>.
52708
52709 2007-06-02  Bruno Haible  <bruno@clisp.org>
52710
52711         Fix test-stdint failure on FreeBSD/ia64.
52712         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
52713         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
52714         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
52715         * doc/headers/stdint.texi: Update.
52716
52717 2007-06-01  Bruno Haible  <bruno@clisp.org>
52718
52719         * tests/test-binary-io.c (main): Pass a third argument to open().
52720         Reported by Gary V. Vaughan <gary@gnu.org>.
52721
52722 2007-06-01  Bruno Haible  <bruno@clisp.org>
52723
52724         * doc/functions/frexpl.texi: Update for mingw.
52725
52726 2007-06-01  Bruno Haible  <bruno@clisp.org>
52727
52728         * tests/test-lseek.c (main): Disable test of errno for invalid third
52729         argument.
52730         * doc/functions/lseek.texi: Update.
52731         Reported by Gary V. Vaughan <gary@gnu.org>.
52732
52733 2007-05-28  Bruno Haible  <bruno@clisp.org>
52734
52735         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
52736
52737 2007-05-31  Eric Blake  <ebb9@byu.net>
52738
52739         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
52740         cross compiling.
52741
52742 2007-05-30  Eric Blake  <ebb9@byu.net>
52743         and Bruno Haible  <bruno@clisp.org>
52744
52745         Work around mingw test failures exposed by m4-1.4.9b.
52746         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
52747         * tests/test-unistd.c: Disable uid_t and git_t tests for the
52748         moment.
52749
52750 2007-05-30  Bruno Haible  <bruno@clisp.org>
52751
52752         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
52753         assuming that they are closed. Needed on HP-UX 11.
52754
52755 2007-05-29  Bruno Haible  <bruno@clisp.org>
52756
52757         Fix a problem with #include_next.
52758         * lib/dirent_.h: Split the double-inclusion guard.
52759         * lib/fcntl_.h: Likewise.
52760         * lib/float_.h: Likewise.
52761         * lib/iconv_.h: Likewise.
52762         * lib/inttypes_.h: Likewise.
52763         * lib/locale_.h: Likewise.
52764         * lib/math_.h: Likewise.
52765         * lib/netinet_in_.h: Likewise.
52766         * lib/search_.h: Likewise.
52767         * lib/signal_.h: Likewise.
52768         * lib/stdint_.h: Likewise.
52769         * lib/stdio_.h: Likewise.
52770         * lib/stdlib_.h: Likewise.
52771         * lib/string_.h: Likewise.
52772         * lib/sys_select_.h: Likewise.
52773         * lib/sys_socket_.h: Likewise.
52774         * lib/sys_stat_.h: Likewise.
52775         * lib/sys_time_.h: Likewise.
52776         * lib/sysexits_.h: Likewise.
52777         * lib/time_.h: Likewise.
52778         * lib/unistd_.h: Likewise.
52779         * lib/wchar_.h: Likewise.
52780         * lib/wctype_.h: Likewise.
52781
52782 2007-05-29  Bruno Haible  <bruno@clisp.org>
52783
52784         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
52785         for the moment.
52786
52787 2007-05-29  Bruno Haible  <bruno@clisp.org>
52788
52789         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
52790         invocation.
52791         Reported by Eric Blake.
52792
52793 2007-05-29  Bruno Haible  <bruno@clisp.org>
52794
52795         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
52796         compiling case.
52797
52798 2007-05-29  Eric Blake  <ebb9@byu.net>
52799             Bruno Haible  <bruno@clisp.org>
52800
52801         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
52802         cross compiles.
52803
52804 2007-05-28  Eric Blake  <ebb9@byu.net>
52805
52806         * modules/closein-tests (test_closein_LDADD): Support test on
52807         cygwin with libtool.
52808
52809 2007-05-28  Bruno Haible  <bruno@clisp.org>
52810
52811         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
52812         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
52813         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
52814         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
52815         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
52816         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
52817         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
52818         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
52819         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
52820
52821 2007-05-28  Eric Blake  <ebb9@byu.net>
52822
52823         Unconditionally include <config.h> in unit tests.
52824         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
52825         * tests/test-allocsa.c, tests/test-arcfour.c,
52826         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
52827         tests/test-array_list.c, tests/test-array_oset.c,
52828         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
52829         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
52830         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
52831         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
52832         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
52833         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
52834         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
52835         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
52836         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
52837         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
52838         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
52839         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
52840         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
52841         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
52842         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
52843         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
52844         test-md5.c, test-memmem.c, test-printf-posix.c,
52845         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
52846         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
52847         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
52848         test-strcasestr.c, test-striconv.c, test-striconveh.c,
52849         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
52850         test-vasnprintf-posix2.c, test-vasnprintf.c,
52851         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
52852         test-vfprintf-posix.c, test-vprintf-posix.c,
52853         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
52854         test-xvasprintf.c: Likewise.
52855
52856 2007-05-28  Bruno Haible  <bruno@clisp.org>
52857
52858         * gnulib-tool (func_import): Remember the --with-tests command-line
52859         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
52860         Reported by Eric Blake.
52861
52862 2007-05-28  Bruno Haible  <bruno@clisp.org>
52863
52864         * modules/ftell-tests: New file.
52865         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
52866         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
52867
52868         * lib/ftell.c: New file.
52869         * modules/ftell: New file.
52870         * m4/ftell.m4: New file.
52871         * doc/functions/ftell.texi: Update.
52872         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
52873         REPLACE_FTELL.
52874         * lib/stdio_.h (rpl_ftell): New declaration.
52875         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
52876         REPLACE_FTELL.
52877
52878 2007-05-28  Eric Blake  <ebb9@byu.net>
52879
52880         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
52881
52882 2007-05-28  Bruno Haible  <bruno@clisp.org>
52883
52884         * modules/fseek-tests: New file.
52885         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
52886         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
52887
52888         * lib/fseek.c: New file.
52889         * modules/fseek: New file.
52890         * m4/fseek.m4: New file.
52891         * doc/functions/fseek.texi: Update.
52892         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
52893         REPLACE_FSEEK.
52894         * lib/stdio_.h (rpl_fseek): New declaration.
52895         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
52896         REPLACE_FSEEK.
52897
52898 2007-05-28  Bruno Haible  <bruno@clisp.org>
52899
52900         * lib/stdio_.h (fflush): More comments.
52901
52902 2007-05-28  Bruno Haible  <bruno@clisp.org>
52903
52904         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
52905         runtime test.
52906
52907 2007-05-28  Eric Blake  <ebb9@byu.net>
52908
52909         Improve lseek module.
52910         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
52911         * lib/unistd_.h (lseek): Scale back link warning message.
52912         * tests/test-lseek.c: Beef up test.
52913         * tests/test-lseek.sh: Exercise more facets of lseek.
52914         Reported by Bruno Haible.
52915
52916 2007-05-28  Bruno Haible  <bruno@clisp.org>
52917
52918         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
52919         to define.
52920
52921 2007-05-27  Bruno Haible  <bruno@clisp.org>
52922
52923         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
52924
52925 2007-05-27  Bruno Haible  <bruno@clisp.org>
52926
52927         * modules/openmp: New file.
52928         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
52929         Noah Misch.
52930
52931 2007-05-26  Bruno Haible  <bruno@clisp.org>
52932
52933         * modules/chdir-long (Depends-on): Add fchdir.
52934         * modules/chdir-safer (Depends-on): Likewise.
52935         * modules/fts (Depends-on): Likewise.
52936         * modules/fts-lgpl (Depends-on): Likewise.
52937         * modules/openat (Depends-on): Likewise.
52938         * modules/savewd (Depends-on): Likewise.
52939
52940 2007-05-24  Eric Blake  <ebb9@byu.net>
52941
52942         Fix lseek on mingw.
52943         * modules/lseek: New module.
52944         * m4/lseek.m4: New file.
52945         * lib/lseek.c: New file.
52946         * modules/lseek-tests: New file.
52947         * tests/test-lseek.c: New file.
52948         * tests/test-lseek.sh: New file.
52949         * MODULES.html.sh: Document lseek module.
52950         * modules/fflush (Depends-on): Add lseek, fseeko.
52951         * modules/fseeko (Depends-on): Likewise.
52952         * modules/ftello (Depends-on): Likewise.
52953         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
52954         broken.
52955         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
52956         broken.
52957         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
52958         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
52959         * lib/ftello.c (rpl_ftello): Likewise.
52960         * tests/test-fseeko.c (main): Test this.
52961         * tests/test-fseeko.sh: Likewise.
52962         * tests/test-ftello.c (main): Likewise.
52963         * tests/test-ftello.sh: Likewise.
52964         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
52965         implies replacing fseek.
52966         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
52967         HAVE_FTELLO.
52968         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
52969         * modules/unistd (Makefile.am): Likewise.
52970         * lib/unistd_.h (lseek): Declare a replacement.
52971         * doc/functions/lseek.texi (lseek): Document this fix.
52972         * doc/functions/fseek.texi (fseek): Likewise.
52973         * doc/functions/ftell.texi (ftell): Likewise.
52974
52975 2007-05-24  Bruno Haible  <bruno@clisp.org>
52976
52977         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
52978         in the printed representation of a NaN.
52979         * tests/test-vasprintf-posix.c (test_function): Likewise.
52980         * tests/test-snprintf-posix.h (test_function): Likewise.
52981         * tests/test-sprintf-posix.h (test_function): Likewise.
52982         Reported by Eric Blake.
52983
52984 2007-05-23  Eric Blake  <ebb9@byu.net>
52985
52986         Fix fseeko/ftello on cygwin 1.5.24.
52987         * doc/functions/fseeko.texi (fseeko): Document the fix.
52988         * doc/functions/ftello.texi (ftello): Document the fix.
52989         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
52990         * doc/functions/stdout.text (stdout): New file.
52991         * doc/functions/stderr.text (stderr): New file.
52992         * doc/gnulib.texi (Function Substitutes): Use new files.
52993         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
52994         prior to 1.7.0.
52995         * tests/test-ftello.c (main): Likewise for ftello.
52996         * tests/test-fseeko.sh: New file.
52997         * tests/test-ftello.sh: New file.
52998         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
52999         with seekable stdin.
53000         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
53001         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
53002         (gl_REPLACE_FSEEKO): New macro.
53003         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
53004         * modules/fseeko (Files): Distribute fseeko.c.
53005         * modules/ftello (Files): Distribute ftello.c.
53006         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
53007         mode.
53008         * lib/ftello.c (rpl_ftello): New file.
53009         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
53010         fseeko, ftello.
53011         (gl_STDIN_LARGE_OFFSET): New macro.
53012         * modules/stdio (Makefile.am): Perform the replacement.
53013         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
53014
53015 2007-05-23  Bruno Haible  <bruno@clisp.org>
53016
53017         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
53018         GNULIB_POSIXCHECK is defined.
53019
53020 2007-05-21  Bruno Haible  <bruno@clisp.org>
53021
53022         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
53023         Check also the output for NaN arguments. When cross-compiling, guess
53024         no on IRIX.
53025         * lib/vasnprintf.c: Update comments.
53026         * tests/test-vasnprintf-posix.c (strisnan): New function.
53027         (test_function): Use it.
53028         * tests/test-vasprintf-posix.c (strisnan): New function.
53029         (test_function): Use it.
53030         * tests/test-snprintf-posix.h (strisnan): New function.
53031         (test_function): Use it.
53032         * tests/test-sprintf-posix.h (strisnan): New function.
53033         (test_function): Use it.
53034         Reported by Eric Blake.
53035
53036 2007-05-20  Bruno Haible  <bruno@clisp.org>
53037
53038         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
53039         numbers that fails on BeOS.
53040         * doc/functions/frexpl.texi: Update.
53041
53042 2007-05-20  Jim Meyering  <jim@meyering.net>
53043
53044         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
53045         forced upon us by glibc-2.6.
53046
53047 2007-05-20  Bruno Haible  <bruno@clisp.org>
53048
53049         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
53050         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
53051         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
53052         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
53053         NEED_PRINTF_INFINITE.
53054         (is_infinitel): New function.
53055         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
53056         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
53057         gl_PREREQ_VASNPRINTF_INFINITE.
53058         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
53059         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
53060         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
53061         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
53062         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
53063         gl_PREREQ_VASNPRINTF_INFINITE.
53064         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
53065         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
53066         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
53067         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
53068         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
53069         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
53070         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
53071         * doc/functions/fprintf.texi: Update.
53072         * doc/functions/printf.texi: Update.
53073         * doc/functions/snprintf.texi: Update.
53074         * doc/functions/sprintf.texi: Update.
53075         * doc/functions/vfprintf.texi: Update.
53076         * doc/functions/vprintf.texi: Update.
53077         * doc/functions/vsnprintf.texi: Update.
53078         * doc/functions/vsprintf.texi: Update.
53079
53080 2007-05-20  Bruno Haible  <bruno@clisp.org>
53081
53082         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
53083         was not found in libc.
53084         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
53085
53086 2007-05-20  Bruno Haible  <bruno@clisp.org>
53087
53088         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
53089         printed as "-nan" instead of "nan".
53090         * tests/test-vasprintf-posix.c (test_function): Likewise.
53091         * tests/test-snprintf-posix.h (test_function): Likewise.
53092         * tests/test-sprintf-posix.h (test_function): Likewise.
53093         Needed for HP-UX 11.
53094
53095 2007-05-20  Jim Meyering  <jim@meyering.net>
53096
53097         Fix buggy test for the fchownat-deref bug.
53098         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
53099         symlink required for the run-test.  Without it, this test would
53100         always declare that fchownat doesn't work, and client code would
53101         unnecessarily use the replacement function with fixed libc.
53102         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
53103         Reported by Greg Schafer.
53104
53105 2007-05-19  Bruno Haible  <bruno@clisp.org>
53106
53107         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
53108         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
53109         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
53110         Needed for IRIX 6.5 and Solaris 2.5.1.
53111
53112 2007-05-19  Bruno Haible  <bruno@clisp.org>
53113
53114         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
53115         (test_function): Skip tests involving -0.0 on platforms where
53116         -0.0 = 0.0.
53117         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
53118         (test_function): Skip tests involving -0.0 on platforms where
53119         -0.0 = 0.0.
53120         * tests/test-snprintf-posix.h (have_minus_zero): New function.
53121         (test_function): Skip tests involving -0.0 on platforms where
53122         -0.0 = 0.0.
53123         * tests/test-sprintf-posix.h (have_minus_zero): New function.
53124         (test_function): Skip tests involving -0.0 on platforms where
53125         -0.0 = 0.0.
53126         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
53127         tests.
53128         * tests/test-printf-posix.h (test_function): Likewise.
53129         * tests/test-printf-posix.output: Remove all -0.0 related results.
53130         Needed for IRIX 6.5.
53131
53132 2007-05-19  Bruno Haible  <bruno@clisp.org>
53133
53134         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
53135         printed as "nan0x7fffffff" instead of "nan".
53136         * tests/test-vasprintf-posix.c (test_function): Likewise.
53137         * tests/test-snprintf-posix.h (test_function): Likewise.
53138         * tests/test-sprintf-posix.h (test_function): Likewise.
53139         * tests/test-fprintf-posix.h (NaN): Remove macro.
53140         (test_function): Remove all NaN related tests.
53141         * tests/test-printf-posix.h (NaN): Remove macro.
53142         (test_function): Remove all NaN related tests.
53143         * tests/test-printf-posix.output: Remove all NaN related results.
53144         Needed for IRIX 6.5.
53145
53146 2007-05-19  Bruno Haible  <bruno@clisp.org>
53147
53148         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
53149         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
53150
53151 2007-05-19  Bruno Haible  <bruno@clisp.org>
53152
53153         * lib/float_.h: New file.
53154         * m4/float_h.m4: New file.
53155         * modules/float: New file.
53156         * modules/isnanl (Dependencies): Add float.
53157         * modules/isnanl-nolibm (Dependencies): Likewise.
53158         * modules/mathl (Dependencies): Likewise.
53159         * modules/printf-frexpl (Dependencies): Likewise.
53160         * modules/signbit (Dependencies): Likewise.
53161         * modules/vasnprintf (Dependencies): Likewise.
53162         * doc/headers/float.texi: Update.
53163
53164 2007-05-19  Jim Meyering  <jim@meyering.net>
53165
53166         * lib/utimens.c (gl_futimens): Rename from futimens,
53167         now that glibc-2.6 declares futimens.
53168         * lib/utimens.h: Likewise.
53169
53170 2007-05-19  Bruno Haible  <bruno@clisp.org>
53171
53172         Avoid test failures on mingw.
53173         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
53174         * tests/test-printf-posix.sh: Likewise.
53175         * tests/test-vfprintf-posix.sh: Likewise.
53176         * tests/test-vprintf-posix.sh: Likewise.
53177
53178 2007-05-19  Bruno Haible  <bruno@clisp.org>
53179
53180         Fix *printf result for NaN, Inf, -0.0 on mingw.
53181         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
53182         * lib/vasnprintf.c: Include math.h and isnan.h.
53183         (is_infinite_or_zero): New function.
53184         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
53185         values in the %f, %F, %e, %E, %g, %G directives.
53186         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
53187         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
53188         gl_PRINTF_INFINITE and test its result. Invoke
53189         gl_PREREQ_VASNPRINTF_INFINITE.
53190         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
53191         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
53192         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
53193         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
53194         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
53195         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
53196         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
53197         * doc/functions/fprintf.texi: Update.
53198         * doc/functions/printf.texi: Update.
53199         * doc/functions/snprintf.texi: Update.
53200         * doc/functions/sprintf.texi: Update.
53201         * doc/functions/vfprintf.texi: Update.
53202         * doc/functions/vprintf.texi: Update.
53203         * doc/functions/vsnprintf.texi: Update.
53204         * doc/functions/vsprintf.texi: Update.
53205
53206 2007-05-19  Bruno Haible  <bruno@clisp.org>
53207
53208         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
53209         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
53210         Instead of multiplying with 10^k, set extra_zeroes to k.
53211         (scale10_round_long_double): Remove function.
53212
53213 2007-05-18  Bruno Haible  <bruno@clisp.org>
53214
53215         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
53216         introduced on 2007-05-06.
53217
53218 2007-05-18  Bruno Haible  <bruno@clisp.org>
53219
53220         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
53221         %g directives.
53222         * tests/test-vasprintf-posix.c (test_function): Likewise.
53223         * tests/test-snprintf-posix.h (test_function): Likewise.
53224         * tests/test-sprintf-posix.h (test_function): Likewise.
53225
53226 2007-05-18  Bruno Haible  <bruno@clisp.org>
53227
53228         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
53229         (strmatch): New function.
53230         (test_function): Test the %f directive on numbers of various exponents.
53231         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
53232         (strmatch): New function.
53233         (test_function): Test the %f directive on numbers of various exponents.
53234         * tests/test-snprintf-posix.h (strmatch): New function.
53235         (test_function): Test the %f directive on numbers of various exponents.
53236         * tests/test-sprintf-posix.h (strmatch): New function.
53237         (test_function): Test the %f directive on numbers of various exponents.
53238         * tests/test-snprintf-posix.c (SIZEOF): New macro.
53239         * tests/test-sprintf-posix.c (SIZEOF): New macro.
53240         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
53241         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
53242
53243 2007-05-18  Bruno Haible  <bruno@clisp.org>
53244
53245         Add support for 'long double' number output.
53246         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
53247         * lib/vasnprintf.c: Include math.h and float+.h.
53248         (mp_limb_t): New type.
53249         (GMP_LIMB_BITS): New macro.
53250         (mp_twolimb_t): New type.
53251         (GMP_TWOLIMB_BITS): New macro.
53252         (mpn_t): New type.
53253         (multiply, divide, convert_to_decimal, decode_long_double,
53254         scale10_round_long_double, scale10_round_decimal_long_double,
53255         floorlog10l): New functions.
53256         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
53257         for the %f, %F, %e, %E, %g, %G directives.
53258         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
53259         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
53260         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
53261         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
53262         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
53263         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
53264         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
53265         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
53266         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
53267         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
53268         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
53269         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
53270         * modules/snprintf-posix (Depends-on): Likewise.
53271         * modules/sprintf-posix (Depends-on): Likewise.
53272         * modules/vasnprintf-posix (Depends-on): Likewise.
53273         * modules/vasprintf-posix (Depends-on): Likewise.
53274         * modules/vfprintf-posix (Depends-on): Likewise.
53275         * modules/vsnprintf-posix (Depends-on): Likewise.
53276         * modules/vsprintf-posix (Depends-on): Likewise.
53277         * modules/vasnprintf (Files): Add lib/float+.h.
53278         * doc/functions/fprintf.texi: Update.
53279         * doc/functions/printf.texi: Update.
53280         * doc/functions/snprintf.texi: Update.
53281         * doc/functions/sprintf.texi: Update.
53282         * doc/functions/vfprintf.texi: Update.
53283         * doc/functions/vprintf.texi: Update.
53284         * doc/functions/vsnprintf.texi: Update.
53285         * doc/functions/vsprintf.texi: Update.
53286
53287 2007-05-18  Bruno Haible  <bruno@clisp.org>
53288
53289         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
53290
53291 2007-05-18  Bruno Haible  <bruno@clisp.org>
53292
53293         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
53294         for printing 64-bit integers. Needed for mingw.
53295
53296 2007-05-18  Bruno Haible  <bruno@clisp.org>
53297
53298         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
53299         gl_FUNC_FREXPL_WORKS.
53300         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
53301
53302 2007-05-18  Bruno Haible  <bruno@clisp.org>
53303
53304         * modules/frexpl-nolibm-tests: New file.
53305
53306         * modules/frexpl-nolibm: New file.
53307         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
53308
53309 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
53310
53311         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
53312         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
53313         GCC 4.2, which otherwise issues a lot of warnings.
53314         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
53315         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
53316         Likewise.
53317         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
53318         * modules/iconv_open (iconv.h): Likewise.
53319         * modules/locale (locale.h): Likewise.
53320         * modules/netinet_in (netinet/in.h): Likewise.
53321         * modules/sys_select (sys_select.h): Likewise.
53322         * modules/sys_socket (sys/socket.h): Likewise.
53323         * modules/sys_stat (sys/stat.h): Likewise.
53324         * modules/sysexits (sysexits.h): Likewise.
53325         * modules/unistd (unistd.h): Likewise.
53326
53327 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53328
53329         * modules/closein-tests (Makefile.am): Distribute
53330         `test-closein.sh'.
53331
53332 2007-05-17  Bruno Haible  <bruno@clisp.org>
53333
53334         * tests/test-printf-posix.output: Renamed from
53335         tests/test-fprintf-posix.out.
53336         * modules/fprintf-posix-tests: Update.
53337         * modules/printf-posix-tests: Update.
53338         * modules/vfprintf-posix-tests: Update.
53339         * modules/vprintf-posix-tests: Update.
53340         * tests/test-fprintf-posix.sh: Update.
53341         * tests/test-printf-posix.sh: Update.
53342         * tests/test-vfprintf-posix.sh: Update.
53343         * tests/test-vprintf-posix.sh: Update.
53344         Reported by Ralf Wildenhues.
53345
53346 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
53347
53348         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
53349         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
53350         GCC 4.2, which otherwise issues a lot of warnings.
53351         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
53352         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
53353         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
53354         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
53355         it should no longer be needed.
53356         * lib/string_.h: Likewise.
53357         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
53358         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
53359         * modules/inttypes (inttypes.h): Likewise.
53360         * modules/math (math.h): Likewise.
53361         * modules/search (search.h): Likewise.
53362         * modules/signal (signal.h): Likewise.
53363         * modules/stdint (stdint.h): Likewise.
53364         * modules/stdio (stdio.h): Likewise.
53365         * modules/stdlib (stdlib.h): Likewise.
53366         * modules/string (string.h): Likewise.
53367         * modules/sys_time (sys/time.h): Likewise.
53368         * modules/time (time.h): Likewise.
53369         * modules/wchar (wchar.h): Likewise.
53370         * modules/wctype (wtype.h): Likewise.
53371
53372 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
53373
53374         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
53375
53376 2007-05-13  Bruno Haible  <bruno@clisp.org>
53377
53378         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
53379         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
53380         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
53381         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
53382         (gl_PREREQ_STRTOK_R): Don't require it here.
53383
53384 2007-05-13  Bruno Haible  <bruno@clisp.org>
53385
53386         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
53387         when used in C++ mode.
53388
53389 2007-05-12  Bruno Haible  <bruno@clisp.org>
53390
53391         * lib/linebuffer.h: Tweak doc.
53392         * lib/linebuffer.c: Likewise.
53393
53394 2007-05-12  James Youngman  <jay@gnu.org>
53395
53396         * lib/linebuffer.c (readlinebuffer_delim): New function,
53397         like readlinebuffer, but use a caller-specified delimiter.
53398         (readlinebuffer): Just call readlinebuffer_delim with '\n'
53399         as the delimiter.
53400         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
53401
53402 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
53403
53404         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
53405         * modules/openat (Files): Remove openat-die.c.
53406         (Depends-on): Add openat-die.
53407         * modules/openat-die: New module.
53408
53409 2007-05-06  Bruno Haible  <bruno@clisp.org>
53410
53411         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
53412         Update with info about Cygwin.
53413         * doc/functions/fprintf.texi: Update.
53414         * doc/functions/printf.texi: Update.
53415         * doc/functions/snprintf.texi: Update.
53416         * doc/functions/sprintf.texi: Update.
53417         * doc/functions/vfprintf.texi: Update.
53418         * doc/functions/vprintf.texi: Update.
53419         * doc/functions/vsnprintf.texi: Update.
53420         * doc/functions/vsprintf.texi: Update.
53421         Reported by Eric Blake.
53422
53423 2007-05-06  Bruno Haible  <bruno@clisp.org>
53424
53425         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
53426         padding ourselves for the floating-point directives.
53427         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
53428         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
53429         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
53430         gl_PRINTF_FLAG_ZERO and test its result. Invoke
53431         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
53432         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
53433         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
53434         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
53435         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
53436         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
53437         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
53438         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
53439         * tests/test-snprintf-posix.h (test_function): Also check the width
53440         and some flags in the %f directive.
53441         * tests/test-sprintf-posix.h (test_function): Likewise.
53442         * tests/test-vasnprintf-posix.c (test_function): Likewise.
53443         * tests/test-vasprintf-posix.c (test_function): Likewise.
53444         * doc/functions/fprintf.texi: Update.
53445         * doc/functions/printf.texi: Update.
53446         * doc/functions/snprintf.texi: Update.
53447         * doc/functions/sprintf.texi: Update.
53448         * doc/functions/vfprintf.texi: Update.
53449         * doc/functions/vprintf.texi: Update.
53450         * doc/functions/vsnprintf.texi: Update.
53451         * doc/functions/vsprintf.texi: Update.
53452
53453 2007-05-06  Bruno Haible  <bruno@clisp.org>
53454
53455         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
53456         pass the ' flag character to sprintf or snprintf.
53457         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
53458         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
53459         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
53460         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
53461         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
53462         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
53463         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
53464         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
53465         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
53466         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
53467         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
53468         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
53469         * tests/test-snprintf-posix.h (test_function): Also check the grouping
53470         flag.
53471         * tests/test-sprintf-posix.h (test_function): Likewise.
53472         * tests/test-vasnprintf-posix.c (test_function): Likewise.
53473         * tests/test-vasprintf-posix.c (test_function): Likewise.
53474         * doc/functions/fprintf.texi: Update.
53475         * doc/functions/printf.texi: Update.
53476         * doc/functions/snprintf.texi: Update.
53477         * doc/functions/sprintf.texi: Update.
53478         * doc/functions/vfprintf.texi: Update.
53479         * doc/functions/vprintf.texi: Update.
53480         * doc/functions/vsnprintf.texi: Update.
53481         * doc/functions/vsprintf.texi: Update.
53482
53483 2007-05-01  Bruno Haible  <bruno@clisp.org>
53484
53485         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
53486
53487 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
53488
53489         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
53490         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
53491
53492 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
53493
53494         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
53495         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
53496         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
53497
53498 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
53499
53500         * lib/argp-help.c (struct hol_entry): New member `ord'.
53501         (HOL_ENTRY_PTRCMP): Use ord for comparison
53502         (hol_sort): Initialize ord.
53503
53504 2007-05-01  Bruno Haible  <bruno@clisp.org>
53505
53506         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
53507         Reported by Eric Blake.
53508         * doc/gnulib.texi (Function Substitutes): Update.
53509
53510 2007-05-01  Bruno Haible  <bruno@clisp.org>
53511
53512         * doc/functions.texi: Remove file, now redundant through
53513         doc/functions/*.texi.
53514
53515 2007-05-01  Bruno Haible  <bruno@clisp.org>
53516
53517         * modules/argp (Depends-on): Add sleep.
53518
53519 2007-05-01  Bruno Haible  <bruno@clisp.org>
53520
53521         * modules/sleep-tests: New file.
53522         * tests/test-sleep.c: New file.
53523
53524         * modules/sleep: New file.
53525         * lib/sleep.c: New file.
53526         * m4/sleep.m4: New file.
53527         * lib/unistd_.h (sleep): New declaration.
53528         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
53529         HAVE_SLEEP.
53530         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
53531         * doc/functions/sleep.texi: Document the sleep module.
53532
53533 2007-05-01  Bruno Haible  <bruno@clisp.org>
53534
53535         * lib/sigprocmask.h: Remove file.
53536         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
53537         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
53538         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
53539         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
53540         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
53541         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
53542         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
53543         HAVE_SIGSET_T as a shell variable.
53544         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
53545         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
53546         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
53547         (Depends-on): Add signal. Remove verify.
53548         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
53549         (Include): Mention <signal.h> instead of sigprocmask.h.
53550         * NEWS: Mention the change.
53551         * lib/fatal-signal.c: Don't include sigprocmask.h.
53552
53553 2007-05-01  Bruno Haible  <bruno@clisp.org>
53554
53555         * modules/signal: New file.
53556         * lib/signal_.h: New file.
53557         * m4/signal_h.m4: New file.
53558
53559 2007-05-01  Bruno Haible  <bruno@clisp.org>
53560
53561         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
53562         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
53563         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
53564         HAVE_WCTYPE_CTMP_BUG into wctype.h.
53565
53566 2007-05-01  Bruno Haible  <bruno@clisp.org>
53567
53568         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
53569         configure time.
53570         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
53571         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
53572         * modules/sys_stat (Makefile.am): Substitute their values into
53573         sys/stat.h.
53574
53575 2007-05-01  Bruno Haible  <bruno@clisp.org>
53576
53577         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
53578         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
53579         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
53580
53581 2007-05-01  Bruno Haible  <bruno@clisp.org>
53582
53583         * doc/header/assert.texi: Undo last change: don't mention the gnulib
53584         'assert' module here.
53585
53586 2007-05-01  Bruno Haible  <bruno@clisp.org>
53587
53588         * doc/functions/*.texi: New files.
53589         * doc/functions/google-ranking.txt: New file.
53590         * doc/gnulib.texi (Function Substitutes): New chapter.
53591         (ctime, inet_ntoa): Remove sections.
53592         * doc/ctime.texi: Remove file.
53593         * doc/inet_ntoa.texi: Remove file.
53594         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
53595         dependencies.
53596         (%.info): New rule, specifying a --reference-limit.
53597
53598 2007-05-01  Bruno Haible  <bruno@clisp.org>
53599
53600         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
53601
53602 2007-05-01  Bruno Haible  <bruno@clisp.org>
53603
53604         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
53605         the portability of 'mkdir' to mingw systems.
53606
53607 2007-05-01  Bruno Haible  <bruno@clisp.org>
53608
53609         * doc/headers/google-ranking.txt: New file.
53610
53611 2007-04-30  Eric Blake  <ebb9@byu.net>
53612
53613         Prefer fseeko to fseek.
53614         * modules/getpass (Depends-on): Add fseeko.
53615         * lib/getpass.c (getpass): Use fseeko, not fseek.
53616
53617 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
53618
53619         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
53620         assumes the sorting is stable, while most qsort implementations
53621         are not.  Use argument addresses to ensure they never compare as
53622         equal.
53623
53624         * tests/test-argp-2.sh (usage-indent test): Fix output
53625         (func_compare): Restore diff options
53626         * tests/test-argp.c: Restore #include "progname.h"
53627
53628 2007-04-29  Bruno Haible  <bruno@clisp.org>
53629
53630         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
53631         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
53632         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
53633         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
53634         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
53635         (configure.ac): Define CHECK_SNPRINTF_POSIX.
53636         (TESTS, check_PROGRAMS): Add test-snprintf.
53637         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
53638         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
53639         (TESTS, check_PROGRAMS): Add test-vsnprintf.
53640         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
53641         assertions that fail on HP-UX, OSF/1, or IRIX.
53642         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
53643
53644 2007-04-29  Bruno Haible  <bruno@clisp.org>
53645
53646         * MODULES.html.sh (posix_functions): Remove 'contents'.
53647
53648 2007-04-29  Karl Berry  <karl@gnu.org>
53649
53650         * config/srclist.txt (gendocs_template_min): new entry.
53651
53652 2007-04-29  Bruno Haible  <bruno@clisp.org>
53653
53654         Work around fpurge bug on BSD systems.
53655         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
53656         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
53657         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
53658         fpurge to rpl_fpurge if the system already has this function.
53659         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
53660         the case where the system already has this function. Correct invariants
53661         on BSD systems.
53662         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
53663         BSD systems.
53664
53665 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
53666
53667         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
53668         proposed by Sven Verdoolaege.
53669
53670         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
53671         options.
53672         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
53673         (usage and help tests): Update
53674
53675 2007-04-29  Bruno Haible  <bruno@clisp.org>
53676
53677         * tests/test-fflush.c (main): Use a file of size 17, not 10.
53678         Print more information in case of failure. Disable a test on BeOS.
53679
53680 2007-04-29  Bruno Haible  <bruno@clisp.org>
53681
53682         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
53683         This helps debugging on systems on which no gdb is available.
53684
53685 2007-04-29  Bruno Haible  <bruno@clisp.org>
53686
53687         * lib/freading.h: Improve comments.
53688         * lib/fwriting.h: Likewise.
53689         * tests/test-freading.c (main): Don't check freading immediately after
53690         repositioning. Needed for glibc.
53691
53692 2007-04-29  Bruno Haible  <bruno@clisp.org>
53693
53694         * lib/freading.c (freading): Trivial simplification.
53695
53696 2007-04-28  Bruno Haible  <bruno@clisp.org>
53697
53698         * tests/test-fwriting.c (main): Also test the interaction between
53699         fflush and fwriting.
53700         * modules/fwriting-tests (Depends-on): Add fflush.
53701
53702         * tests/test-freading.c (main): Also test the interaction between
53703         fflush and freading.
53704         * modules/freading-tests (Depends-on): Add fflush.
53705
53706 2007-04-28  Bruno Haible  <bruno@clisp.org>
53707
53708         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
53709         fseeko and ftello.
53710         Suggested by Eric Blake.
53711
53712 2007-04-28  Jim Meyering  <jim@meyering.net>
53713
53714         Avoid false-negative in gl_STDINT_H's C99 conformance test.
53715         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
53716         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
53717
53718 2007-04-27  Eric Blake  <ebb9@byu.net>
53719
53720         * doc/headers/assert.texi (assert.h): Document assert module use.
53721
53722 2007-04-27  Bruno Haible  <bruno@clisp.org>
53723
53724         * doc/headers/*.texi: New files.
53725         * doc/gnulib.texi (Header File Substitutes): New chapter.
53726         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
53727         dependencies.
53728         (standards.info ,standards.html, standards.dvi): Update dependencies.
53729         (mostlyclean, clean): New targets.
53730
53731 2007-04-27  Bruno Haible  <bruno@clisp.org>
53732
53733         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
53734         * modules/sysexits (Files, Makefile.am): Update.
53735
53736         * lib/sys_socket_.h: Renamed from lib/socket_.h.
53737         * modules/sys_socket (Files, Makefile.am): Update.
53738
53739         * lib/sys_stat_.h: Renamed from lib/stat_.h.
53740         * modules/sys_stat (Files, Makefile.am): Update.
53741
53742 2007-04-27  Eric Blake  <ebb9@byu.net>
53743
53744         * lib/freading.h: Improve comments.
53745         * lib/fwriting.h: Likewise.
53746         * lib/fflush.c: Likewise.
53747
53748         Fix closein for mingw.
53749         * modules/closein-tests: Add tests for closein.
53750         * tests/test-closein.c: New file.
53751         * tests/test-closein.sh: Likewise.
53752         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
53753         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
53754
53755 2007-04-27  Bruno Haible  <bruno@clisp.org>
53756
53757         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
53758         version is < 6.
53759         * lib/math_.h [__DECC]: Likewise.
53760         * lib/stdio_.h [__DECC]: Likewise.
53761         * lib/stdlib_.h [__DECC]: Likewise.
53762         * lib/string_.h [__DECC]: Likewise.
53763         * lib/time_.h [__DECC]: Likewise.
53764         * lib/wchar_.h [__DECC]: Likewise.
53765         * lib/wctype_.h [__DECC]: Likewise.
53766
53767 2007-04-27  Bruno Haible  <bruno@clisp.org>
53768
53769         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
53770
53771 2007-04-27  Bruno Haible  <bruno@clisp.org>
53772
53773         * lib/fflush.c: Add comments.
53774         * modules/fpurge-tests (Depends-on): Add fflush.
53775         * modules/freadable-tests (Depends-on): Likewise.
53776         * modules/fwritable-tests (Depends-on): Likewise.
53777
53778 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
53779
53780         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
53781         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
53782         Report by Bruno Haible <bruno@clisp.org>.
53783
53784 2007-04-26  Eric Blake  <ebb9@byu.net>
53785
53786         Fix fflush on mingw.
53787         * modules/fflush (Depends-on): Add freading.
53788         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
53789         but unread data.
53790
53791 2007-04-26  Eric Blake  <ebb9@byu.net>
53792         and Bruno Haible  <bruno@clisp.org>
53793
53794         Implement freading and fwriting.
53795         * lib/freading.c: New file.
53796         * lib/freading.h: Likewise.
53797         * m4/freading.m4: Likewise.
53798         * modules/freading: Likewise.
53799         * modules/freading-tests: Likewise.
53800         * tests/test-freading.c: Likewise.
53801         * lib/fwriting.c: New file.
53802         * lib/fwriting.h: Likewise.
53803         * m4/fwriting.m4: Likewise.
53804         * modules/fwriting: Likewise.
53805         * modules/fwriting-tests: Likewise.
53806         * tests/test-fwriting.c: Likewise.
53807         * MODULES.html.sh (File stream based Input/Output): Mention them.
53808
53809 2007-04-26  Bruno Haible  <bruno@clisp.org>
53810
53811         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
53812         'long' when we assume it.
53813         Suggested by Eric Blake.
53814
53815 2007-04-26  Bruno Haible  <bruno@clisp.org>
53816
53817         Ensure fseeko, ftello are declared on glibc systems.
53818         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
53819         * modules/fseeko (configure.ac-early): Likewise.
53820         * modules/ftello (configure.ac-early): Likewise.
53821         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
53822         AC_FUNC_FSEEKO for this.
53823         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
53824         (gl_CHECK_FSEEKO): Remove macro.
53825
53826 2007-04-26  Bruno Haible  <bruno@clisp.org>
53827
53828         * tests/test-fflush.c (main): Also check the ftell result after
53829         fflush and fseek/fseeko.
53830         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
53831         file descriptor position cache in the stream.
53832         * lib/fseeko.c (rpl_fseeko): Likewise.
53833
53834 2007-04-26  Bruno Haible  <bruno@clisp.org>
53835
53836         * modules/fflush-tests (Depends-on): Add fseeko.
53837
53838 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
53839             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53840
53841         * lib/argz_.h: ensure error_t definition is obtained in same
53842         mechanism system argz.h would have.
53843         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
53844         argz facilities are known bad.  Err on the side of caution if
53845         cross-compiling.
53846
53847 2007-04-25  Eric Blake  <ebb9@byu.net>
53848
53849         * lib/fpurge.c (includes): Use stdlib.h for free.
53850         * tests/test-fflush.c (main): Also test fflush-fseeko.
53851
53852 2007-04-25  Bruno Haible  <bruno@clisp.org>
53853
53854         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
53855         * lib/fseeko.c: New file.
53856         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
53857         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
53858         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
53859         gl_FUNC_FSEEKO.
53860         (gl_FUNC_FSEEKO): Invoke it.
53861         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
53862         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
53863         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
53864
53865 2007-04-25  Bruno Haible  <bruno@clisp.org>
53866
53867         * modules/fflush (Depends-on): Add ftello.
53868
53869 2007-04-25  Bruno Haible  <bruno@clisp.org>
53870
53871         * modules/ftello-tests: New file.
53872         * tests/test-ftello.c: New file.
53873
53874         * modules/ftello: New file.
53875         * m4/ftello.m4: New file.
53876         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
53877         HAVE_FTELLO.
53878         * lib/stdio_.h (ftello): New declaration.
53879         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
53880         HAVE_FTELLO.
53881
53882 2007-04-25  Bruno Haible  <bruno@clisp.org>
53883
53884         * modules/fseeko-tests: New file.
53885         * tests/test-fseeko.c: New file.
53886
53887         * modules/fseeko: New file.
53888         * m4/fseeko.m4: New file.
53889         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
53890         HAVE_FSEEKO.
53891         * lib/stdio_.h (fseeko): New declaration.
53892         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
53893         HAVE_FSEEKO.
53894
53895 2007-04-25  Bruno Haible  <bruno@clisp.org>
53896
53897         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
53898
53899 2007-04-25  Bruno Haible  <bruno@clisp.org>
53900
53901         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
53902         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
53903         * tests/test-unistd.c: Likewise.
53904         * tests/test-fcntl.c: Likewise.
53905
53906 2007-04-23  Eric Blake  <ebb9@byu.net>
53907
53908         * lib/fflush.c: Fix missing include.
53909         Reported by Bruno Haible.
53910
53911 2007-04-23  Bruno Haible  <bruno@clisp.org>
53912
53913         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
53914         Reported by Eric Blake.
53915
53916 2007-04-23  Bruno Haible  <bruno@clisp.org>
53917
53918         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
53919
53920 2007-04-23  Bruno Haible  <bruno@clisp.org>
53921
53922         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
53923
53924 2007-04-23  Bruno Haible  <bruno@clisp.org>
53925
53926         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
53927         Needed on HP-UX 11.
53928
53929 2007-04-16  Eric Blake  <ebb9@byu.net>
53930
53931         Make fflush rely on fpurge.
53932         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
53933         open coding all variants.
53934         * modules/fflush (Depends-on): Add fpurge and unistd.
53935         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
53936         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
53937
53938         Fix --with-tests compilation on cygwin.
53939         * modules/argmatch-tests (Makefile.am): List gnulib library first
53940         in LDADD.
53941         * modules/argp-tests (Makefile.am): Likewise.
53942         * modules/array-list-tests (Makefile.am): Likewise.
53943         * modules/array-oset-tests (Makefile.am): Likewise.
53944         * modules/avltree-list-tests (Makefile.am): Likewise.
53945         * modules/avltree-oset-tests (Makefile.am): Likewise.
53946         * modules/avltreehash-list-tests (Makefile.am): Likewise.
53947         * modules/carray-list-tests (Makefile.am): Likewise.
53948         * modules/dirname-tests (Makefile.am): Likewise.
53949         * modules/frexp-tests (Makefile.am): Likewise.
53950         * modules/isnanl-tests (Makefile.am): Likewise.
53951         * modules/linked-list-tests (Makefile.am): Likewise.
53952         * modules/linkedhash-list-tests (Makefile.am): Likewise.
53953         * modules/lock-tests (Makefile.am): Likewise.
53954         * modules/rbtree-list-tests (Makefile.am): Likewise.
53955         * modules/rbtree-oset-tests (Makefile.am): Likewise.
53956         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
53957         * modules/tls-tests (Makefile.am): Likewise.
53958         * modules/tsearch-tests (Makefile.am): Likewise.
53959         * modules/xvasprintf-tests (Makefile.am): Likewise.
53960
53961         Fix fpurge for cygwin.
53962         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
53963         value.
53964         * modules/fpurge-tests (Depends-on): Clean up trash.
53965
53966 2007-04-16  Simon Josefsson  <simon@josefsson.org>
53967
53968         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
53969
53970         * m4/autobuild.m4: Re-indent.
53971
53972 2007-04-13  Bruno Haible  <bruno@clisp.org>
53973
53974         * modules/fpurge-tests: New file.
53975         * tests/test-fpurge.c: New file.
53976
53977         * modules/fpurge: New file.
53978         * lib/fpurge.h: New file.
53979         * lib/fpurge.c: New file.
53980         * m4/fpurge.m4: New file.
53981
53982 2007-04-13  Bruno Haible  <bruno@clisp.org>
53983
53984         * modules/fbufmode-tests: New file.
53985         * tests/test-fbufmode.c: New file.
53986
53987         * modules/fbufmode: New file.
53988         * lib/fbufmode.h: New file.
53989         * lib/fbufmode.c: New file.
53990         * m4/fbufmode.m4: New file.
53991
53992 2007-04-13  Bruno Haible  <bruno@clisp.org>
53993
53994         * modules/fwritable-tests: New file.
53995         * tests/test-fwritable.c: New file.
53996
53997         * modules/fwritable: New file.
53998         * lib/fwritable.h: New file.
53999         * lib/fwritable.c: New file.
54000         * m4/fwritable.m4: New file.
54001
54002 2007-04-13  Bruno Haible  <bruno@clisp.org>
54003
54004         * modules/freadable-tests: New file.
54005         * tests/test-freadable.c: New file.
54006
54007         * modules/freadable: New file.
54008         * lib/freadable.h: New file.
54009         * lib/freadable.c: New file.
54010         * m4/freadable.m4: New file.
54011
54012 2007-04-13  Bruno Haible  <bruno@clisp.org>
54013
54014         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
54015         MOSTLYCLEANFILES.
54016
54017 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
54018
54019         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
54020         gzip bootstrap.conf to avoid dragging in i18n machinery.
54021         (gnulib_tool_option): Use it.
54022
54023 2007-04-13  Bruno Haible  <bruno@clisp.org>
54024
54025         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
54026         %F directives.
54027         * tests/test-vasprintf-posix.c (test_function): Likewise.
54028         * tests/test-snprintf-posix.h (test_function): Likewise.
54029         * tests/test-sprintf-posix.h (test_function): Likewise.
54030         * tests/test-fprintf-posix.h (test_function): Likewise.
54031         * tests/test-printf-posix.h (test_function): Likewise.
54032         * tests/test-fprintf-posix.out: Likewise.
54033
54034 2007-04-13  Bruno Haible  <bruno@clisp.org>
54035
54036         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
54037         * modules/tls-tests (configure.ac): Likewise.
54038         Reported by Arto C. Nirkko <anirkko@insel.ch>.
54039
54040 2007-04-13  Bruno Haible  <bruno@clisp.org>
54041
54042         * lib/tls.c (glthread_tls_get): Fix return type.
54043         Patch by Arto C. Nirkko <anirkko@insel.ch>.
54044
54045 2007-04-12  Eric Blake  <ebb9@byu.net>
54046
54047         * modules/gettime (Depends-on): Remove gettime.
54048         Reported by Dmitry V. Levin.
54049
54050 2007-04-12  Bruno Haible  <bruno@clisp.org>
54051
54052         * modules/fflush (Include): Mention <stdio.h>.
54053         * modules/strtoimax (Include): Mention <inttypes.h>.
54054         * modules/strtoumax (Include): Likewise.
54055
54056 2007-04-12  Eric Blake  <ebb9@byu.net>
54057
54058         * .cvsignore: New file.
54059         * .gitignore: Likewise.
54060
54061 2007-04-12  Bruno Haible  <bruno@clisp.org>
54062
54063         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
54064         not before, since $(LDADD) often contains libgnu.a.
54065         * modules/striconv-tests (test_striconv_LDADD): Likewise.
54066         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
54067         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
54068         Needed on Cygwin.
54069
54070 2007-04-12  Eric Blake  <ebb9@byu.net>
54071
54072         Work around glibc's failure to flush stdin on fclose.
54073         * lib/closein.c (close_stdin): Flush stdin before closing.
54074
54075         Work around glibc's failure to reset seekable stdin on exit.
54076         * modules/closein: New module.
54077         * lib/closein.c: New file.
54078         * lib/closein.h: Likewise.
54079         * m4/closein.m4: Likewise.
54080         * MODULES.html.sh (File stream based Input/Output): Document it.
54081
54082 2007-04-12  Simon Josefsson  <simon@josefsson.org>
54083
54084         * gnulib-tool: Rename generated 'autobuild' script to
54085         'do-autobuild' in --create-megatestdir output.
54086
54087         * doc/gnulib.texi (Build robot for gnulib): Fix.
54088
54089 2007-04-12  Simon Josefsson  <simon@josefsson.org>
54090
54091         * modules/sysexits (Depends-on): Add absolute-header.
54092
54093 2007-04-12  Eric Blake  <ebb9@byu.net>
54094
54095         No need to preserve errno on success.
54096         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
54097         Reported by Bruno Haible.
54098
54099 2007-04-12  Simon Josefsson  <simon@josefsson.org>
54100
54101         * MODULES.html.sh (Support for maintaining and releasing
54102         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
54103
54104 2007-04-12  Simon Josefsson  <simon@josefsson.org>
54105
54106         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
54107
54108 2007-04-12  Simon Josefsson  <simon@josefsson.org>
54109
54110         * modules/autobuild: New module.
54111
54112         * m4/autobuild.m4: New file.
54113
54114 2007-04-11  Bruno Haible  <bruno@clisp.org>
54115
54116         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
54117         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
54118         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
54119         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
54120         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
54121         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
54122         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
54123         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
54124         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
54125         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
54126         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
54127         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
54128         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
54129         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
54130         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
54131         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
54132         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
54133         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
54134         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
54135         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
54136         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
54137         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
54138         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
54139         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
54140         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
54141         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
54142         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
54143         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
54144         Reported by Eric Blake.
54145
54146 2007-04-11  Bruno Haible  <bruno@clisp.org>
54147
54148         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
54149
54150 2007-04-10  Bruno Haible  <bruno@clisp.org>
54151
54152         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
54153         for NaN and Infinity. Needed on FreeBSD 6.1.
54154         * tests/test-vasnprintf-posix.c (test_function): Undo last change
54155         regarding results for "%010a" of Infinity and NaN.
54156         * tests/test-vasprintf-posix.c (test_function): Likewise.
54157         * tests/test-snprintf-posix.h (test_function): Likewise.
54158         * tests/test-sprintf-posix.h (test_function): Likewise.
54159         * tests/test-fprintf-posix.h (test_function): Likewise.
54160         * tests/test-printf-posix.h (test_function): Likewise.
54161         * tests/test-fprintf-posix.out: Likewise.
54162
54163 2007-04-10  Bruno Haible  <bruno@clisp.org>
54164
54165         * modules/locale-tests: New file.
54166         * tests/test-locale.c: New file.
54167
54168         * modules/locale: New file.
54169         * lib/locale_.h: New file.
54170         * m4/locale_h.m4: New file.
54171
54172 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
54173             Bruno Haible  <bruno@clisp.org>
54174
54175         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
54176         be determined, test for availability of the copysignf, copysign,
54177         copysignl functions.
54178         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
54179         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
54180         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
54181
54182 2007-04-09  Eric Blake  <ebb9@byu.net>
54183
54184         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
54185         * modules/stdio (Makefile.am): Support fflush.
54186         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
54187         * modules/fflush: New file.
54188         * lib/fflush.c: Likewise.
54189         * m4/fflush.m4: Likewise.
54190         * modules/fflush-tests: New test.
54191         * tests/test-fflush.c: Likewise.
54192         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
54193
54194 2007-04-06  Bruno Haible  <bruno@clisp.org>
54195
54196         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
54197         (VASNPRINTF): Use signbit for faster determination whether to print a
54198         minus sign.
54199         * modules/vasnprintf (Files): Remove lib/float+.h.
54200         * modules/fprintf-posix (Depends-on): Add signbit.
54201         * modules/snprintf-posix (Depends-on): Likewise.
54202         * modules/sprintf-posix (Depends-on): Likewise.
54203         * modules/vasnprintf-posix (Depends-on): Likewise.
54204         * modules/vasprintf-posix (Depends-on): Likewise.
54205         * modules/vfprintf-posix (Depends-on): Likewise.
54206         * modules/vsnprintf-posix (Depends-on): Likewise.
54207         * modules/vsprintf-posix (Depends-on): Likewise.
54208
54209 2007-04-06  Bruno Haible  <bruno@clisp.org>
54210
54211         * tests/test-frexp.c (main): Test also the sign bit of zero results.
54212         * tests/test-frexpl.c (main): Likewise.
54213         * tests/test-ldexpl.c (main): Likewise.
54214         * modules/frexp-tests (Depends-on): Add signbit.
54215         * modules/frexpl-tests (Depdends-on): Likewise.
54216         * modules/ldexpl-tests (Depdends-on): Likewise.
54217
54218 2007-04-06  Bruno Haible  <bruno@clisp.org>
54219
54220         * modules/signbit-tests: New file.
54221         * tests/test-signbit.c: New file.
54222
54223         * modules/signbit: New file.
54224         * lib/signbitf.c: New file.
54225         * lib/signbitd.c: New file.
54226         * lib/signbitl.c: New file.
54227         * m4/signbit.m4: New file.
54228         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
54229         (signbit): New macro.
54230         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
54231         REPLACE_SIGNBIT.
54232         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
54233         REPLACE_FREXPL into math.h.
54234
54235 2007-04-06  Bruno Haible  <bruno@clisp.org>
54236
54237         * modules/isnanf-nolibm-tests: New file.
54238         * tests/test-isnanf.c: New file.
54239
54240         * modules/isnanf-nolibm: New file.
54241         * lib/isnanf.h: New file.
54242         * lib/isnanf.c: New file.
54243         * lib/isnan.c: Consider the USE_FLOAT macro.
54244         * m4/isnanf.m4: New file.
54245
54246 2007-04-06  Bruno Haible  <bruno@clisp.org>
54247
54248         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
54249         (Link): New section.
54250
54251         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
54252
54253 2007-04-06  Bruno Haible  <bruno@clisp.org>
54254
54255         Assume the 'long double' type.
54256         * m4/longdouble.m4: Remove file.
54257         * config/srclist.txt: Don't mention longdouble.m4.
54258         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
54259         * lib/float+.h: Likewise.
54260         * lib/frexp.c: Likewise.
54261         * lib/printf-args.h: Likewise.
54262         * lib/printf-args.c: Likewise.
54263         * lib/printf-frexp.c: Likewise.
54264         * lib/printf-parse.c: Likewise.
54265         * lib/vasnprintf.c: Likewise.
54266         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
54267         * m4/intl.m4: Likewise.
54268         * m4/isnanl.m4: Likewise.
54269         * m4/printf.m4: Likewise.
54270         * m4/printf-frexpl.m4: Likewise.
54271         * m4/vasnprintf.m4: Likewise.
54272         * modules/allocsa (Files): Remove m4/longdouble.m4.
54273         * modules/gettext (Files): Likewise.
54274         * modules/relocatable-prog-wrapper (Files): Likewise.
54275         * modules/vasnprintf (Files): Likewise.
54276         * modules/isnanl (Files): Likewise.
54277         (Include): Simplify.
54278         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
54279         (Include): Simplify.
54280         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
54281         (Include): Simplify.
54282         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
54283         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
54284         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
54285         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
54286         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
54287         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
54288         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
54289         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
54290         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
54291         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
54292         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
54293         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
54294         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
54295         * tests/test-isnanl.c: Likewise.
54296         * tests/test-snprintf-posix.h: Likewise.
54297         * tests/test-sprintf-posix.h: Likewise.
54298         * tests/test-vasnprintf-posix.c: Likewise.
54299         * tests/test-vasnprintf-posix2.c: Likewise.
54300         * tests/test-vasprintf-posix.c: Likewise.
54301
54302 2007-04-06  Bruno Haible  <bruno@clisp.org>
54303
54304         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
54305         * lib/math_.h [__DECC]: Include the overridden include file through
54306         #include_next, outside the double-inclusion guard.
54307         * lib/stdio_.h [__DECC]: Likewise.
54308         * lib/stdlib_.h [__DECC]: Likewise.
54309         * lib/string_.h [__DECC]: Likewise.
54310         * lib/time_.h [__DECC]: Likewise.
54311         * lib/wchar_.h [__DECC]: Likewise.
54312         * lib/wctype_.h [__DECC]: Likewise.
54313         * lib/inttypes_.h [__DECC]: Likewise.
54314         Reported by Albert Chin <china@thewrittenword.com> in
54315         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
54316
54317 2007-04-04  Eric Blake  <ebb9@byu.net>
54318
54319         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
54320         1.5.x.
54321
54322 2007-04-04  Bruno Haible  <bruno@clisp.org>
54323
54324         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
54325         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
54326
54327 2007-04-04  Bruno Haible  <bruno@clisp.org>
54328
54329         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
54330         results for "%010a" of Infinity and NaN.
54331         * tests/test-vasprintf-posix.c (test_function): Likewise.
54332         * tests/test-snprintf-posix.h (test_function): Likewise.
54333         * tests/test-sprintf-posix.h (test_function): Likewise.
54334         * tests/test-fprintf-posix.h (test_function): Remove these tests.
54335         * tests/test-printf-posix.h (test_function): Likewise.
54336         * tests/test-fprintf-posix.out: Update.
54337         Needed for FreeBSD 6.1.
54338
54339 2007-04-04  Bruno Haible  <bruno@clisp.org>
54340
54341         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
54342         directly used by the gnulib modules nor by gnulib-tool.
54343
54344 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
54345
54346         * DEPENDENCIES: Give overall description of version dependency
54347         desirability.  Use more-typical names for apps.
54348         Add shell, coreutils, diffutils, grep, tar, gzip.
54349
54350 2007-04-04  Simon Josefsson  <simon@josefsson.org>
54351
54352         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
54353
54354 2007-04-04  Karl Berry  <karl@gnu.org>
54355
54356         * MODULES.html.sh (func_module): missing '.
54357
54358 2007-04-03  Bruno Haible  <bruno@clisp.org>
54359
54360         * modules/argmatch-tests (Makefile.am): New variable
54361         test_argmatch_LDADD.
54362         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
54363         * modules/array-list-tests (Makefile.am): New variable
54364         test_array_list_LDADD.
54365         * modules/array-oset-tests (Makefile.am): New variable
54366         test_array_oset_LDADD.
54367         * modules/avltree-list-tests (Makefile.am): New variable
54368         test_avltree_list_LDADD.
54369         * modules/avltree-oset-tests (Makefile.am): New variable
54370         test_avltree_oset_LDADD.
54371         * modules/avltreehash-list-tests (Makefile.am): New variable
54372         test_avltreehash_list_LDADD.
54373         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
54374         test_canonicalize_lgpl_LDADD.
54375         * modules/carray-list-tests (Makefile.am): New variable
54376         test_carray_list_LDADD.
54377         * modules/dirname-tests (Makefile.am): New variable
54378         test_dirname_LDADD.
54379         * modules/linked-list-tests (Makefile.am): New variable
54380         test_linked_list_LDADD.
54381         * modules/linkedhash-list-tests (Makefile.am): New variable
54382         test_linkedhash_list_LDADD.
54383         * modules/rbtree-list-tests (Makefile.am): New variable
54384         test_rbtree_list_LDADD.
54385         * modules/rbtree-oset-tests (Makefile.am): New variable
54386         test_rbtree_oset_LDADD.
54387         * modules/rbtreehash-list-tests (Makefile.am): New variable
54388         test_rbtreehash_list_LDADD.
54389         * modules/xvasprintf-tests (Makefile.am): New variable
54390         test_xvasprintf_LDADD.
54391         Reported by Eric Blake.
54392
54393 2007-04-03  Eric Blake  <ebb9@byu.net>
54394
54395         * DEPENDENCIES: Weaken m4 requirements.
54396
54397 2007-04-03  Bruno Haible  <bruno@clisp.org>
54398
54399         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
54400         * modules/isnanl-tests (configure.ac): Likewise.
54401
54402 2007-04-03  Ben Pfaff  <blp@gnu.org>
54403
54404         * modules/iconv_open: Add $(srcdir)/ to source directory
54405         references in Makefile fragments that call gperf, to fix VPATH
54406         builds.
54407
54408 2007-04-03  Bruno Haible  <bruno@clisp.org>
54409
54410         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
54411         * lib/ldexpl.c: Undo last change.
54412
54413 2007-04-03  Bruno Haible  <bruno@clisp.org>
54414
54415         * modules/printf-frexpl (Depends-on): Undo last change.
54416         (Files): Add m4/ldexpl.m4.
54417
54418 2007-04-03  Bruno Haible  <bruno@clisp.org>
54419
54420         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
54421         * modules/isnanl (Link): New section.
54422
54423         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
54424         * modules/frexp (Link): New section.
54425
54426         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
54427         * modules/frexpl (Link): New section.
54428
54429         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
54430         * modules/ldexpl (Link): New section.
54431
54432 2007-04-03  Bruno Haible  <bruno@clisp.org>
54433
54434         * modules/TEMPLATE-EXTENDED: New file.
54435         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
54436
54437 2007-04-03  Bruno Haible  <bruno@clisp.org>
54438
54439         * DEPENDENCIES: New file.
54440         Suggested by Simon Josefsson.
54441
54442 2007-04-03  Bruno Haible  <bruno@clisp.org>
54443
54444         * doc/gnulib.texi: Escape @.
54445
54446 2007-04-03  James Youngman  <jay@gnu.org>
54447         and Paul Eggert  <eggert@cs.ucla.edu>
54448
54449         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
54450         birthtime on all systems that have birthtime, not just those which
54451         use st_birthtimensec rather than st_birthtim.  Putting zero in
54452         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
54453         that the birth time is not available for files on an NFS mount.
54454
54455 2007-04-03  Simon Josefsson  <simon@josefsson.org>
54456
54457         * modules/memxor: Move back from crypto/, suggested by Bruno.
54458         * modules/crypto/hmac-sha1: Fix memxor dependency.
54459
54460         * modules/crypto/gc: Moved from ../.
54461
54462 2007-04-02  Eric Blake  <ebb9@byu.net>
54463
54464         * lib/ldexpl.c (includes): Avoid libm.
54465
54466         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
54467
54468 2007-04-02  Bruno Haible  <bruno@clisp.org>
54469
54470         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
54471         on IRIX.
54472
54473 2007-04-02  Bruno Haible  <bruno@clisp.org>
54474
54475         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
54476         x86 or x86_64 platforms running MacOS X.
54477         Reported by Ryan Schmidt <@ryandesign.com>.
54478
54479 2007-04-02  Bruno Haible  <bruno@clisp.org>
54480
54481         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
54482         i386.
54483
54484 2007-04-01  Simon Josefsson  <simon@josefsson.org>
54485
54486         * modules/crypto/arcfour: Moved from ../.
54487         * modules/crypto/arcfour-tests: Moved from ../.
54488         * modules/crypto/arctwo: Moved from ../.
54489         * modules/crypto/arctwo-tests: Moved from ../.
54490         * modules/crypto/des: Moved from ../.
54491         * modules/crypto/des-tests: Moved from ../.
54492         * modules/crypto/gc-arcfour: Moved from ../.
54493         * modules/crypto/gc-arcfour-tests: Moved from ../.
54494         * modules/crypto/gc-arctwo: Moved from ../.
54495         * modules/crypto/gc-arctwo-tests: Moved from ../.
54496         * modules/crypto/gc-des: Moved from ../.
54497         * modules/crypto/gc-des-tests: Moved from ../.
54498         * modules/crypto/gc-hmac-md5: Moved from ../.
54499         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
54500         * modules/crypto/gc-hmac-sha1: Moved from ../.
54501         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
54502         * modules/crypto/gc-md2: Moved from ../.
54503         * modules/crypto/gc-md2-tests: Moved from ../.
54504         * modules/crypto/gc-md4: Moved from ../.
54505         * modules/crypto/gc-md4-tests: Moved from ../.
54506         * modules/crypto/gc-md5: Moved from ../.
54507         * modules/crypto/gc-md5-tests: Moved from ../.
54508         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
54509         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
54510         * modules/crypto/gc-random: Moved from ../.
54511         * modules/crypto/gc-rijndael: Moved from ../.
54512         * modules/crypto/gc-rijndael-tests: Moved from ../.
54513         * modules/crypto/gc-sha1: Moved from ../.
54514         * modules/crypto/gc-sha1-tests: Moved from ../.
54515         * modules/crypto/gc-tests: Moved from ../.
54516         * modules/crypto/hmac-md5: Moved from ../.
54517         * modules/crypto/hmac-md5-tests: Moved from ../.
54518         * modules/crypto/hmac-sha1: Moved from ../.
54519         * modules/crypto/hmac-sha1-tests: Moved from ../.
54520         * modules/crypto/md2: Moved from ../.
54521         * modules/crypto/md2-tests: Moved from ../.
54522         * modules/crypto/md4: Moved from ../.
54523         * modules/crypto/md4-tests: Moved from ../.
54524         * modules/crypto/md5: Moved from ../.
54525         * modules/crypto/md5-tests: Moved from ../.
54526         * modules/crypto/memxor: Moved from ../.
54527         * modules/crypto/rijndael: Moved from ../.
54528         * modules/crypto/rijndael-tests: Moved from ../.
54529         * modules/crypto/sha1: Moved from ../.
54530
54531 2007-03-30  James Youngman  <jay@gnu.org>
54532
54533         * tests/test-stat-time.c (prepare_test): use chmod() rather than
54534         rename() to change the ctime of a file (because ctime is unaffected
54535         by rename on jfs2 on AIX 5.1).
54536         (main): Start by doing cleanup, in case a previous run failed leaving
54537         test files behind.
54538
54539 2007-03-31  Bruno Haible  <bruno@clisp.org>
54540
54541         Support old proprietary implementations of iconv.
54542         * modules/iconv_open: New file.
54543         * lib/iconv_.h: New file.
54544         * m4/iconv_h.m4: New file.
54545         * lib/iconv_open.c: New file.
54546         * lib/iconv_open-aix.gperf: New file.
54547         * lib/iconv_open-hpux.gperf: New file.
54548         * lib/iconv_open-irix.gperf: New file.
54549         * lib/iconv_open-osf.gperf: New file.
54550         * m4/iconv_open.m4: New file.
54551         * modules/linebreak (Depends-on): Add iconv_open.
54552         * modules/striconv (Depends-on): Likewise.
54553         * modules/striconveh (Depends-on): Likewise.
54554         * modules/unicodeio (Depends-on): Likewise.
54555         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
54556         (iconv_t)(-1).
54557         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
54558         conversion if cd is (iconv_t)(-1).
54559         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
54560         is not possible.
54561
54562 2007-03-31  Bruno Haible  <bruno@clisp.org>
54563
54564         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
54565         work on Solaris either. Protect also second use of "autodetect_jp".
54566
54567 2007-03-31  Bruno Haible  <bruno@clisp.org>
54568
54569         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
54570         the function is not present.
54571
54572 2007-03-31  Bruno Haible  <bruno@clisp.org>
54573
54574         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
54575         the function is not present.
54576
54577 2007-03-31  Bruno Haible  <bruno@clisp.org>
54578
54579         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
54580         a bug in HP-UX iconv_open().
54581
54582 2007-03-31  Bruno Haible  <bruno@clisp.org>
54583
54584         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
54585         (Mathematics <math.h>): New section, add fpieee.
54586         (Input/output <stdio.h>): Add fseterr.
54587         (Mathematics <math.h>): New section, add printf-frexp.
54588         (Container data structures): Add sublist.
54589         (Core language properties): Add fpucw, inline.
54590         (Functions for greatest-width integer types <inttypes.h>): Add
54591         imaxabs, imaxdiv, inttypes.
54592         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
54593         isnanl-nolibm, ldexp.
54594         (Mathematics <math.h>): New section, add printf-frexpl.
54595         (Support for systems lacking POSIX:2001): Add fprintf-posix,
54596         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
54597         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
54598         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
54599         (Unicode string functions): Add unistr/u*-mbtoucr.
54600         (Java): Add javacomp-script, javaexec-script.
54601         (C#): Add csharpcomp-script, csharpexec-script.
54602         (Support for building libraries and executables): Add havelib,
54603         relocatable-*.
54604         (Support for maintaining and releasing projects): Renamed from
54605         'Support for maintaining and release projects'. Add announce-gen.
54606
54607 2007-03-31  Bruno Haible  <bruno@clisp.org>
54608
54609         * README: Talk primarily about git.
54610         (git and CVS): Renamed from CVS.
54611         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
54612         gnulib is available through git.
54613         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
54614
54615 2007-03-30  Bruno Haible  <bruno@clisp.org>
54616
54617         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
54618         * lib/poll_.h: Likewise.
54619         * lib/stat_.h: Likewise.
54620         * lib/sys_time_.h: Likewise.
54621         * lib/sysexit_.h: Likewise.
54622         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
54623         * lib/stdbool_.h: Likewise.
54624         * lib/byteswap_.h: Add double-inclusion guard.
54625
54626 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
54627
54628         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
54629
54630 2007-03-30  Karl Berry  <karl@gnu.org>
54631
54632         * config/srclist-update: double space after USA in the license
54633         substitution, since that's how it's usually (?) written.
54634
54635 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
54636
54637         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
54638         reported by Bruno Haible.
54639
54640 2007-03-29  Bruno Haible  <bruno@clisp.org>
54641
54642         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
54643         a bug in AIX iconv().
54644
54645 2007-03-29  Bruno Haible  <bruno@clisp.org>
54646
54647         * modules/ldexpl-tests: New file.
54648         * tests/test-ldexpl.c: New file.
54649
54650 2007-03-29  Bruno Haible  <bruno@clisp.org>
54651
54652         * lib/ldexpl.c: Include fpucw.h.
54653         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
54654         multiplication.
54655         * modules/ldexpl (Depends-on): Add fpucw.
54656
54657 2007-03-29  Bruno Haible  <bruno@clisp.org>
54658
54659         * modules/ldexpl: New file.
54660         * m4/ldexpl.m4: New file.
54661         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
54662         set.
54663         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
54664         REPLACE_LDEXPL.
54665         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
54666         REPLACE_LDEXPL.
54667         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
54668         gl_FUNC_LDEXPL_WORKS.
54669         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
54670         * modules/mathl (Files): Remove lib/ldexpl.c.
54671         (Depends-on): Add ldexpl.
54672
54673 2007-03-29  Bruno Haible  <bruno@clisp.org>
54674
54675         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
54676
54677 2007-03-29  Bruno Haible  <bruno@clisp.org>
54678
54679         * tests/test-striconveh.c (main): Don't assume that a direct conversion
54680         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
54681         and possibly also HP-UX.
54682         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
54683         work on AIX, IRIX, HP-UX, OSF/1.
54684         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
54685         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
54686         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
54687         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
54688         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
54689         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
54690
54691 2007-03-29  Bruno Haible  <bruno@clisp.org>
54692
54693         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
54694
54695 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
54696
54697         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
54698         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
54699
54700 2007-03-29  Eric Blake  <ebb9@byu.net>
54701
54702         * lib/acl-internal.h: Remove redundant include.
54703         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
54704         Cygwin when a file is locked.
54705
54706 2007-03-29  Bruno Haible  <bruno@clisp.org>
54707
54708         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
54709         file.
54710         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
54711
54712 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
54713
54714         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
54715         try to remove a parent directory if the child couldn't be removed
54716         (except for the first rmdir, which could fail because the child
54717         doesn't exist).  Problem reported by Jeff Blaine in
54718         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
54719
54720 2007-03-28  Bruno Haible  <bruno@clisp.org>
54721
54722         * lib/striconveh.c (utf8conv_carefully): New function.
54723         (mem_cd_iconveh_internal): Invoke it.
54724
54725 2007-03-28  Bruno Haible  <bruno@clisp.org>
54726
54727         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
54728         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
54729         input.
54730         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
54731         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
54732         unistr/u8-uctomb.
54733
54734 2007-03-28  Bruno Haible  <bruno@clisp.org>
54735
54736         * modules/unistr/u8-mbtoucr: New file.
54737         * lib/unistr/u8-mbtoucr.c: New file.
54738         * modules/unistr/u16-mbtoucr: New file.
54739         * lib/unistr/u16-mbtoucr.c: New file.
54740         * modules/unistr/u16-mbtoucr: New file.
54741         * lib/unistr/u16-mbtoucr.c: New file.
54742         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
54743
54744 2007-03-27  Simon Josefsson  <simon@josefsson.org>
54745             Bruno Haible  <bruno@clisp.org>
54746
54747         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
54748         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
54749         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
54750
54751         * m4/stdio_h.m4: Add stubs for vasprintf too.
54752
54753         * modules/stdio: Support vasprintf in sed command.
54754
54755         * modules/vasprintf: Depend on stdio for prototypes.  Remove
54756         vasprintf.h.  Add stdio module indicator.
54757
54758         * lib/stdio_.h: Declare asprintf and vasprintf, based on
54759         vasprintf.h.
54760
54761         * lib/vasprintf.h: File removed.
54762
54763         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
54764         * lib/vasprintf.c: Ditto.
54765         * lib/xvasprintf.c: Ditto.
54766         * tests/test-vasprintf-posix.c: Ditto.
54767         * tests/test-vasprintf.c: Ditto.
54768
54769 2007-03-27  Bruno Haible  <bruno@clisp.org>
54770
54771         Make vasnprintf multithread-safe.
54772         * lib/vasnprintf.c (decimal_point_char): New function.
54773         (VASNPRINTF): Use it.
54774         Suggested by Simon Josefsson.
54775
54776 2007-03-27  Eric Blake  <ebb9@byu.net>
54777
54778         Support sub-second birthtime on cygwin.
54779         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
54780         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
54781         (get_stat_birthtime): Also work with st_birthtim.
54782
54783 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
54784
54785         * lib/stat-time.h (USE_BIRTHTIME): Remove.
54786         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
54787         (get_stat_birthtime_ns): Do not try to use "spare" fields.
54788         (get_stat_birthtime_ns): Simplify compile-time tests.
54789         (get_stat_birthtime): Change the API to look like
54790         get_stat_mtime etc., except return a negative tv_nsec on error.
54791         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
54792         Don't check for "spare" fields.
54793         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
54794         or for struct stat.st_birthtime, as these tests aren't used.
54795         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
54796
54797 2007-03-27  Bruno Haible  <bruno@clisp.org>
54798
54799         * lib/stat-time.h: Include <sys/stat.h>.
54800
54801 2007-03-27  James Youngman  <jay@gnu.org>
54802
54803         * lib/stat-time.h (get_stat_birthtime): New function for
54804           retrieving st_birthtime as provided by UFS2 (hence *BSD).
54805         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
54806           and its variants.
54807         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
54808         * modules/stat-time-test: New file.
54809         * tests/test-stat-time.c: New test, devised by Bruno Haible.
54810
54811 2007-03-26  Bruno Haible  <bruno@clisp.org>
54812
54813         Better support of signalling NaNs.
54814         * lib/atanl.c: Include isnanl.h.
54815         (atanl): Perform test for NaN at the beginning of the function and
54816         through a call to isnanl.
54817         * lib/cosl.c: Include isnanl.h.
54818         (cosl): Perform test for NaN at the beginning of the function and
54819         through a call to isnanl.
54820         * lib/ldexpl.c: Include isnanl.h.
54821         (ldexpl): Perform test for NaN through a call to isnanl.
54822         * lib/logl.c: Include isnanl.h.
54823         (logl): Perform test for NaN at the beginning of the function and
54824         through a call to isnanl.
54825         * lib/sinl.c: Include isnanl.h.
54826         (sinl): Perform test for NaN at the beginning of the function and
54827         through a call to isnanl.
54828         * lib/sqrtl.c: Include isnanl.h.
54829         (sqrtl): Perform test for NaN at the beginning of the function and
54830         through a call to isnanl.
54831         * lib/tanl.c: Include isnanl.h.
54832         (tanl): Perform test for NaN at the beginning of the function and
54833         through a call to isnanl.
54834         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
54835         * modules/mathl (Depends-on): Add isnanl.
54836
54837 2007-03-26  Eric Blake  <ebb9@byu.net>
54838
54839         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
54840         regression in logic sense of previous patch.
54841
54842 2007-03-26  Bruno Haible  <bruno@clisp.org>
54843
54844         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
54845         unportable shell command "if ! ...".
54846         Reported by Ralf Wildenhues.
54847
54848 2007-03-25  Bruno Haible  <bruno@clisp.org>
54849
54850         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
54851         <sysexits.h> file, and only add EX_CONFIG.
54852         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
54853         absolute file name and whether it is sufficient. Substitute also
54854         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
54855         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
54856         ABSOLUTE_SYSEXITS_H into sysexits.h.
54857
54858 2007-03-25  Bruno Haible  <bruno@clisp.org>
54859
54860         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
54861         hints is NULL.
54862
54863 2007-03-25  Bruno Haible  <bruno@clisp.org>
54864
54865         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
54866         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
54867
54868 2007-03-25  Bruno Haible  <bruno@clisp.org>
54869
54870         * lib/vasnprintf.c: Include langinfo.h.
54871         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
54872         multithread-safe.
54873         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
54874         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
54875         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
54876         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
54877         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
54878         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
54879         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
54880         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
54881         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
54882         Reported by Simon Josefsson.
54883
54884 2007-03-25  Bruno Haible  <bruno@clisp.org>
54885
54886         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
54887         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
54888         * modules/vasnprintf (Depends-on): Add stdint.
54889
54890 2007-03-25  Bruno Haible  <bruno@clisp.org>
54891
54892         * modules/fpieee: New file.
54893         * m4/fpieee.m4: New file.
54894         * modules/isnan-nolibm (Depends-on): Add fpieee.
54895         * modules/isnanl-nolibm (Depends-on): Add fpieee.
54896         * modules/isnanl (Depends-on): Add fpieee.
54897
54898 2007-03-25  Bruno Haible  <bruno@clisp.org>
54899
54900         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
54901
54902 2007-03-25  Bruno Haible  <bruno@clisp.org>
54903
54904         Avoid test failures on IRIX 6.5.
54905         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
54906         (main): Use it.
54907         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
54908         macros.
54909         (main): Use them.
54910
54911 2007-03-25  Bruno Haible  <bruno@clisp.org>
54912
54913         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
54914         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
54915         exists but doesn't work.
54916         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
54917         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
54918         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
54919         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
54920         math.h.
54921
54922 2007-03-25  Bruno Haible  <bruno@clisp.org>
54923
54924         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
54925         returns inf. Needed on IRIX 6.5.
54926
54927 2007-03-25  Bruno Haible  <bruno@clisp.org>
54928
54929         * tests/test-frexpl.c: Include isnanl-nolibm.h.
54930         (main): Use isnanl instead of x != x idiom.
54931         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
54932
54933         * tests/test-frexp.c: Include isnan.h.
54934         (main): Use isnan instead of x != x idiom.
54935         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
54936
54937 2007-03-25  Bruno Haible  <bruno@clisp.org>
54938
54939         * tests/test-frexp.c (NaN): New function/macro.
54940         (main): Use it instead of 0.0 / 0.0.
54941         * tests/test-isnan.c (NaN): New function/macro.
54942         (main): Use it instead of 0.0 / 0.0.
54943         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
54944         (test_function): Use it instead of 0.0 / 0.0.
54945         * tests/test-vasprintf-posix.c (NaN): New function/macro.
54946         (test_function): Use it instead of 0.0 / 0.0.
54947         * tests/test-snprintf-posix.h (NaN): New function/macro.
54948         (test_function): Use it instead of 0.0 / 0.0.
54949         * tests/test-sprintf-posix.h (NaN): New function/macro.
54950         (test_function): Use it instead of 0.0 / 0.0.
54951         * tests/test-fprintf-posix.h (NaN): New function/macro.
54952         (test_function): Use it instead of 0.0 / 0.0.
54953         * tests/test-printf-posix.h (NaN): New function/macro.
54954         (test_function): Use it instead of 0.0 / 0.0.
54955
54956         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
54957
54958 2007-03-25  Bruno Haible  <bruno@clisp.org>
54959
54960         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
54961
54962 2007-03-25  Bruno Haible  <bruno@clisp.org>
54963
54964         * lib/regexec.c (merge_state_with_log): Make static.
54965
54966 2007-03-25  Bruno Haible  <bruno@clisp.org>
54967
54968         * lib/trigl.c (kernel_rem_pio2): Make static.
54969
54970 2007-03-25  Bruno Haible  <bruno@clisp.org>
54971
54972         * lib/sincosl.c (sincosl_table): Make static.
54973
54974 2007-03-25  Bruno Haible  <bruno@clisp.org>
54975
54976         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
54977         if the compiler does not support C99.
54978
54979 2007-03-25  Bruno Haible  <bruno@clisp.org>
54980
54981         * modules/time (Makefile.am): Ensure all rule action lines start with a
54982         tab.
54983
54984 2007-03-24  Bruno Haible  <bruno@clisp.org>
54985
54986         * modules/tsearch-tests: New file.
54987         * tests/test-tsearch.sh: New file.
54988         * tests/test-tsearch.c: New file, mostly copied from glibc.
54989
54990         * modules/search-tests: New file.
54991         * tests/test-search.c: New file.
54992
54993         * modules/search: New file.
54994         * lib/search_.h: New file, incorporating lib/tsearch.h.
54995         * m4/search_h.m4: New file.
54996         * lib/tsearch.h: Remove file.
54997         * lib/tsearch.c: Include search.h instead of tsearch.h.
54998         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
54999         HAVE_TSEARCH.
55000         * modules/tsearch (Files): Remove lib/tsearch.h.
55001         (Depends-on): Add search.
55002         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
55003         (Include): Change tsearch.h into search.h.
55004
55005 2007-03-24  Bruno Haible  <bruno@clisp.org>
55006
55007         * modules/fpucw: New file.
55008         * lib/fpucw.h: New file.
55009         * lib/frexp.c: Include fpucw.h.
55010         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
55011         (FUNC): Use them.
55012         * lib/printf-frexp.c: Include fpucw.h.
55013         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
55014         (FUNC): Use them.
55015         * lib/vasnprintf.c: Include fpucw.h.
55016         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
55017         'long double' calculations.
55018         * tests/test-frexpl.c: Include fpucw.h.
55019         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
55020         * tests/test-printf-frexpl.c: Include fpucw.h.
55021         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
55022         * modules/frexpl (Depends-on): Add fpucw.
55023         * modules/printf-frexpl (Depends-on): Likewise.
55024         * modules/fprintf-posix (Depends-on): Likewise.
55025         * modules/snprintf-posix (Depends-on): Likewise.
55026         * modules/sprintf-posix (Depends-on): Likewise.
55027         * modules/vasnprintf-posix (Depends-on): Likewise.
55028         * modules/vasprintf-posix (Depends-on): Likewise.
55029         * modules/vfprintf-posix (Depends-on): Likewise.
55030         * modules/vsnprintf-posix (Depends-on): Likewise.
55031         * modules/vsprintf-posix (Depends-on): Likewise.
55032         * modules/frexpl-tests (Depends-on): Likewise.
55033         * modules/printf-frexpl-tests (Depends-on): Likewise.
55034
55035 2007-03-24  Bruno Haible  <bruno@clisp.org>
55036
55037         * lib/float+.h: New file.
55038         * lib/isnan.c: Include float+.h.
55039         (SIZE): New macro.
55040         (FUNC): Compare only SIZE bytes of the value.
55041         * lib/vasnprintf.c: Include float+.h.
55042         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
55043         SIZEOF_LDBL or SIZEOF_DBL bytes.
55044         * modules/isnan-nolibm (Files): Add lib/float+.h.
55045         * modules/isnanl-nolibm (Files): Add lib/float+.h.
55046         * modules/isnanl (Files): Add lib/float+.h.
55047         * modules/vasnprintf (Files): Add lib/float+.h.
55048
55049 2007-03-24  Bruno Haible  <bruno@clisp.org>
55050
55051         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
55052         include isnanl-nolibm.h.
55053
55054 2007-03-24  Bruno Haible  <bruno@clisp.org>
55055
55056         * tests/test-read-file.c (main): Don't produce spurious output for
55057         expected situations. Make the test fail if it encountered unexpected
55058         results.
55059
55060 2007-03-24  Bruno Haible  <bruno@clisp.org>
55061
55062         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
55063         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
55064
55065 2007-03-24  Bruno Haible  <bruno@clisp.org>
55066
55067         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
55068
55069 2007-03-24  Bruno Haible  <bruno@clisp.org>
55070
55071         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
55072         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
55073
55074         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
55075         * modules/utf8-ucs4: Turn into a symbolic link to module
55076         unistr/u8-mbtouc.
55077
55078         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
55079         utf8-ucs4-unsafe.
55080         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
55081         unistr/u8-mbtouc-unsafe.
55082
55083         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
55084         * modules/utf16-ucs4: Turn into a symbolic link to module
55085         unistr/u16-mbtouc.
55086
55087         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
55088         utf16-ucs4-unsafe.
55089         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
55090         unistr/u16-mbtouc-unsafe.
55091
55092         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
55093         * modules/ucs4-utf8: Turn into a symbolic link to module
55094         unistr/u8-ubtomb.
55095
55096         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
55097         * modules/ucs4-utf16: Turn into a symbolic link to module
55098         unistr/u16-ubtomb.
55099
55100 2007-03-24  Bruno Haible  <bruno@clisp.org>
55101
55102         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
55103         Enable the function only if HAVE_INLINE.
55104         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
55105         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
55106         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
55107         Enable the function only if HAVE_INLINE.
55108         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
55109         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
55110         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
55111         Enable the function only if HAVE_INLINE.
55112         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
55113         Enable the function only if HAVE_INLINE.
55114         * modules/utf8-ucs4: Update.
55115         * modules/utf8-ucs4-unsafe: Update.
55116         * modules/utf16-ucs4: Update.
55117         * modules/utf16-ucs4-unsafe: Update.
55118         * modules/ucs4-utf8: Update.
55119         * modules/ucs4-utf16: Update.
55120
55121 2007-03-24  Bruno Haible  <bruno@clisp.org>
55122
55123         * lib/utf8-ucs4.h: Remove file.
55124         * lib/utf8-ucs4-unsafe.h: Remove file.
55125         * lib/utf16-ucs4.h: Remove file.
55126         * lib/utf16-ucs4-unsafe.h: Remove file.
55127         * lib/ucs4-utf8.h: Remove file.
55128         * lib/ucs4-utf16.h: Remove file.
55129         * lib/unistr.h: Include their previous contents.
55130         * m4/utf-ucs4.m4: Remove file.
55131         * m4/ucs4-utf.m4: Remove file.
55132         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
55133         (Depends-on): Add unistr/base.
55134         (configure.ac): Remove gl_UTF_UCS4.
55135         (Makefile.am): Update.
55136         (Include): Change to unistr.h.
55137         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
55138         (Depends-on): Add unistr/base.
55139         (configure.ac): Remove gl_UTF_UCS4.
55140         (Makefile.am): Update.
55141         (Include): Change to unistr.h.
55142         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
55143         (Depends-on): Add unistr/base.
55144         (configure.ac): Remove gl_UTF_UCS4.
55145         (Makefile.am): Update.
55146         (Include): Change to unistr.h.
55147         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
55148         (Depends-on): Add unistr/base.
55149         (configure.ac): Remove gl_UTF_UCS4.
55150         (Makefile.am): Update.
55151         (Include): Change to unistr.h.
55152         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
55153         (Depends-on): Add unistr/base.
55154         (configure.ac): Remove gl_UCS4_UTF.
55155         (Makefile.am): Update.
55156         (Include): Change to unistr.h.
55157         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
55158         (Depends-on): Add unistr/base.
55159         (configure.ac): Remove gl_UCS4_UTF.
55160         (Makefile.am): Update.
55161         (Include): Change to unistr.h.
55162         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
55163         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
55164         utf8-ucs4-unsafe.h.
55165         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
55166         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
55167         utf16-ucs4-unsafe.h.
55168         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
55169         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
55170         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
55171         * lib/unistr/u8-strchr.c: Likewise.
55172         * lib/unistr/u8-strrchr.c: Likewise.
55173         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
55174         * lib/unistr/u16-strchr.c: Likewise.
55175         * lib/unistr/u16-strrchr.c: Likewise.
55176         * lib/striconveh.c: Update.
55177         * lib/linebreak.c: Update.
55178
55179 2007-03-24  Bruno Haible  <bruno@clisp.org>
55180
55181         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
55182         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
55183
55184 2007-03-22  Bruno Haible  <bruno@clisp.org>
55185
55186         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
55187
55188 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
55189
55190         * MODULES.html.sh (File system functions): New module write-any-file.
55191         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
55192         * m4/write-any-file.m4: New files.
55193
55194 2007-03-23  Eric Blake  <ebb9@byu.net>
55195
55196         * gnulib-tool: Rearrange space-tab sequences, since some editors
55197         like to eat them.
55198
55199 2007-03-23  Eric Blake  <ebb9@byu.net>
55200
55201         * lib/version-etc.c (version_etc_va): Update license wording to
55202         be more concise.  Recommended by Richard Stallman.
55203
55204 2007-03-22  Bruno Haible  <bruno@clisp.org>
55205
55206         * lib/poll.c (MSG_PEEK): New fallback definition.
55207
55208 2007-03-22  Bruno Haible  <bruno@clisp.org>
55209
55210         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
55211         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
55212         (main): Update.
55213         Fixes a compilation error on BeOS.
55214
55215 2007-03-22  Bruno Haible  <bruno@clisp.org>
55216
55217         * modules/frexpl-tests: New file.
55218         * tests/test-frexpl.c: New file.
55219
55220         * modules/frexpl: New file.
55221         * m4/frexpl.m4: New file.
55222         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
55223         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
55224         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
55225         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
55226         (Depends-on): Add frexpl. Remove isnanl-nolibm.
55227         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
55228
55229 2007-03-22  Bruno Haible  <bruno@clisp.org>
55230
55231         * lib/frexpl.c: Share code with lib/frexp.c.
55232         * modules/mathl (Files): Add lib/frexp.c.
55233         (Depends-on): Add isnanl-nolibm.
55234
55235 2007-03-22  Bruno Haible  <bruno@clisp.org>
55236
55237         * modules/printf-frexp (Files): Add m4/frexp.m4.
55238         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
55239         only if the found frexp function actually works.
55240
55241 2007-03-22  Bruno Haible  <bruno@clisp.org>
55242
55243         * lib/frexp.c: Remove older implementation that uses divisions.
55244
55245 2007-03-21  Bruno Haible  <bruno@clisp.org>
55246
55247         * modules/frexp-tests: New file.
55248         * tests/test-frexp.c: New file.
55249
55250         * modules/frexp: New file.
55251         * lib/frexp.c: New file.
55252         * m4/frexp.m4: New file.
55253         * lib/math_.h (frexp): New declaration.
55254         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
55255         REPLACE_FREXP.
55256         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
55257
55258 2007-03-21  Bruno Haible  <bruno@clisp.org>
55259
55260         * modules/isnanl-tests: New file.
55261         * tests/test-isnanl.c: New file.
55262
55263         * modules/isnanl: New file.
55264         * lib/isnanl.h: New file.
55265         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
55266         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
55267         gl_FUNC_ISNANL_WORKS.
55268         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
55269         New macros.
55270
55271 2007-03-21  Bruno Haible  <bruno@clisp.org>
55272
55273         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
55274         lib/isnanl.h.
55275         (Include): Update.
55276         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
55277         * lib/vasnprintf.c: Update.
55278         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
55279         tests/test-isnanl.h, remove tests/test-isnanl.c.
55280         (Makefile.am): Update.
55281         * tests/test-isnanl-nolibm.c: New file.
55282         * tests/test-isnanl.h: New file.
55283         * tests/test-isnanl.c: Remove file.
55284
55285 2007-03-21  Jim Meyering  <jim@meyering.net>
55286
55287         When trying to open ".", treat ESTALE like EACCES.
55288         * lib/savewd.c (savewd_save): Resort to forking not just upon
55289         failure with EACCES, but also when errno is ESTALE.
55290
55291 2007-03-20  Bruno Haible  <bruno@clisp.org>
55292
55293         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
55294         Needed on AIX 5.1. Reported by Matthew Woehlke.
55295
55296 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
55297
55298         Suggestions by Bruno Haible:
55299         * lib/acl-internal.h: Include "gettext.h" rather than rolling
55300         our own.
55301         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
55302         * modules/acl (Depends-on): Add gettext.
55303
55304 2007-03-19  Bruno Haible  <bruno@clisp.org>
55305
55306         * modules/iconvme: Remove file.
55307         * lib/iconvme.h: Remove file.
55308         * lib/iconvme.c: Remove file.
55309         * m4/iconvme.m4: Remove file.
55310
55311 2007-03-19  Bruno Haible  <bruno@clisp.org>
55312
55313         * doc/relocatable-maint.texi: Break long shell script line.
55314         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
55315
55316 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
55317
55318         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
55319         handle file_has_acl.
55320         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
55321         * lib/acl.c: Move header inclusions and related macro defns into
55322         lib/acl-internal.h.
55323         (S_ISLNK): Remove defn, since that's now done for us.
55324         (file_has_acl): Move to lib/file-has-acl.c.
55325         Call acl_trivial if available.  This is the crucial part of the fix.
55326         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
55327         shared within the library.  Rewrite a bit, partly to make it compatible
55328         with the GNU coding style.
55329         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
55330         Remove unnecessary double-quotes.
55331         Don't test for acl_to_text; the build will catch that.
55332         Replace acl_entries if it doesn't exist and it is needed.
55333         Check for -lsec and acl_trivial (as used on Solaris 10).
55334         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
55335         lib/file-has-acl.c.
55336         (Depends-on): Add sys_stat, for S_ISLNK.
55337
55338 2007-03-19  Ben Pfaff  <blp@gnu.org>
55339
55340         * doc/gnulib.texi: Fix typos.
55341         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
55342
55343 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
55344
55345         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
55346         If size is zero here, buf must be zero.
55347
55348 2007-03-19  Simon Josefsson  <simon@josefsson.org>
55349
55350         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
55351         <bruno@clisp.org>.
55352
55353 2007-03-18  Bruno Haible  <bruno@clisp.org>
55354
55355         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
55356         Suggested by Eric Blake.
55357
55358 2007-03-18  Ben Pfaff  <blp@gnu.org>
55359
55360         * doc/relocatable.texi: Recommend using as prefix a directory
55361         that does not exist and will never be created.  Based on
55362         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
55363         and others.
55364
55365 2007-03-17  Bruno Haible  <bruno@clisp.org>
55366
55367         * lib/fchownat.c: Include lchown.h.
55368
55369 2007-03-17  Bruno Haible  <bruno@clisp.org>
55370
55371         Fix endless loop when the given allocated size was > INT_MAX.
55372         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
55373         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
55374         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
55375         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
55376         * lib/sprintf.c (sprintf): Likewise.
55377
55378 2007-03-17  Bruno Haible  <bruno@clisp.org>
55379
55380         * tests/test-argp-2.sh (func_compare): Output a context diff.
55381
55382 2007-03-17  Bruno Haible  <bruno@clisp.org>
55383
55384         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
55385         locale's decimal-point character.
55386
55387 2007-03-17  Bruno Haible  <bruno@clisp.org>
55388
55389         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
55390         before comparing it. Needed because on some platforms (e.g. x86) a
55391         'long double' occupies less bytes than sizeof (long double).
55392
55393 2007-03-17  Bruno Haible  <bruno@clisp.org>
55394
55395         * tests/test-crc.c (main): Make printf statements 64-bit clean.
55396         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
55397         * tests/test-getaddrinfo.c (simple): Likewise.
55398         * tests/test-read-file.c (main): Likewise.
55399
55400 2007-03-17  Bruno Haible  <bruno@clisp.org>
55401
55402         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
55403
55404 2007-03-17  Bruno Haible  <bruno@clisp.org>
55405
55406         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
55407         unused variable.
55408
55409 2007-03-17  Bruno Haible  <bruno@clisp.org>
55410
55411         * tests/test-c-strcasecmp.c: Include c-strcase.h.
55412         * tests/test-c-strncasecmp.c: Likewise.
55413
55414 2007-03-17  Bruno Haible  <bruno@clisp.org>
55415
55416         * modules/stdlib (Depends-on): Add unistd.
55417         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
55418         Needed for MacOS X 10.3.
55419
55420 2007-03-17  Bruno Haible  <bruno@clisp.org>
55421
55422         * lib/unistr/u-strdup.h: Include <stdlib.h>.
55423
55424 2007-03-17  Bruno Haible  <bruno@clisp.org>
55425
55426         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
55427
55428 2007-03-17  Bruno Haible  <bruno@clisp.org>
55429
55430         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
55431         to reflect files copied from gnulib (with or without modifications).
55432         Suggested by Jim Meyering.
55433
55434 2007-03-17  Eric Blake  <ebb9@byu.net>
55435
55436         * NEWS: Document stdlib change from 2007-02-18.
55437
55438 2007-03-17  Jim Meyering  <jim@meyering.net>
55439
55440         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
55441         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
55442         someone uses a name containing shell meta-characters.
55443         Reported by Alfred M. Szmidt.
55444
55445         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
55446
55447 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
55448
55449         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
55450         and copy gettext configuration files only if configure.ac contains
55451         a use of AM_GNU_GETTEXT_VERSION.
55452
55453 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
55454
55455         * build-aux/bootstrap (gnulib_name): New variable.
55456         (gnulib_tool_options): Use it.
55457
55458 2007-03-13  Simon Josefsson  <simon@josefsson.org>
55459
55460         * tests/test-des.c: Use new namespace.
55461
55462 2007-03-15  Bruno Haible  <bruno@clisp.org>
55463
55464         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
55465         Reported by James Youngman <jay@gnu.org>.
55466
55467 2007-03-15  Bruno Haible  <bruno@clisp.org>
55468
55469         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
55470         declared prototype. Needed with cc on OSF/1 5.1.
55471
55472 2007-03-15  Bruno Haible  <bruno@clisp.org>
55473
55474         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
55475         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
55476         (struct gl_list_implementation): Add dispose_fn argument to the
55477         'create_empty', 'create' methods.
55478         (struct gl_list_impl_base): Add field 'dispose_fn'.
55479         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
55480         argument.
55481         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
55482         dispose_fn argument.
55483         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
55484         dispose_fn on the dropped values.
55485         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
55486         dispose_fn argument.
55487         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
55488         dropped values.
55489         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
55490         (gl_tree_remove_node): Call dispose_fn on the dropped value.
55491         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
55492         (gl_tree_remove_node): Call dispose_fn on the dropped value.
55493         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
55494         argument.
55495         (gl_tree_list_free): Call dispose_fn on the dropped values.
55496         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
55497         the dropped values.
55498         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
55499         Add dispose_fn argument.
55500         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
55501         Call dispose_fn on the dropped values.
55502         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
55503         Add dispose_fn argument.
55504         (gl_sublist_create): Initialize the 'dispose_fn' field.
55505         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
55506         * tests/test-array_list.c (main): Update.
55507         * tests/test-carray_list.c (main): Update.
55508         * tests/test-avltree_list.c (main): Update.
55509         * tests/test-rbtree_list.c (main): Update.
55510         * tests/test-avltreehash_list.c (main): Update.
55511         * tests/test-rbtreehash_list.c (main): Update.
55512         * tests/test-linked_list.c (main): Update.
55513         * tests/test-linkedhash_list.c (main): Update.
55514         * tests/test-array_oset.c (main): Update.
55515
55516 2007-03-15  Bruno Haible  <bruno@clisp.org>
55517
55518         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
55519         (gl_oset_create_empty): Add dispose_fn argument.
55520         (struct gl_oset_implementation): Add dispose_fn argument to
55521         'create_empty' method.
55522         (struct gl_oset_impl_base): Add dispose_fn field.
55523         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
55524         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
55525         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
55526         values.
55527         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
55528         (gl_tree_oset_free): Call dispose_fn on the dropped values.
55529         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
55530         dropped value.
55531         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
55532         dropped value.
55533         * tests/test-array_oset.c (main): Update.
55534         * tests/test-avltree_oset.c (main): Update.
55535         * tests/test-rbtree_oset.c (main): Update.
55536         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
55537
55538 2007-03-13  Bruno Haible  <bruno@clisp.org>
55539
55540         * tests/test-stdbool.c (i): Update after last patch.
55541
55542 2007-03-12  Bruno Haible  <bruno@clisp.org>
55543
55544         * lib/quotearg.c: Include <wctype.h> early, before the definition of
55545         the iswprint macro. Needed on Solaris 2.5.1.
55546
55547 2007-03-12  Bruno Haible  <bruno@clisp.org>
55548
55549         * tests/test-printf-frexp.c (main): Declare x as volatile.
55550
55551 2007-03-12  Simon Josefsson  <simon@josefsson.org>
55552
55553         * doc/gnulib.texi (Build robot for gnulib): New section.
55554
55555 2007-03-12  Jim Meyering  <jim@meyering.net>
55556
55557         * build-aux/bootstrap: New file.
55558         * build-aux/bootstrap.conf: New file, from coreutils.
55559
55560 2007-03-11  Bruno Haible  <bruno@clisp.org>
55561
55562         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
55563
55564 2007-03-12  Simon Josefsson  <simon@josefsson.org>
55565
55566         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
55567         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
55568         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
55569
55570 2007-03-11  Bruno Haible  <bruno@clisp.org>
55571
55572         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
55573         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
55574
55575 2007-03-11  Bruno Haible  <bruno@clisp.org>
55576
55577         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
55578         formula. Needed for SunPRO C 5.0.
55579
55580 2007-03-11  Bruno Haible  <bruno@clisp.org>
55581
55582         * modules/long-options (Depends-on): Add getopt.
55583
55584 2007-03-11  Bruno Haible  <bruno@clisp.org>
55585
55586         * modules/modechange (Depends-on): Add stdbool.
55587
55588 2007-03-11  Bruno Haible  <bruno@clisp.org>
55589
55590         * modules/i-ring (Depends-on): Add stdbool.
55591
55592 2007-03-11  Bruno Haible  <bruno@clisp.org>
55593
55594         * modules/gc-des (Depends-on): Add stdbool.
55595
55596 2007-03-11  Bruno Haible  <bruno@clisp.org>
55597
55598         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
55599
55600 2007-03-11  Bruno Haible  <bruno@clisp.org>
55601
55602         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
55603
55604 2007-03-11  Bruno Haible  <bruno@clisp.org>
55605
55606         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
55607
55608 2007-03-11  Bruno Haible  <bruno@clisp.org>
55609
55610         * lib/vasnprintf.c (sprintf): Undefine.
55611
55612 2007-03-11  Bruno Haible  <bruno@clisp.org>
55613
55614         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
55615         initializers in SunPRO C and Compaq C compilers.
55616
55617 2007-03-11  Bruno Haible  <bruno@clisp.org>
55618
55619         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
55620         decrementing code ANSI C compliant.
55621
55622 2007-03-11  Bruno Haible  <bruno@clisp.org>
55623
55624         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
55625         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
55626
55627 2007-03-11  Bruno Haible  <bruno@clisp.org>
55628
55629         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
55630         <stdbool.h> substitute doesn't pass.
55631
55632 2007-03-11  Bruno Haible  <bruno@clisp.org>
55633
55634         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
55635
55636 2007-03-11  Bruno Haible  <bruno@clisp.org>
55637
55638         * gnulib-tool (func_create_megatestdir): Create also an autobuild
55639         script, for submission to autobuild.josefsson.org.
55640
55641 2007-03-10  Bruno Haible  <bruno@clisp.org>
55642
55643         * modules/canonicalize-lgpl-tests: New file.
55644         * tests/test-canonicalize-lgpl.sh: New file.
55645         * tests/test-canonicalize-lgpl.c: New file.
55646
55647         * modules/c-strcase-tests: New file.
55648         * tests/test-c-strcase.sh: New file.
55649         * tests/test-c-strcasecmp.c: New file.
55650         * tests/test-c-strncasecmp.c: New file.
55651
55652         * modules/atexit-tests: New file.
55653         * tests/test-atexit.sh: New file.
55654         * tests/test-atexit.c: New file.
55655
55656 2007-03-10  Bruno Haible  <bruno@clisp.org>
55657
55658         * tests/test-binary-io.sh: Use temporary filenames that are not so
55659         likely to clash with those of other tests (in a parallel make).
55660         * tests/test-binary-io.c: Likewise.
55661
55662 2007-03-10  Bruno Haible  <bruno@clisp.org>
55663
55664         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
55665         fallback; use #error instead.
55666         Suggested by Simon Josefsson.
55667
55668 2007-03-10  Bruno Haible  <bruno@clisp.org>
55669
55670         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
55671         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
55672         first and the last.
55673
55674 2007-03-10  Bruno Haible  <bruno@clisp.org>
55675
55676         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
55677
55678 2007-03-10  Bruno Haible  <bruno@clisp.org>
55679
55680         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
55681         "make distcheck".
55682         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
55683         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
55684         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
55685
55686 2007-03-10  Bruno Haible  <bruno@clisp.org>
55687
55688         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
55689         variable.
55690         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
55691         variable.
55692
55693 2007-03-09  Eric Blake  <ebb9@byu.net>
55694         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
55695
55696         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
55697         types are not being provided by gnulib.
55698         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
55699         types are supported.
55700
55701 2007-03-10  Bruno Haible  <bruno@clisp.org>
55702
55703         * lib/stdio_.h (__attribute__): New macro.
55704         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
55705         vsprintf): Specify __attribute__ __format__ for GCC.
55706         Suggested by Eric Blake.
55707
55708 2007-03-09  Bruno Haible  <bruno@clisp.org>
55709
55710         * modules/printf-posix-tests: New file.
55711         * tests/test-printf-posix.sh: New file.
55712         * tests/test-printf-posix.c: New file.
55713
55714         * modules/printf-posix: New file.
55715         * lib/printf.c: New file.
55716         * m4/printf-posix-rpl.m4: New file.
55717         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
55718         REPLACE_PRINTF.
55719         * lib/stdio_.h (printf): New declaration.
55720         (format, __format__, ____printf____, ____scanf____, ____strftime____,
55721         ____strfmon____): New macros.
55722         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
55723         REPLACE_PRINTF.
55724
55725 2007-03-09  Bruno Haible  <bruno@clisp.org>
55726
55727         * tests/test-vasnprintf-posix2.sh: New file.
55728         * tests/test-vasnprintf-posix2.c: New file.
55729         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
55730         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
55731         (Makefile.am): Activate test-vasnprintf-posix2.sh.
55732
55733         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
55734         a locale dependent decimal point, rather than always '.'.
55735
55736 2007-03-09  Eric Blake  <ebb9@byu.net>
55737
55738         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
55739         spite of platforms like Tandem/NSK that define it to -1.
55740
55741 2007-03-08  Bruno Haible  <bruno@clisp.org>
55742
55743         * modules/vprintf-posix-tests: New file.
55744         * tests/test-vprintf-posix.sh: New file.
55745         * tests/test-vprintf-posix.c: New file.
55746         * tests/test-printf-posix.h: New file.
55747
55748         * modules/vprintf-posix: New file.
55749         * lib/vprintf.c: New file.
55750         * m4/vprintf-posix.m4: New file.
55751         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
55752         REPLACE_VPRINTF.
55753         * lib/stdio_.h (vprintf): New declaration.
55754         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
55755         REPLACE_VPRINTF.
55756
55757 2007-03-08  Bruno Haible  <bruno@clisp.org>
55758
55759         * modules/fprintf-posix-tests: New file.
55760         * tests/test-fprintf-posix.sh: New file.
55761         * tests/test-fprintf-posix.c: New file.
55762
55763         * modules/fprintf-posix: New file.
55764         * lib/fprintf.c: New file.
55765         * m4/fprintf-posix.m4: New file.
55766         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
55767         REPLACE_FPRINTF.
55768         * lib/stdio_.h (fprintf): New declaration.
55769         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
55770         REPLACE_FPRINTF.
55771
55772 2007-03-08  Bruno Haible  <bruno@clisp.org>
55773
55774         * modules/vfprintf-posix-tests: New file.
55775         * tests/test-vfprintf-posix.sh: New file.
55776         * tests/test-vfprintf-posix.c: New file.
55777         * tests/test-fprintf-posix.h: New file.
55778         * tests/test-fprintf-posix.out: New file.
55779
55780         * modules/vfprintf-posix: New file.
55781         * lib/vfprintf.c: New file.
55782         * m4/vfprintf-posix.m4: New file.
55783         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
55784         REPLACE_VFPRINTF.
55785         * lib/stdio_.h (vfprintf): New declaration.
55786         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
55787         REPLACE_VFPRINTF.
55788
55789 2007-03-08  Bruno Haible  <bruno@clisp.org>
55790
55791         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
55792
55793 2007-03-08  Bruno Haible  <bruno@clisp.org>
55794
55795         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
55796         instead of 'expr' invocations.
55797         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
55798         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
55799         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
55800         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
55801         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
55802         Suggested by Paul Eggert.
55803
55804 2007-03-08  Bruno Haible  <bruno@clisp.org>
55805
55806         * modules/fseterr-tests: New file.
55807         * tests/test-fseterr.c: New file.
55808
55809         * modules/fseterr: New file.
55810         * lib/fseterr.h: New file.
55811         * lib/fseterr.c: New file.
55812
55813 2007-03-08  Bruno Haible  <bruno@clisp.org>
55814
55815         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
55816         * lib/getopt_.h: Likewise.
55817         * lib/mbswidth.h: Likewise.
55818         * lib/setenv.h: Likewise.
55819         * lib/vasnprintf.h: Likewise.
55820         * lib/vasprintf.h: Likewise.
55821         * lib/verror.h: Likewise.
55822         * lib/xsetenv.h: Likewise.
55823         * lib/xvasprintf.h: Likewise.
55824
55825 2007-03-08  Jim Meyering  <jim@meyering.net>
55826
55827         * users.txt: Add parted.
55828
55829         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
55830
55831 2007-03-07  Bruno Haible  <bruno@clisp.org>
55832
55833         * m4/printf.m4: Make the shell script snippets copy&pastable.
55834
55835 2007-03-02  Bruno Haible  <bruno@clisp.org>
55836
55837         * lib/netinet_in_.h: New file.
55838         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
55839         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
55840         * modules/netinet_in (Files): Add lib/netinet_in_.h.
55841         (Depends-on): Add absolute-header.
55842         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
55843         into netinet/in.h.
55844
55845 2007-03-03  Bruno Haible  <bruno@clisp.org>
55846
55847         * lib/sys_select_.h: New file.
55848         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
55849         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
55850         * modules/sys_select (Files): Add lib/sys_select_.h.
55851         (Depends-on): Add absolute-header.
55852         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
55853         into sys/select.h.
55854
55855 2007-03-02  Bruno Haible  <bruno@clisp.org>
55856
55857         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
55858         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
55859         values.
55860         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
55861         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
55862         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
55863         * modules/sys_socket (Depends-on): Add absolute-header.
55864         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
55865         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
55866         (Include): Remove requirement of inclusion of <sys/types.h>.
55867
55868 2007-03-02  Bruno Haible  <bruno@clisp.org>
55869
55870         * lib/byteswap_.h (bswap_32): Fix formula.
55871
55872 2007-03-06  Bruno Haible  <bruno@clisp.org>
55873
55874         * modules/sprintf-posix-tests: New file.
55875         * tests/test-sprintf-posix.c: New file.
55876
55877         * modules/sprintf-posix: New file.
55878         * lib/sprintf.c: New file.
55879         * m4/sprintf-posix.m4: New file.
55880         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
55881         REPLACE_SPRINTF.
55882         * lib/stdio_.h (sprintf): New declaration.
55883         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
55884         REPLACE_SPRINTF.
55885
55886 2007-03-06  Bruno Haible  <bruno@clisp.org>
55887
55888         * modules/vsprintf-posix-tests: New file.
55889         * tests/test-vsprintf-posix.c: New file.
55890         * tests/test-sprintf-posix.h: New file.
55891
55892         * modules/vsprintf-posix: New file.
55893         * lib/vsprintf.c: New file.
55894         * m4/vsprintf-posix.m4: New file.
55895         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
55896         REPLACE_VSPRINTF.
55897         * lib/stdio_.h (vsprintf): New declaration.
55898         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
55899         REPLACE_VSPRINTF.
55900
55901 2007-03-06  Bruno Haible  <bruno@clisp.org>
55902
55903         * modules/vsnprintf (Depend-on): Remove minmax.
55904
55905 2007-03-06  Bruno Haible  <bruno@clisp.org>
55906
55907         * modules/snprintf-posix-tests: New file.
55908         * tests/test-snprintf-posix.c: New file.
55909
55910         * modules/snprintf-posix: New file.
55911         * m4/snprintf-posix.m4: New file.
55912         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
55913         gl_FUNC_SNPRINTF.
55914         (gl_FUNC_SNPRINTF): Invoke it.
55915         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
55916         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
55917         is set.
55918         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
55919
55920 2007-03-06  Bruno Haible  <bruno@clisp.org>
55921
55922         * modules/vsnprintf-posix-tests: New file.
55923         * tests/test-vsnprintf-posix.c: New file.
55924         * tests/test-snprintf-posix.h: New file.
55925
55926         * modules/vsnprintf-posix: New file.
55927         * m4/vsnprintf-posix.m4: New file.
55928         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
55929         gl_FUNC_VSNPRINTF.
55930         (gl_FUNC_VSNPRINTF): Invoke it.
55931         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
55932         * lib/stdio_.h (vsnprintf): Define as a replacement if
55933         REPLACE_VSNPRINTF is set.
55934         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
55935
55936 2007-03-06  Bruno Haible  <bruno@clisp.org>
55937
55938         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
55939         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
55940
55941 2007-03-06  Bruno Haible  <bruno@clisp.org>
55942
55943         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
55944         (asinl): Declare also if HAVE_DECL_ASINL is set.
55945         (atanl): Declare also if HAVE_DECL_ATANL is set.
55946         (ceill): Declare also if HAVE_DECL_CEILL is set.
55947         (cosl): Declare also if HAVE_DECL_COSL is set.
55948         (expl): Declare also if HAVE_DECL_EXPL is set.
55949         (floorl): Declare also if HAVE_DECL_FLOORL is set.
55950         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
55951         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
55952         (logl): Declare also if HAVE_DECL_LOGL is set.
55953         (sinl): Declare also if HAVE_DECL_SINL is set.
55954         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
55955         (tanl): Declare also if HAVE_DECL_TANL is set.
55956         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
55957         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
55958         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
55959         declaration of frexpl, ldexpl.
55960         * modules/printf-frexpl (Depends-on): Add math.
55961         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
55962
55963 2007-03-05  Bruno Haible  <bruno@clisp.org>
55964
55965         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
55966         frexpl and ldexpl are declared.
55967         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
55968
55969 2007-03-05  Bruno Haible  <bruno@clisp.org>
55970
55971         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
55972         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
55973
55974 2007-03-05  Bruno Haible  <bruno@clisp.org>
55975
55976         * lib/stdio_.h: Include <stddef.h>.
55977
55978 2007-03-05  Bruno Haible  <bruno@clisp.org>
55979
55980         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
55981
55982 2007-03-05  Bruno Haible  <bruno@clisp.org>
55983
55984         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
55985         NetBSD 4, from Ralf Wildenhues.
55986
55987 2007-03-04  Bruno Haible  <bruno@clisp.org>
55988
55989         * lib/vasprintf.h: Update #if logic for the case when the functions
55990         exist but are overridden.
55991
55992 2007-03-04  Bruno Haible  <bruno@clisp.org>
55993
55994         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
55995         implementations: glibc-2.4 and MacOS X 10.3.
55996         * tests/test-vasnprintf-posix.c (test_function): Test also the case
55997         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
55998         * tests/test-vasprintf-posix.c (test_function): Likewise.
55999
56000 2007-03-04  Bruno Haible  <bruno@clisp.org>
56001
56002         * modules/vasprintf-posix-tests: New file.
56003         * tests/test-vasprintf-posix.c: New file.
56004
56005         * modules/vasprintf-posix: New file.
56006         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
56007         defined.
56008         * m4/vasprintf-posix.m4: New file.
56009         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
56010         gl_FUNC_VASPRINTF.
56011         (gl_FUNC_VASPRINTF): Invoke it.
56012         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
56013         here.
56014         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
56015
56016 2007-03-04  Bruno Haible  <bruno@clisp.org>
56017
56018         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
56019         REPLACE_GETTIMEOFDAY.
56020         * modules/sys_time (Makefile.am): Likewise.
56021         * m4/sys_time_h.m4: Likewise.
56022         * m4/gettimeofday.m4: Likewise.
56023
56024 2007-03-04  Bruno Haible  <bruno@clisp.org>
56025
56026         * modules/vasnprintf-posix-tests: New file.
56027         * tests/test-vasnprintf-posix.c: New file.
56028
56029         * modules/vasnprintf-posix: New file.
56030         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
56031         printf-frexpl.h.
56032         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
56033         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
56034         REPLACE_VASNPRINTF is defined.
56035         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
56036         gl_FUNC_VASNPRINTF.
56037         (gl_FUNC_VASNPRINTF): Invoke it.
56038         * m4/vasnprintf-posix.m4: New file.
56039         * m4/printf.m4: New file.
56040
56041 2007-03-04  Bruno Haible  <bruno@clisp.org>
56042
56043         Compile progreloc.c only if --enable-relocatable is specified.
56044         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
56045         if --enable-relocatable was specified.
56046         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
56047         lib_SOURCES.
56048
56049 2007-03-04  Jim Meyering  <jim@meyering.net>
56050
56051         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
56052         Use it consistently, rather than enumerating errno constants.
56053
56054 2007-03-04  Bruno Haible  <bruno@clisp.org>
56055
56056         * modules/xvasprintf-tests: New file.
56057         * tests/test-xvasprintf.c: New file.
56058
56059         * modules/vasprintf-tests: New file.
56060         * tests/test-vasprintf.c: New file.
56061
56062         * modules/vasnprintf-tests: New file.
56063         * tests/test-vasnprintf.c: New file.
56064
56065         * modules/vsnprintf-tests: New file.
56066         * tests/test-vsnprintf.c: New file.
56067
56068         * modules/snprintf-tests: New file.
56069         * tests/test-snprintf.c: New file.
56070
56071 2007-03-04  Bruno Haible  <bruno@clisp.org>
56072
56073         Compile relocatable.c only if --enable-relocatable is specified.
56074         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
56075         gl_RELOCATABLE_LIBRARY.
56076         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
56077         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
56078         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
56079         gl_RELOCATABLE_LIBRARY.
56080         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
56081         (Makefile.am): Remove lib_SOURCES.
56082         * modules/relocatable-lib-lgpl (configure.ac): Invoke
56083         gl_RELOCATABLE_LIBRARY.
56084         (Makefile.am): Remove lib_SOURCES.
56085         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
56086         always.
56087         * modules/relocatable-prog-wrapper (configure.ac): Invoke
56088         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
56089
56090 2007-03-04  Bruno Haible  <bruno@clisp.org>
56091
56092         * modules/argmatch-tests: New file.
56093         * tests/test-argmatch.c: New file.
56094
56095         * tests/test-allocsa.c (main): Halve the number of loop runs.
56096
56097         * modules/alloca-opt-tests: New file.
56098         * tests/test-alloca-opt.c: New file.
56099
56100 2007-03-04  Jim Meyering  <jim@meyering.net>
56101
56102         Work around difference between Linux ACLs and Solaris 10 ZFS.
56103         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
56104         for EINVAL.
56105
56106 2007-03-03  Bruno Haible  <bruno@clisp.org>
56107
56108         * modules/relocatable-prog (Depends-on): Add back progreloc's
56109         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
56110
56111 2007-03-03  Bruno Haible  <bruno@clisp.org>
56112
56113         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
56114         * modules/relocatable-lib: New file.
56115
56116 2007-03-03  Bruno Haible  <bruno@clisp.org>
56117
56118         * modules/relocatable-prog: Renamed from modules/relocatable.
56119         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
56120
56121 2007-03-03  Bruno Haible  <bruno@clisp.org>
56122
56123         * modules/relocatable-script (Files): Add doc/relocatable.texi,
56124         m4/relocatable-lib.m4.
56125         (Depends-on): Remove 'relocatable'.
56126         (configure.ac): Add gl_RELOCATABLE_NOP.
56127
56128 2007-03-03  Bruno Haible  <bruno@clisp.org>
56129
56130         * modules/relocatable-prog-wrapper: New file.
56131         * modules/relocatable (Depends-on): Add it. Remove all other
56132         dependencies except progname.
56133         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
56134
56135         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
56136         (gl_FUNC_STRERROR): Nop.
56137         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
56138
56139         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
56140         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
56141
56142         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
56143         (gl_FUNC_READLINK): Update.
56144
56145         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
56146
56147 2007-03-03  Bruno Haible  <bruno@clisp.org>
56148
56149         * lib/xreadlink.c: Include <unistd.h> unconditionally.
56150         * modules/xreadlink (Depends-on): Add unistd.
56151         * modules/xreadlink-with-size (Depends-on): Likewise.
56152
56153 2007-03-03  Bruno Haible  <bruno@clisp.org>
56154
56155         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
56156         extracted from gt_FUNC_SETENV.
56157         (gt_FUNC_SETENV): Remove macro.
56158         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
56159         remove gt_FUNC_SETENV.
56160
56161 2007-03-03  Bruno Haible  <bruno@clisp.org>
56162
56163         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
56164         ENABLE_RELOCATABLE here.
56165         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
56166
56167 2007-03-03  Bruno Haible  <bruno@clisp.org>
56168
56169         * modules/rbtreehash-list-tests (Depends-on): Add progname.
56170         * tests/test-rbtreehash_list.c: Include progname.h.
56171         (main): Call set_program_name.
56172
56173         * modules/rbtree-oset-tests (Depends-on): Add progname.
56174         * tests/test-rbtree_oset.c: Include progname.h.
56175         (main): Call set_program_name.
56176
56177         * modules/rbtree-list-tests (Depends-on): Add progname.
56178         * tests/test-rbtree_list.c: Include progname.h.
56179         (main): Call set_program_name.
56180
56181         * modules/linked-list-tests (Depends-on): Add progname.
56182         * tests/test-linked_list.c: Include progname.h.
56183         (main): Call set_program_name.
56184
56185 2007-03-03  Bruno Haible  <bruno@clisp.org>
56186
56187         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
56188         All uses of __restrict changed to _Restrict_.
56189         * lib/glob_.h (__restrict): Remove macro.
56190
56191 2007-03-02  Bruno Haible  <bruno@clisp.org>
56192
56193         * modules/gettext (configure.ac): Require gettext infrastructure
56194         from version 0.16.1.
56195
56196 2007-03-02  Bruno Haible  <bruno@clisp.org>
56197
56198         * modules/linkedhash-list-tests (Depends-on): Add progname.
56199         * tests/test-linkedhash_list.c: Include progname.h.
56200         (main): Call set_program_name.
56201
56202         * modules/carray-list-tests (Depends-on): Add progname.
56203         * tests/test-carray_list.c: Include progname.h.
56204         (main): Call set_program_name.
56205
56206         * modules/avltreehash-list-tests (Depends-on): Add progname.
56207         * tests/test-avltreehash_list.c: Include progname.h.
56208         (main): Call set_program_name.
56209
56210         * modules/avltree-oset-tests (Depends-on): Add progname.
56211         * tests/test-avltree_oset.c: Include progname.h.
56212         (main): Call set_program_name.
56213
56214         * modules/avltree-list-tests (Depends-on): Add progname.
56215         * tests/test-avltree_list.c: Include progname.h.
56216         (main): Call set_program_name.
56217
56218         * modules/array-oset-tests (Depends-on): Add progname.
56219         * tests/test-array_oset.c: Include progname.h.
56220         (main): Call set_program_name.
56221
56222         * modules/array-list-tests (Depends-on): Add progname.
56223         * tests/test-array_list.c: Include progname.h.
56224         (main): Call set_program_name.
56225
56226         * modules/argp-tests (Depends-on): Add progname.
56227         * tests/test-argp.c: Include argp.h first. Include progname.h.
56228         (main): Call set_program_name.
56229
56230 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
56231
56232         * doc/gnulib-tool.texi (Initial import): Reword description of
56233         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
56234         limited effect even if defined after the first system include.
56235
56236 2007-03-01  Bruno Haible  <bruno@clisp.org>
56237
56238         * build-aux/config.libpath: Update to libtool-1.5.22.
56239         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
56240
56241 2007-03-01  Bruno Haible  <bruno@clisp.org>
56242
56243         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
56244         foo_CFLAGS.
56245         Reported by Ralf Wildenhues.
56246
56247 2007-03-01  Bruno Haible  <bruno@clisp.org>
56248
56249         * build-aux/install-reloc: Remove object files left over by some
56250         compilers.
56251         Reported by Ralf Wildenhues.
56252
56253 2007-03-01  Bruno Haible  <bruno@clisp.org>
56254
56255         * build-aux/install-reloc: Break long lines.
56256
56257 2007-03-01  Bruno Haible  <bruno@clisp.org>
56258
56259         * doc/relocatable.texi: Document that it may not work on OpenBSD.
56260         Reported by Ralf Wildenhues.
56261
56262 2007-03-01  Bruno Haible  <bruno@clisp.org>
56263
56264         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
56265         include ordering constraints.
56266
56267 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
56268
56269         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
56270         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
56271         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
56272         as another example.
56273         * lib/time_.h: Fix misspelling.
56274         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
56275         Require gl_HEADER_TIME_H_DEFAULTS.
56276         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
56277         * m4/time_r.m4 (gl_TIME_R): Likewise.
56278         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
56279
56280 2007-03-01  Bruno Haible  <bruno@clisp.org>
56281
56282         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
56283         * m4/utimens.m4 (gl_UTIMENS): Likewise.
56284
56285 2007-03-01  Jim Meyering  <jim@meyering.net>
56286
56287         * modules/xreadlink (Maintainer): Add my name.
56288         * modules/xreadlink-with-size (Depends-on): Alphabetize.
56289
56290 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
56291             Bruno Haible  <bruno@clisp.org>
56292
56293         * build-aux/install-reloc: Compile also c-ctype.c.
56294         * build-aux/relocatable.sh.in: New file.
56295         * doc/relocatable.texi: New file.
56296         * doc/relocatable-maint.texi: New file.
56297         * doc/gnulib.texi: Include relocatable-maint.texi.
56298         * lib/progreloc.c: Include unistd.h unconditionally.
56299         * lib/relocwrapper.c: Include unistd.h unconditionally.
56300         Include c-ctype.h.
56301         (add_dotbin): Use c_tolower.
56302         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
56303         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
56304         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
56305         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
56306         to m4/relocatable-lib.m4.
56307         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
56308         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
56309         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
56310         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
56311         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
56312         * modules/relocatable: New file.
56313         * modules/relocatable-lib: New file.
56314         * modules/relocatable-script: New file.
56315
56316 2007-02-28  Bruno Haible  <bruno@clisp.org>
56317
56318         Import --enable-relocatable infrastructure.
56319         * build-aux/config.libpath: New file, from GNU gettext.
56320         * build-aux/install-reloc: New file, from GNU gettext.
56321         * build-aux/reloc-ldflags: New file, from GNU gettext.
56322         * lib/relocatable.h: New file, from GNU gettext.
56323         * lib/relocatable.c: New file, from GNU gettext.
56324         * lib/relocwrapper.c: New file, from GNU gettext.
56325         * m4/relocatable.m4: New file, from GNU gettext.
56326
56327 2007-02-28  Bruno Haible  <bruno@clisp.org>
56328
56329         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
56330
56331         * modules/xreadlink: New file, from GNU gettext with modifications.
56332         * lib/xreadlink.c: New file, from GNU gettext.
56333         * lib/xreadlink.h: Add comments.
56334         (xreadlink): New declaration.
56335
56336         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
56337         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
56338         lib/xreadlink-with-size.c.
56339         (configure.ac): Remove gl_XREADLINK invocation.
56340         (Makefile.am): Augment lib_SOURCES.
56341         * m4/xreadlink.m4: Remove file.
56342         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
56343         (xreadlink_with_size): Renamed from xreadink.
56344         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
56345         * modules/canonicalize (Depends-on): Replace xreadlink with
56346         xreadlink-with-size.
56347         * lib/canonicalize.c (canonicalize_filename_mode): Update.
56348
56349 2007-02-25  Jim Meyering  <jim@meyering.net>
56350
56351         * build-aux/announce-gen: When complaining about excess arguments,
56352         list them.
56353
56354 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
56355
56356         * README: Document signed integer overflow situation more
56357         accurately.
56358
56359 2007-02-25  Bruno Haible  <bruno@clisp.org>
56360
56361         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
56362         'a' or 'A' conversion.
56363
56364 2007-02-25  Bruno Haible  <bruno@clisp.org>
56365
56366         * modules/filename: Renamed from modules/pathname.
56367         (Files): Replace lib/pathname.h with lib/filename.h. Replace
56368         lib/concatpath.c with lib/concat-filename.c.
56369         (Makefile.am): Update.
56370         (Include): Replace pathname.h with filename.h.
56371         * lib/filename.h: Renamed from lib/pathname.h.
56372         (concatenated_filename): Renamed from concatenated_pathname.
56373         * lib/concat-filename.c: Renamed from lib/concatpath.c.
56374         (concatenated_filename): Renamed from concatenated_pathname.
56375         * lib/findprog.c: Include filename.h instead of pathname.h.
56376         (find_in_path): Update.
56377         * lib/javacomp.c: Include filename.h instead of pathname.h.
56378         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
56379         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
56380         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
56381         is_oldgcj_14_13_usable, is_javac_usable): Update.
56382         * lib/javaexec.c: Include filename.h instead of pathname.h.
56383         (execute_java_class): Update.
56384         * modules/findprog: Update.
56385         * modules/javacomp: Update.
56386         * modules/javaexec: Update.
56387         * MODULES.html.sh (File system functions): Add 'filename', remove
56388         'pathname'.
56389
56390 2007-02-25  Bruno Haible  <bruno@clisp.org>
56391
56392         * modules/printf-frexpl-tests: New file.
56393         * tests/test-printf-frexpl.c: New file.
56394
56395         * modules/printf-frexpl: New file.
56396         * lib/printf-frexpl.h: New file.
56397         * lib/printf-frexpl.c: New file.
56398         * m4/printf-frexpl.m4: New file.
56399
56400 2007-02-25  Bruno Haible  <bruno@clisp.org>
56401
56402         * modules/printf-frexp-tests: New file.
56403         * tests/test-printf-frexp.c: New file.
56404
56405         * modules/printf-frexp: New file.
56406         * lib/printf-frexp.h: New file.
56407         * lib/printf-frexp.c: New file.
56408         * m4/printf-frexp.m4: New file.
56409
56410 2007-02-25  Bruno Haible  <bruno@clisp.org>
56411
56412         Assume automake >= 1.10 for the tests.
56413         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
56414         * modules/arctwo-tests: Likewise.
56415         * modules/argp-tests: Likewise.
56416         * modules/avltree-list-tests: Likewise.
56417         * modules/avltree-oset-tests: Likewise.
56418         * modules/avltreehash-list-tests: Likewise.
56419         * modules/carray-list-tests: Likewise.
56420         * modules/crc-tests: Likewise.
56421         * modules/des-tests: Likewise.
56422         * modules/gc-arcfour-tests: Likewise.
56423         * modules/gc-arctwo-tests: Likewise.
56424         * modules/gc-des-tests: Likewise.
56425         * modules/gc-hmac-md5-tests: Likewise.
56426         * modules/gc-hmac-sha1-tests: Likewise.
56427         * modules/gc-md2-tests: Likewise.
56428         * modules/gc-md4-tests: Likewise.
56429         * modules/gc-md5-tests: Likewise.
56430         * modules/gc-pbkdf2-sha1-tests: Likewise.
56431         * modules/gc-rijndael-tests: Likewise.
56432         * modules/gc-sha1-tests: Likewise.
56433         * modules/gc-tests: Likewise.
56434         * modules/getaddrinfo-tests: Likewise.
56435         * modules/hmac-md5-tests: Likewise.
56436         * modules/hmac-sha1-tests: Likewise.
56437         * modules/linked-list-tests: Likewise.
56438         * modules/linkedhash-list-tests: Likewise.
56439         * modules/lock-tests: Likewise.
56440         * modules/md2-tests: Likewise.
56441         * modules/md4-tests: Likewise.
56442         * modules/md5-tests: Likewise.
56443         * modules/rbtree-list-tests: Likewise.
56444         * modules/rbtree-oset-tests: Likewise.
56445         * modules/rbtreehash-list-tests: Likewise.
56446         * modules/read-file-tests: Likewise.
56447         * modules/rijndael-tests: Likewise.
56448         * modules/stdint-tests: Likewise.
56449         * modules/tls-tests: Likewise.
56450
56451 2007-02-24  Bruno Haible  <bruno@clisp.org>
56452
56453         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
56454         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
56455         function; instead check whether isnan with a double argument links.
56456         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
56457         function; instead check whether isnan with a 'long double' argument
56458         links.
56459         Reported by Eric Blake <ebb9@byu.net>.
56460
56461 2007-02-24  Bruno Haible  <bruno@clisp.org>
56462
56463         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
56464         defined.
56465         * lib/isnanl.c: Remove all code. Just include isnan.c.
56466         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
56467
56468 2007-02-25  Jim Meyering  <jim@meyering.net>
56469
56470         Avoid conflicting types for 'unsetenv' on FreeBSD.
56471         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
56472         conflicting with FreeBSD's (5.0 and 6.1) function declaration
56473         in stdlib.h.
56474
56475 2007-02-24  Bruno Haible  <bruno@clisp.org>
56476
56477         * modules/isnanl-nolibm-tests: New file.
56478         * tests/test-isnanl.c: New file.
56479
56480         * modules/isnanl-nolibm: New file.
56481         * lib/isnanl.h: New file.
56482         * lib/isnanl.c: New file.
56483         * m4/isnanl.m4: New file.
56484
56485 2007-02-24  Bruno Haible  <bruno@clisp.org>
56486
56487         * modules/isnan-nolibm-tests: New file.
56488         * tests/test-isnan.c: New file.
56489
56490         * modules/isnan-nolibm: New file.
56491         * lib/isnan.h: New file.
56492         * lib/isnan.c: New file.
56493         * m4/isnan.m4: New file.
56494
56495 2007-02-24  Bruno Haible  <bruno@clisp.org>
56496
56497         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
56498         assume that an exponent fits in 20 bits.
56499
56500 2007-02-24  Jim Meyering  <jim@meyering.net>
56501
56502         * m4/regex.m4: Update the description of the configure-time option,
56503         --without-included-regex, to state accurately what the defaults are,
56504         and perhaps to give people an idea why using this option is risky.
56505
56506 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
56507
56508         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
56509         loops on small arguments.  This attempts to avoid the problem
56510         Bruno Haible reported for AIX 4.3.2 in
56511         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
56512
56513 2007-02-23  Bruno Haible  <bruno@clisp.org>
56514
56515         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
56516         Needed for help2man.
56517
56518 2007-02-23  Karl Berry  <karl@gnu.org>
56519
56520         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
56521         exists, foo.h should be cvs-ignored, not committed.
56522
56523 2007-02-23  Eric Blake  <ebb9@byu.net>
56524
56525         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
56526         * lib/stat-time.h (includes): Likewise.
56527         * lib/utimecmp.c (includes): Likewise.
56528         * lib/utimens.h (includes): Likewise.
56529         * lib/getdate.y (includes): Also include "timespec.h" for use
56530         internal to the module.
56531         * modules/utimens (Depends-on): Revert yesterday's patch.
56532         * modules/nanosleep (Depends-on): Add missing dependency.
56533
56534 2007-02-22  Bruno Haible  <bruno@clisp.org>
56535
56536         * lib/glob.c: Don't include getlogin_r.h.
56537
56538 2007-02-22  Jim Meyering  <jim@meyering.net>
56539
56540         * modules/utimens (Depends-on): Add timespec, required for
56541         utimens.h's inclusion of timespec.h.
56542
56543 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
56544
56545         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
56546         long unreadable paths in GNU/Linux.  Problem reported by Andreas
56547         Schwab in
56548         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
56549         I'll try to think of a better way to fix the Solaris problem.
56550
56551         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
56552         like glibc; on Solaris 10, it fails with errno == EINVAL.
56553         POSIX says the behavior is unspecified if the first argument is NULL,
56554         so play it safe and never pass NULL to the system getcwd.
56555
56556 2007-02-21  Jim Meyering  <jim@meyering.net>
56557
56558         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
56559         of gettimeofday.  It would conflict with the one now always
56560         provided via sys_time_.h.  Reported by Matthew Woehlke, as
56561         an IRIX 6.5 build failure.
56562
56563 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
56564
56565         Minor fixups to port to Solaris 10 with Sun C 5.8.
56566         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
56567         * modules/getcwd (Depends-on): Add dirfd.
56568         * lib/putenv.c (putenv): #undef it.
56569         (rpl_putenv): New decl.
56570         (malloc, free): Include <stdlib.h> rather than prototyping separately.
56571
56572 2007-02-20  Bruno Haible  <bruno@clisp.org>
56573
56574         * modules/stdio-tests: New file.
56575         * tests/test-stdio.c: New file.
56576
56577         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
56578         (Depends-on): Add stdio.
56579         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
56580         (Include): Use <stdio.h> instead of vsnprintf.h.
56581         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
56582         HAVE_DECL_VSNPRINTF.
56583         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
56584
56585         * modules/snprintf (Files): Remove lib/snprintf.h.
56586         (Depends-on): Add stdio.
56587         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
56588         (Include): Use <stdio.h> instead of snprintf.h.
56589         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
56590         HAVE_DECL_SNPRINTF.
56591         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
56592         * lib/getaddrinfo.c: Likewise.
56593
56594         * modules/stdio: New file.
56595         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
56596         * lib/snprintf.h: Remove file.
56597         * lib/vsnprintf.h: Remove file.
56598         * lib/.cppi-disable: Remove snprintf.h.
56599         * m4/stdio_h.m4: New file.
56600         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
56601
56602 2007-02-20  Jim Meyering  <jim@meyering.net>
56603
56604         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
56605         used by e.g., mingw.  From Bruno Haible.
56606
56607 2007-02-19  Bruno Haible  <bruno@clisp.org>
56608
56609         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
56610         warnings.
56611         Reported by Ben Pfaff <blp@cs.stanford.edu>.
56612
56613 2007-02-19  Bruno Haible  <bruno@clisp.org>
56614
56615         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
56616         from mingw users.
56617
56618 2007-02-19  Bruno Haible  <bruno@clisp.org>
56619
56620         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
56621         warnings.
56622         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
56623
56624 2007-02-19  Jim Meyering  <jim@meyering.net>
56625
56626         Don't use FD after a successful "fdopendir (fd)".
56627         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
56628         Reset it by calling dirfd on the just-obtained DIR*.
56629
56630         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
56631         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
56632
56633 2007-02-18  Bruno Haible  <bruno@clisp.org>
56634
56635         * lib/readlink.c: Include <unistd.h>.
56636         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
56637         HAVE_READLINK.
56638         * modules/readlink (Depends-on): Add unistd.
56639         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
56640         (Include): Add <unistd.h>.
56641
56642         * lib/getlogin_r.h: Remove file.
56643         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
56644         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
56645         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
56646         HAVE_DECL_GETLOGIN_R.
56647         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
56648         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
56649         (Include): Use <unistd.h> instead of getlogin_r.h.
56650
56651         * lib/getcwd.h: Remove file.
56652         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
56653         * lib/xgetcwd.c: Likewise.
56654         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
56655         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
56656         * modules/getcwd (Files): Remove lib/getcwd.h.
56657         (Depends-on): Add unistd.
56658         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
56659         (Include): Use <unistd.h> instad of getcwd.h.
56660
56661         * lib/ftruncate.c: Include <unistd.h> first.
56662         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
56663         Set HAVE_FTRUNCATE.
56664         * modules/ftruncate (Depends-on): Add unistd.
56665         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
56666
56667         * lib/fchdir.c: Include <unistd.h> first.
56668         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
56669         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
56670         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
56671         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
56672         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
56673
56674         * lib/dup2.c: Include <unistd.h> first.
56675         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
56676         HAVE_DUP2.
56677         * modules/dup2 (Depends-on): Add unistd.
56678         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
56679
56680         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
56681         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
56682         REPLACE_CHOWN. Don't define chown as a macro here.
56683         * modules/chown (Depends-on): Add unistd.
56684         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
56685
56686         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
56687         Add definition for GL_LINK_WARNING.
56688         (chown, dup2): New declarations.
56689         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
56690         link warning.
56691         (ftruncate): New declaration.
56692         (getcwd): New declaration, taken from old getcwd.h.
56693         (getlogin_r): New declaration, taken from old getlogin_r.h.
56694         (readlink): New declaration.
56695         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
56696         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
56697         (gl_PREREQ_UNISTD): Remove macro.
56698         (gl_UNISTD_MODULE_INDICATOR): New macro.
56699         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
56700         many new variables. Don't set UNISTD_H.
56701         * modules/unistd (Description): Change.
56702         (Depends-on): Add link-warning.
56703         (configure.ac): Update.
56704         (Makefile.am): Create unistd.h always. Substitute many new variables
56705         into it.
56706
56707 2007-02-18  Bruno Haible  <bruno@clisp.org>
56708
56709         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
56710         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
56711         HAVE_GETSUBOPT.
56712         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
56713         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
56714         * lib/getsubopt.h: Remove file.
56715         * modules/getsubopt (Files): Remove lib/getsubopt.h.
56716         (Depends-on): Add stdlib.
56717         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
56718         (Includes): Use <stdlib.h> instead of getsubopt.h.
56719         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
56720         Set HAVE_GETSUBOPT.
56721         * lib/getsubopt.c: Don't include getsubopt.h.
56722
56723 2007-02-18  Bruno Haible  <bruno@clisp.org>
56724
56725         * modules/fchdir (Depends-on): Add dup2.
56726
56727 2007-02-18  Bruno Haible  <bruno@clisp.org>
56728
56729         * lib/stdlib_.h: Handle glibc's special invocation convention
56730         specially.
56731
56732 2007-02-18  Bruno Haible  <bruno@clisp.org>
56733
56734         * modules/stdlib-tests: New file.
56735         * tests/test-stdlib.c: New file.
56736
56737         * modules/mkstemp (Files): Remove lib/mkstemp.h.
56738         (Depends-on): Add stdlib.
56739         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
56740         (Includes): Use <stdlib.h> instead of mkstemp.h.
56741         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
56742         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
56743         * lib/mkstemp.c: Don't include mkstemp.h.
56744         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
56745         * lib/stdlib--.h: Don't include mkstemp.h.
56746
56747         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
56748         (Depends-on): Add stdlib.
56749         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
56750         (Includes): Use <stdlib.h> instead of mkdtemp.h.
56751         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
56752         HAVE_MKDTEMP.
56753         * lib/mkdtemp.c: Don't include mkdtemp.h.
56754         * lib/clean-temp.c: Don't include mkdtemp.h.
56755
56756         * modules/exit (Files): Remove lib/exit.h.
56757         (Depends-on): Add stdlib.
56758         (Makefile.am): Remove lib_SOURCES.
56759         (Include): Use <stdlib.h> instead of exit.h.
56760         * lib/argmatch.c: Don't include exit.h.
56761         * lib/execute.c: Likewise.
56762         * lib/pagealign_alloc.c: Likewise.
56763         * lib/pipe.c: Likewise.
56764         * lib/wait-process.c: Likewise.
56765         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
56766         * lib/exitfail.c: Likewise.
56767         * lib/savewd.c: Likewise.
56768         * lib/xsetenv.c: Likewise.
56769
56770         * modules/stdlib: New file.
56771         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
56772         and extra comments about mkstemp().
56773         * lib/exit.h: Remove file.
56774         * lib/mkdtemp.h: Remove file.
56775         * lib/mkstemp.h: Remove file.
56776         * m4/stdlib_h.m4: New file.
56777         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
56778
56779 2007-02-18  Bruno Haible  <bruno@clisp.org>
56780
56781         * modules/math-tests: New file.
56782         * tests/test-math.c: New file.
56783
56784         * modules/math: New file.
56785         * modules/mathl (Files): Remove lib/mathl.h.
56786         (Depends-on): Add math.
56787         (Makefile.am): Don't mention mathl.h.
56788         (Include): Use <math.h> instead of mathl.h.
56789         * lib/math_.h: New file.
56790         * lib/mathl.h: Remove file.
56791         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
56792         mathl.h.
56793         * lib/asinl.c: Likewise.
56794         * lib/atanl.c: Likewise.
56795         * lib/ceill.c: Likewise.
56796         * lib/cosl.c: Likewise.
56797         * lib/expl.c: Likewise.
56798         * lib/floorl.c: Likewise.
56799         * lib/frexpl.c: Likewise.
56800         * lib/ldexpl.c: Likewise.
56801         * lib/logl.c: Likewise.
56802         * lib/sincosl.c: Likewise.
56803         * lib/sinl.c: Likewise.
56804         * lib/sqrtl.c: Likewise.
56805         * lib/tanl.c: Likewise.
56806         * lib/trigl.c: Likewise.
56807         * m4/math_h.m4: New file.
56808         * MODULES.html.sh (Mathematics): Add math.
56809
56810 2007-02-17  Bruno Haible  <bruno@clisp.org>
56811
56812         * modules/wctype-tests: New file.
56813         * tests/test-wctype.c: New file.
56814
56815         * modules/wchar-tests: New file.
56816         * tests/test-wchar.c: New file.
56817
56818         * modules/unistd-tests: New file.
56819         * tests/test-unistd.c: New file.
56820
56821         * modules/time-tests: New file.
56822         * tests/test-time.c: New file.
56823
56824         * modules/sysexits-tests: New file.
56825         * tests/test-sysexits.c: New file.
56826
56827         * modules/sys_time-tests: New file.
56828         * tests/test-sys_time.c: New file.
56829
56830         * modules/sys_stat-tests: New file.
56831         * tests/test-sys_stat.c: New file.
56832
56833         * modules/sys_socket-tests: New file.
56834         * tests/test-sys_socket.c: New file.
56835
56836         * modules/sys_select-tests: New file.
56837         * tests/test-sys_select.c: New file.
56838
56839         * modules/string-tests: New file.
56840         * tests/test-string.c: New file.
56841
56842         * modules/stdbool-tests: New file.
56843         * tests/test-stdbool.c: New file.
56844
56845         * modules/netinet_in-tests: New file.
56846         * tests/test-netinet_in.c: New file.
56847
56848         * modules/inttypes-tests: New file.
56849         * tests/test-inttypes.c: New file.
56850
56851         * modules/fcntl-tests: New file.
56852         * tests/test-fcntl.c: New file.
56853
56854         * modules/byteswap-tests: New file.
56855         * tests/test-byteswap.c: New file.
56856
56857         * modules/arpa_inet-tests: New file.
56858         * tests/test-arpa_inet.c: New file.
56859
56860 2007-02-17  Bruno Haible  <bruno@clisp.org>
56861
56862         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
56863         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
56864         if the corresponding module is not enabled. Emit link warnings if
56865         the function is used nevertheless.
56866         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
56867         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
56868         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
56869         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
56870         * modules/inttypes (Depends-on): Add link-warning.
56871         (Makefile.am): Copy the contents of build-aux/link-warning.h into
56872         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
56873         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
56874         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
56875         * modules/imaxdiv (configure.ac): Likewise.
56876         * modules/strtoimax (configure.ac): Likewise.
56877         * modules/strtoumax (configure.ac): Likewise.
56878
56879 2007-02-17  Bruno Haible  <bruno@clisp.org>
56880
56881         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
56882         gl_STRING_MODULE_INDICATOR_DEFAULTS.
56883         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
56884         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
56885
56886 2007-02-17  Bruno Haible  <bruno@clisp.org>
56887
56888         * modules/link-warning: New file.
56889         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
56890         * lib/string_.h (GL_LINK_WARNING): Remove definition.
56891         * modules/string (Depends-on): Add link-warning.
56892         (Makefile.am): Copy the contents of build-aux/link-warning.h into
56893         string.h.
56894         * MODULES.html.sh (Support for building libraries and executables): Add
56895         link-warning.
56896
56897 2007-02-17  Bruno Haible  <bruno@clisp.org>
56898
56899         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
56900         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
56901         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
56902         long lines.
56903
56904 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
56905             Bruno Haible  <bruno@clisp.org>
56906
56907         * modules/tmpfile: New file.
56908         * lib/tmpfile.c: New file.
56909         * m4/tmpfile.m4: New file.
56910         * MODULES.html.sh (func_all_modules): New section "Input/output".
56911
56912 2007-02-15  Bruno Haible  <bruno@clisp.org>
56913
56914         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
56915         (supports_delete_on_close): New function.
56916         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
56917
56918 2007-02-14  Bruno Haible  <bruno@clisp.org>
56919
56920         * modules/mbspcasecmp-tests: New file.
56921         * tests/test-mbspcasecmp.sh: New file.
56922         * tests/test-mbspcasecmp.c: New file.
56923
56924         New module mbspcasecmp.
56925         * modules/mbspcasecmp: New file.
56926         * lib/mbspcasecmp.c: New file.
56927         * lib/string_.h (strncasecmp): Change warning message.
56928         (mbspcasecmp): New declaration.
56929         * m4/mbspcasecmp.m4: New file.
56930         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
56931         GNULIB_MBSPCASECMP.
56932         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
56933         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
56934
56935 2007-02-14  Bruno Haible  <bruno@clisp.org>
56936
56937         * modules/mbsncasecmp-tests: New file.
56938         * tests/test-mbsncasecmp.sh: New file.
56939         * tests/test-mbsncasecmp.c: New file.
56940
56941         New module mbsncasecmp.
56942         * modules/mbsncasecmp: New file.
56943         * lib/mbsncasecmp.c: New file.
56944         * lib/string_.h (mbsncasecmp): New declaration.
56945         * m4/mbsncasecmp.m4: New file.
56946         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
56947         GNULIB_MBSNCASECMP.
56948         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
56949         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
56950
56951 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
56952
56953         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
56954         Verify that it doesn't overlap with our flags.
56955         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
56956         do not have the desired effect in multibyte locales; instead, use
56957         mbscasecmp.
56958         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
56959         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
56960         we don't require GNU fnmatch ourselves (if our users require it, they
56961         should do so explicitly).
56962
56963         Fix regex code so it doesn't rely on strcasecmp.
56964         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
56965         Otherwise, include gnulib's langinfo.h.
56966         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
56967         undesirable behavior in non-C locales.  Instead, rely on localecharset.
56968         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
56969         * modules/regex (FILES): Remove m4/codeset.m4.
56970         (Depends-on): Add localcharset.  Remove strcase.
56971
56972 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56973
56974         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
56975         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
56976
56977 2007-02-13  Bruno Haible  <bruno@clisp.org>
56978
56979         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
56980         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56981
56982 2007-02-12  Bruno Haible  <bruno@clisp.org>
56983
56984         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
56985         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
56986         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
56987         time warning rather than a link error.
56988
56989 2007-02-12  Bruno Haible  <bruno@clisp.org>
56990
56991         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
56992         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
56993         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56994
56995 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
56996
56997         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
56998         args, not 2.
56999
57000 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
57001
57002         New module 'time', so that apps can include <time.h> as per
57003         POSIX and GNU instead of separate include files like time_r.h
57004         and timegm.h.  This implementation tries out a simpler approach
57005         for replacing decls in standard include files (as compared to
57006         the string module), somewhat as an experiment.
57007
57008         * config/srclist.txt: Comment out mktime.c for now.
57009         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
57010         since it doesn't apply any more.  Use generic wording instead.
57011         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
57012         'time'.
57013         * lib/time_.h, m4/time_h.m4, modules/time: New files.
57014         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
57015         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
57016         Don't include <sys/types.h>; no longer needed since we assume C89.
57017         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
57018         * lib/strftime.c: Likewise.
57019         * lib/time_r.c: Likewise.
57020         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
57021         * lib/nanosleep.c: Include <time.h> first, to check interface.
57022         * lib/strptime.c: Likewise.
57023         * lib/time_r.c: Likewise.
57024         * lib/timegm.c: Likewise.
57025         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
57026         needed.
57027         * lib/timegm.c: Don't include timegm.h; no longer needed.
57028         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
57029         time.h now handles any problems in that area.
57030         (struct timespec, nanosleep): Remove; time.h now arranges for these.
57031         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
57032         that time.h defines struct timespec.
57033         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
57034         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
57035         handles that.
57036         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
57037         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
57038         needed.  Set REPLACE_LOCALTIME.
57039         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
57040         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
57041         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
57042         nanosleep; time_h.m4 now does that.  Don't require
57043         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
57044         module handles this now.
57045         * modules/getdate (Depends-on): Remove timespec.  Add time.
57046         * modules/nanosleep (Depends-on): Likewise.
57047         * modules/stat-time (Depends-on): Likewise.
57048         * modules/nanosleep (Include): Include time.h, not timespec.h.
57049         * modules/strptime (Files): Remove lib/strptime.h.
57050         (Depends-on): Add extensions, time.
57051         (Include): Include time.h, not strptime.h.
57052         * modules/time_r (Files): Remove lib/time_r.h.
57053         (Depends-on): Add time.
57054         (Include): Include time.h, not time_r.h.
57055         * modules/timegm: Likewise.
57056         * modules/timespec (Description): Now does timespec-related decls
57057         of our own, instead of struct timespec itself.
57058         (Depends-on): Add time; remove extensions.
57059         (Maintainer): Add self.
57060         * modules/utimecmp (Depends-on): Add time; remove timespec.
57061         * modules/utimens (Depends-on): Likewise.
57062         * modules/xnanosleep (Depends-on): Likewise.
57063
57064 2007-02-11  Bruno Haible  <bruno@clisp.org>
57065
57066         * lib/c-strstr.c: Include allocsa.h.
57067         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
57068         * lib/c-strcasestr.c: Include allocsa.h.
57069         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
57070         * lib/strcasestr.c: Include allocsa.h.
57071         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
57072         * lib/mbsstr.c: Include allocsa.h.
57073         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
57074         allocsa/freesa instead of malloc/free.
57075         * lib/mbscasestr.c: Include allocsa.h.
57076         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
57077         allocsa/freesa instead of malloc/free.
57078         * modules/c-strstr (Depends-on): Add allocsa.
57079         * modules/c-strcasestr (Depends-on): Likewise.
57080         * modules/strcasestr (Depends-on): Likewise.
57081         * modules/mbsstr (Depends-on): Likewise.
57082         * modules/mbscasestr (Depends-on): Likewise.
57083
57084 2007-02-11  Bruno Haible  <bruno@clisp.org>
57085
57086         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
57087
57088         * modules/mbsspn-tests: New file.
57089         * tests/test-mbsspn.sh: New file.
57090         * tests/test-mbsspn.c: New file.
57091
57092 2007-02-11  Bruno Haible  <bruno@clisp.org>
57093
57094         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
57095
57096         * modules/mbspbrk-tests: New file.
57097         * tests/test-mbspbrk.sh: New file.
57098         * tests/test-mbspbrk.c: New file.
57099
57100 2007-02-11  Bruno Haible  <bruno@clisp.org>
57101
57102         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
57103         unneeded cast.
57104
57105         * modules/mbscspn-tests: New file.
57106         * tests/test-mbscspn.sh: New file.
57107         * tests/test-mbscspn.c: New file.
57108
57109 2007-02-11  Bruno Haible  <bruno@clisp.org>
57110
57111         * modules/mbscasecmp-tests: New file.
57112         * tests/test-mbscasecmp.sh: New file.
57113         * tests/test-mbscasecmp.c: New file.
57114
57115 2007-02-11  Bruno Haible  <bruno@clisp.org>
57116
57117         Ensure O(n) worst-case complexity of mbscasestr.
57118         * lib/mbscasestr.c: Include stdbool.h.
57119         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
57120         functions.
57121         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
57122         the bookkeeping indicates that it's worth it.
57123         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
57124
57125         * modules/mbscasestr-tests: New file.
57126         * tests/test-mbscasestr1.c: New file.
57127         * tests/test-mbscasestr2.sh: New file.
57128         * tests/test-mbscasestr2.c: New file.
57129         * tests/test-mbscasestr3.sh: New file.
57130         * tests/test-mbscasestr3.c: New file.
57131         * tests/test-mbscasestr4.sh: New file.
57132         * tests/test-mbscasestr4.c: New file.
57133         * m4/locale-tr.m4: New file.
57134
57135 2007-02-11  Bruno Haible  <bruno@clisp.org>
57136
57137         Ensure O(n) worst-case complexity of mbsstr.
57138         * lib/mbsstr.c: Include stdbool.h.
57139         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
57140         functions.
57141         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
57142         bookkeeping indicates that it's worth it.
57143         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
57144
57145         * modules/mbsstr-tests: New file.
57146         * tests/test-mbsstr1.c: New file.
57147         * tests/test-mbsstr2.sh: New file.
57148         * tests/test-mbsstr2.c: New file.
57149         * tests/test-mbsstr3.sh: New file.
57150         * tests/test-mbsstr3.c: New file.
57151         * m4/locale-fr.m4: New file.
57152
57153 2007-02-11  Bruno Haible  <bruno@clisp.org>
57154
57155         * lib/mbsrchr.c (mbsrchr): Fix bug.
57156
57157         * modules/mbsrchr-tests: New file.
57158         * tests/test-mbsrchr.sh: New file.
57159         * tests/test-mbsrchr.c: New file.
57160
57161 2007-02-11  Bruno Haible  <bruno@clisp.org>
57162
57163         * lib/mbschr.c (mbschr): Fix bug.
57164
57165         * modules/mbschr-tests: New file.
57166         * tests/test-mbschr.sh: New file.
57167         * tests/test-mbschr.c: New file.
57168         * m4/locale-zh.m4: New file.
57169
57170 2007-02-11  Bruno Haible  <bruno@clisp.org>
57171
57172         Support for copying multibyte string iterators.
57173         * lib/mbiter.h: Include <string.h>.
57174         (mbiter_multi_copy): New function.
57175         (mbi_copy): New macro.
57176         * lib/mbuiter.h: Include <string.h>.
57177         (mbuiter_multi_copy): New function.
57178         (mbui_copy): New macro.
57179
57180 2007-02-11  Bruno Haible  <bruno@clisp.org>
57181
57182         New module mbslen.
57183         * modules/mbslen: New file.
57184         * lib/mbslen.c: New file.
57185         * lib/string_.h (mbslen): New declaration.
57186         * m4/mbslen.m4: New file.
57187         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
57188         GNULIB_MBSLEN.
57189         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
57190         * MODULES.html.sh (Internationalization functions): Add mbslen.
57191
57192 2007-02-11  Bruno Haible  <bruno@clisp.org>
57193
57194         Ensure O(n) worst-case complexity of strcasestr substitute.
57195         * lib/strcasestr.c: Include stdbool.h.
57196         (knuth_morris_pratt): New function.
57197         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
57198         bookkeeping indicates that it's worth it.
57199         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
57200
57201         * modules/strcasestr-tests: New file.
57202         * tests/test-strcasestr.c: New file.
57203
57204 2007-02-11  Bruno Haible  <bruno@clisp.org>
57205
57206         Ensure O(n) worst-case complexity of c_strcasestr.
57207         * lib/c-strcasestr.c: Include stdbool.h, string.h.
57208         (knuth_morris_pratt): New function.
57209         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
57210         the bookkeeping indicates that it's worth it.
57211         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
57212
57213         * modules/c-strcasestr-tests: New file.
57214         * tests/test-c-strcasestr.c: New file.
57215
57216 2007-02-11  Bruno Haible  <bruno@clisp.org>
57217
57218         Ensure O(n) worst-case complexity of c_strstr.
57219         * lib/c-strstr.c: Include stdbool.h, string.h.
57220         (knuth_morris_pratt): New function.
57221         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
57222         bookkeeping indicates that it's worth it.
57223         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
57224
57225         * lib/c-strstr.c: Complete rewrite for maintainability.
57226
57227         * modules/c-strstr-tests: New file.
57228         * tests/test-c-strstr.c: New file.
57229
57230 2007-02-11  Bruno Haible  <bruno@clisp.org>
57231
57232         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
57233         5.2.1 and earlier, whereby \055 was treated just like the range
57234         delimiter '-'.
57235         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
57236
57237 2007-02-08  Bruno Haible  <bruno@clisp.org>
57238
57239         * modules/regex (Depends-on): Add stdbool.
57240         Reported by Dalibor Topic <robilad@kaffe.org>.
57241
57242 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
57243
57244         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
57245         Prefer returning from main to exiting from it.
57246         Remove unnecessary parens after sizeof.
57247
57248 2007-02-05  Bruno Haible  <bruno@clisp.org>
57249
57250         New module mbssep.
57251         * modules/mbssep: New file.
57252         * lib/mbssep.c: New file.
57253         * lib/string_.h (strsep): Add a conditional link warning.
57254         (mbssep): New declaration.
57255         * m4/mbssep.m4: New file.
57256         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
57257         GNULIB_MBSSEP.
57258         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
57259         * MODULES.html.sh (Internationalization functions): Add mbssep.
57260
57261 2007-02-05  Bruno Haible  <bruno@clisp.org>
57262
57263         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
57264         Optimize search in case of 1 delimiter.
57265
57266 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
57267
57268         * lib/acl.h: Include sys/types.h before sys/acl.h.
57269
57270 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
57271
57272         Merge upstream fix for glibc bugzilla #3957:
57273
57274         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
57275
57276         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
57277         bit for RE_HAT_LISTS_NOT_NEWLINE.
57278         (build_charclass_op): Remove bogus comment.
57279
57280 2007-02-05  Simon Josefsson  <simon@josefsson.org>
57281
57282         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
57283
57284 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
57285
57286         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
57287         * lib/memmem.c [!defined _LIBC]: Include config.h.
57288
57289 2007-02-04  Bruno Haible  <bruno@clisp.org>
57290
57291         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
57292         warning message.
57293
57294 2007-02-04  Bruno Haible  <bruno@clisp.org>
57295
57296         New module mbstok_r.
57297         * modules/mbstok_r: New file.
57298         * lib/mbstok_r.c: New file.
57299         * lib/string_.h (strtok_r): Change argument names to match the
57300         comments. Add a conditional link warning.
57301         (mbstok_r): New declaration.
57302         * m4/mbstok_r.m4: New file.
57303         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
57304         GNULIB_MBSTOK_R.
57305         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
57306         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
57307
57308 2007-02-04  Bruno Haible  <bruno@clisp.org>
57309
57310         New module mbsspn.
57311         * modules/mbsspn: New file.
57312         * lib/mbsspn.c: New file.
57313         * lib/string_.h (strspn): Add a conditional link warning.
57314         (mbsspn): New declaration.
57315         * m4/mbsspn.m4: New file.
57316         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
57317         GNULIB_MBSSPN.
57318         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
57319         * MODULES.html.sh (Internationalization functions): Add mbsspn.
57320
57321 2007-02-04  Bruno Haible  <bruno@clisp.org>
57322
57323         New module mbspbrk.
57324         * modules/mbspbrk: New file.
57325         * lib/mbspbrk.c: New file.
57326         * lib/string_.h (strpbrk): Add a conditional link warning.
57327         (mbspbrk): New declaration.
57328         * m4/mbspbrk.m4: New file.
57329         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
57330         GNULIB_MBSPBRK.
57331         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
57332         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
57333
57334 2007-02-04  Bruno Haible  <bruno@clisp.org>
57335
57336         New module mbscspn.
57337         * modules/mbscspn: New file.
57338         * lib/mbscspn.c: New file.
57339         * lib/string_.h (strcspn): Add a conditional link warning.
57340         (mbscspn): New declaration.
57341         * m4/mbscspn.m4: New file.
57342         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
57343         GNULIB_MBSCSPN.
57344         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
57345         * MODULES.html.sh (Internationalization functions): Add mbscspn.
57346
57347 2007-02-04  Bruno Haible  <bruno@clisp.org>
57348
57349         New module mbscasestr, reduced goal of strcasestr.
57350         * modules/mbscasestr: New file.
57351         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
57352         (mbscasestr): Renamed from strcasestr.
57353         * lib/strcasestr.c: Don't include mbuiter.h.
57354         (strcasestr): Remove support for multibyte locales.
57355         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
57356         Change the conditional link warning.
57357         (mbscasestr): New declaration.
57358         * m4/mbscasestr.m4: New file.
57359         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
57360         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
57361         REPLACE_STRCASESTR.
57362         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
57363         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
57364         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
57365         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
57366         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
57367         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
57368         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
57369         (Depends-on): Remove mbuiter.
57370         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
57371
57372 2007-02-04  Bruno Haible  <bruno@clisp.org>
57373
57374         Simplify handling of strncasecmp.
57375         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
57376         the conditional link warning.
57377         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
57378         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
57379         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
57380         * modules/strcase (configure.ac): Don't invoke
57381         gl_STRING_MODULE_INDICATOR.
57382         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
57383
57384 2007-02-04  Bruno Haible  <bruno@clisp.org>
57385
57386         New module mbscasecmp, reduced goal of strcasecmp.
57387         * modules/mbscasecmp: New file.
57388         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
57389         (mbscasecmp): Renamed from strcasecmp.
57390         * lib/strcasecmp.c: Don't include mbuiter.h.
57391         (strcasecmp): Remove support for multibyte locales.
57392         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
57393         Change the conditional link warning.
57394         (mbscasecmp): New declaration.
57395         * m4/mbscasecmp.m4: New file.
57396         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
57397         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
57398         REPLACE_STRCASECMP.
57399         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
57400         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
57401         GNULIB_MBSCASECMP.
57402         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
57403         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
57404         * modules/strcase (Files): Remove m4/mbrtowc.m4.
57405         (Depends-on): Remove mbuiter.
57406         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
57407
57408 2007-02-04  Bruno Haible  <bruno@clisp.org>
57409
57410         New module mbsstr. Remove module strstr.
57411         * modules/mbsstr: New file.
57412         * modules/strstr: Remove file.
57413         * lib/mbsstr.c: Renamed from lib/strstr.c.
57414         (mbsstr): Renamed from strstr.
57415         * lib/string_.h (strstr): Remove declaration. Change the conditional
57416         link warning.
57417         (mbsstr): New declaration.
57418         * m4/mbsstr.m4: New file.
57419         * m4/strstr.m4: Remove file.
57420         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
57421         REPLACE_STRSTR.
57422         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
57423         Don't initialize GNULIB_STRSTR.
57424         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
57425         substitute GNULIB_STRSTR and REPLACE_STRSTR.
57426         * MODULES.html.sh (Internationalization functions): Add mbsstr.
57427         (Support for systems lacking ANSI C 89): Remove strstr.
57428
57429 2007-02-04  Bruno Haible  <bruno@clisp.org>
57430
57431         New module mbsrchr.
57432         * modules/mbsrchr: New file.
57433         * lib/mbsrchr.c: New file.
57434         * lib/string_.h (strrchr): Add a conditional link warning.
57435         (mbsrchr): New declaration.
57436         * m4/mbsrchr.m4: New file.
57437         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
57438         GNULIB_MBSRCHR.
57439         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
57440         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
57441
57442 2007-02-04  Bruno Haible  <bruno@clisp.org>
57443
57444         New module mbschr.
57445         * modules/mbschr: New file.
57446         * lib/mbschr.c: New file.
57447         * lib/string_.h (strchr): Add a conditional link warning.
57448         (mbschr): New declaration.
57449         * m4/mbschr.m4: New file.
57450         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
57451         GNULIB_MBSCHR.
57452         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
57453         * MODULES.html.sh (Internationalization functions): Add mbschr.
57454
57455 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
57456
57457         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
57458
57459         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
57460
57461 2007-02-04  Bruno Haible  <bruno@clisp.org>
57462
57463         New module description section 'configure.ac-early'.
57464         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
57465         (func_get_autoconf_early_snippet): New function.
57466         (func_import, func_create_testdir): Use it. Remove special cases for
57467         modules 'extensions' and 'lock'.
57468         * modules/extensions (configure.ac-early): Require
57469         gl_USE_SYSTEM_EXTENSIONS.
57470         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
57471
57472 2007-02-04  Bruno Haible  <bruno@clisp.org>
57473
57474         Make use of gcj-4.3's -fsource and -ftarget option.
57475         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
57476         and if so try the options -fsource and -ftarget.
57477         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
57478         source_version, ftarget_option, target_version arguments.
57479         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
57480         (is_envjavac_oldgcj_14_14_usable): Renamed from
57481         is_envjavac_gcj_14_14_usable.
57482         (is_envjavac_oldgcj_14_13_usable): Renamed from
57483         is_envjavac_gcj_14_13_usable.
57484         (is_gcj_present): Update.
57485         (is_gcj_43, is_gcj43_usable): New functions.
57486         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
57487         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
57488         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
57489         try the options -fsource and -ftarget.
57490
57491 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
57492
57493         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
57494         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
57495         larger value.
57496
57497 2007-02-03  Jim Meyering  <jim@meyering.net>
57498
57499         Give tools a better chance to allocate space for very large buffers.
57500         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
57501
57502         Make pwd and readlink work also when run with an unreadable parent dir
57503         on systems with openat support.
57504         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
57505         provided getcwd function, even when we have openat support.
57506         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
57507
57508 2007-02-02  Bruno Haible  <bruno@clisp.org>
57509
57510         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
57511         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
57512         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
57513         portability problems if one of these functions is only used on specific
57514         platforms.
57515         Reported by Paul Eggert.
57516
57517 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
57518
57519         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
57520         is causing more trouble than it's curing.
57521         * lib/regex_internal.h (__mempcpy): Remove.
57522         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
57523         (and make the code a tad smaller to boot).
57524         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
57525
57526 2007-02-02  Jim Meyering  <jim@meyering.net>
57527
57528         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
57529         section, not in the Makefile.am: one.
57530
57531 2007-02-02  Eric Blake  <ebb9@byu.net>
57532
57533         * lib/strchrnul.c: Always include config.h first.
57534
57535         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
57536         gnulib strstr is not necessary here.
57537
57538 2007-02-02  Simon Josefsson  <simon@josefsson.org>
57539
57540         * m4/socklen.m4: Fix typo.
57541
57542 2007-02-02  Eric Blake  <ebb9@byu.net>
57543
57544         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
57545         * modules/netinet_in (Makefile.am): Likewise.
57546
57547 2007-02-01  Bruno Haible  <bruno@clisp.org>
57548
57549         * lib/string_.h (GL_LINK_WARNING): New macro.
57550         (strcasecmp, strstr, strcasestr): If provided by the system,
57551         conditionally define as a macro that leads to a warning instead of to
57552         an error.
57553         (strncasecmp): Conditionally define as a macro that leads to a warning.
57554
57555 2007-02-01  Karl Berry  <karl@gnu.org>
57556
57557         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
57558
57559 2007-02-01  Bruno Haible  <bruno@clisp.org>
57560
57561         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
57562         renamings.
57563
57564 2007-02-01  Eric Blake  <ebb9@byu.net>
57565
57566         * modules/regex (Depends-on): Revert dependence on mempcpy.
57567         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
57568         module's definition of mempcpy.
57569         Reported by Paul Eggert.
57570
57571 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
57572
57573         * lib/string_.h: If the gnulib module XYZ is not present, undefine
57574         the symbol XYZ before redefining it.  This fixes a problem with
57575         programs that don't use XYZ, when compiled on systems that define
57576         XYZ to something else.
57577
57578 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
57579
57580         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
57581         occurs when "mkdir -m foo" creates a setgid directory that is (1)
57582         writeable to group or other and (2) is intended to have a special
57583         mode bit that is set or cleared.  In such a case, the directory
57584         should be neither group- nor other-writeable until the special
57585         mode bits are right.
57586
57587 2007-01-31  Eric Blake  <ebb9@byu.net>
57588
57589         * modules/mountlist (Depends-on): Add strstr.
57590
57591         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
57592         bug.
57593         * modules/string (Makefile.am): Remove redundant replacement.
57594         * modules/regex (Depends-on): Add mempcpy.
57595
57596 2007-01-31  Bruno Haible  <bruno@clisp.org>
57597
57598         New module description field 'Link'.
57599         * gnulib-tool (func_usage): Document --extract-link-directive.
57600         (sed_extract_prog): Recognize 'Link' directive.
57601         (func_get_link_directive): New function.
57602         (func_import): Show summary of link directives.
57603         Handle --extract-link-directive option.
57604         * modules/acl (Link): New section.
57605         * modules/clock-time (Link): New section.
57606         * modules/euidaccess (Link): New section.
57607         * modules/gettext (Link): New section.
57608         * modules/iconv (Link): New section.
57609         * modules/lock (Link): New section.
57610         * modules/nanosleep (Link): New section.
57611         * modules/readline (Link): New section.
57612
57613 2007-01-27  Bruno Haible  <bruno@clisp.org>
57614
57615         Enforce the use of gnulib modules for unportable <string.h> functions.
57616         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
57617         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
57618         (gl_HEADER_STRING_H_BODY): Require it.
57619         * lib/string_.h: If the gnulib module XYZ is not present, redefine
57620         the symbol XYZ to one that gives a link error.
57621         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
57622         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
57623         * modules/mempcpy (configure.ac): Likewise.
57624         * modules/memrchr (configure.ac): Likewise.
57625         * modules/stpcpy (configure.ac): Likewise.
57626         * modules/stpncpy (configure.ac): Likewise.
57627         * modules/strcase (configure.ac): Likewise.
57628         * modules/strcasestr (configure.ac): Likewise.
57629         * modules/strchrnul (configure.ac): Likewise.
57630         * modules/strdup (configure.ac): Likewise.
57631         * modules/strndup (configure.ac): Likewise.
57632         * modules/strnlen (configure.ac): Likewise.
57633         * modules/strpbrk (configure.ac): Likewise.
57634         * modules/strsep (configure.ac): Likewise.
57635         * modules/strstr (configure.ac): Likewise.
57636         * modules/strtok_r (configure.ac): Likewise.
57637
57638 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
57639
57640         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
57641
57642 2007-01-30  Jim Meyering  <jim@meyering.net>
57643
57644         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
57645
57646 2007-01-29  Bruno Haible  <bruno@clisp.org>
57647
57648         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
57649         * lib/execute.c: Likewise.
57650         * lib/pipe.c: Likewise.
57651         * lib/printf-args.h: Likewise.
57652         * lib/printf-args.c: Likewise.
57653         * lib/printf-parse.c: Likewise.
57654         * lib/vasnprintf.c: Likewise.
57655
57656 2007-01-29  Eric Blake  <ebb9@byu.net>
57657
57658         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
57659         declaration.
57660
57661 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
57662
57663         * lib/strptime.h (strptime): Use 'restrict' for args where
57664         POSIX requires this.
57665         * lib/strptime.c (strptime): Likewise.
57666         Change license notice from LGPL to GPL, since gnulib-tool will
57667         change this as needed.
57668         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
57669         defined.
57670         Include "strptime.h" first, to check interface.
57671         Do not #undef _LIBC and _NL_CURRENT.
57672         Do not include <stdlib.h>; no longer needed.
57673         Include "time_r.h" and declare ptime_locale_status
57674         only if _LIBC is not defined.
57675         (__P): Remove unused macro.
57676         (match_string): Bring back glibc version, but use it only if _LIBC
57677         is defined.
57678         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
57679         Remove unnecessary assertion and abort() call.
57680         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
57681         * m4/strptime.m4: Fix serial number comment.
57682         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
57683         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
57684         (Depends-on): Add time_r.
57685
57686 2007-01-29  Bruno Haible  <bruno@clisp.org>
57687
57688         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
57689         strptime.
57690         * modules/strptime (Depends-on): Add stdbool.
57691         * lib/strptime.h: Include <time.h> always. Add comments.
57692
57693 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
57694
57695         * modules/strptime: New file.
57696         * lib/strptime.h: New file.
57697         * lib/strptime.c: New file.
57698         * m4/strptime.m4: New file.
57699
57700 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
57701
57702         * MODULES.html.sh: New module mpsort.
57703         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
57704
57705         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
57706         a circularity problem with HP-UX ia64 reported by Bob Proulx in
57707         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
57708         All uses changed.
57709         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
57710         All uses changed.
57711         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
57712         to _Restrict_.
57713         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
57714         the parameter matches the prototype.
57715
57716 2007-01-28  Jim Meyering  <jim@meyering.net>
57717
57718         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
57719         sys/time.h here, reverting that part of the previous patch:
57720         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
57721
57722 2007-01-28  Bruno Haible  <bruno@clisp.org>
57723
57724         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
57725         value of $(SYS_TIME_H).
57726         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
57727         remove it conditionally, too. [added by Jim Meyering]
57728         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
57729         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
57730         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
57731         GETTIMEOFDAY_REPLACEMENT to 1.
57732
57733 2007-01-28  Bruno Haible  <bruno@clisp.org>
57734
57735         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
57736         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
57737         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
57738         Set UNISTD_H instead of UNISTD_H2.
57739         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
57740
57741 2007-01-28  Bruno Haible  <bruno@clisp.org>
57742
57743         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
57744         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
57745
57746 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57747
57748         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
57749         (func_create_testdir): Ensure C locale for `grep' and `tr'
57750         character ranges.
57751         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
57752         ACLOCAL_AMFLAGS parsing state machine.
57753
57754 2007-01-27  Bruno Haible  <bruno@clisp.org>
57755
57756         * modules/unistr/base: Update.
57757
57758 2007-01-27  Bruno Haible  <bruno@clisp.org>
57759
57760         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
57761         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
57762         * modules/unistr/u32-mbtouc-unsafe: Renamed from
57763         modules/unistr/u32-mbtouc.
57764         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
57765         * lib/unistr.h: Update.
57766         * lib/linebreak.c: Update.
57767         * modules/unistr/u32-mbtouc: Renamed from
57768         modules/unistr/u32-mbtouc-safe.
57769         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
57770         * lib/unistr.h: Update.
57771         * lib/unistr/u32-to-u8.c: Update.
57772         * lib/unistr/u32-to-u16.c: Update.
57773
57774 2007-01-27  Bruno Haible  <bruno@clisp.org>
57775
57776         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
57777         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
57778         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
57779         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
57780         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
57781         * modules/unistr/u16-mbtouc-unsafe: Renamed from
57782         modules/unistr/u16-mbtouc.
57783         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
57784         * lib/unistr.h: Update.
57785         * lib/linebreak.c: Update.
57786         * modules/linebreak: Update.
57787         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
57788         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
57789         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
57790         * modules/unistr/u16-mbtouc: Renamed from
57791         modules/unistr/u16-mbtouc-safe.
57792         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
57793         * lib/unistr.h: Update.
57794         * lib/unistr/u16-to-u8.c: Update.
57795         * modules/unistr/u16-to-u8: Update.
57796         * lib/unistr/u16-to-u32.c: Update.
57797         * modules/unistr/u16-to-u32: Update.
57798
57799 2007-01-27  Bruno Haible  <bruno@clisp.org>
57800
57801         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
57802         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
57803         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
57804         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
57805         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
57806         * modules/unistr/u8-mbtouc-unsafe: Renamed from
57807         modules/unistr/u8-mbtouc.
57808         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
57809         * lib/unistr.h: Update.
57810         * lib/striconveh.c: Update.
57811         * modules/striconveh: Update.
57812         * lib/linebreak.c: Update.
57813         * modules/linebreak: Update.
57814         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
57815         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
57816         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
57817         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
57818         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
57819         * lib/unistr.h: Update.
57820         * lib/striconveh.c: Update.
57821         * modules/striconveh: Update.
57822         * lib/unistr/u8-to-u16.c: Update.
57823         * modules/unistr/u8-to-u16: Update.
57824         * lib/unistr/u8-to-u32.c: Update.
57825         * modules/unistr/u8-to-u32: Update.
57826
57827 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57828
57829         Sync from Libtool.
57830         * lib/argz.c: Do not include strings.h nor memory.h, include
57831         string.h unconditionally.  Patch by Simon Josefsson.
57832
57833 2007-01-27  Bruno Haible  <bruno@clisp.org>
57834
57835         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
57836         from gl_HEADER_STRING_H_BODY.
57837         (gl_HEADER_STRING_H_BODY): Require it.
57838         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
57839         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
57840         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
57841         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
57842         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
57843         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
57844         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
57845         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
57846         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
57847         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
57848         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
57849         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
57850         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
57851         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
57852         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
57853
57854 2007-01-27  Bruno Haible  <bruno@clisp.org>
57855
57856         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
57857         check_PROGRAMS into noinst_PROGRAMS.
57858         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
57859         check_PROGRAMS in this case.
57860         (func_import): Set for_test to false.
57861         (func_create_testdir): Set for_test to true.
57862
57863 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
57864             Bruno Haible  <bruno@clisp.org>
57865
57866         * modules/strcasestr (Files): Remove lib/strcasestr.h.
57867         (Depends-on): Add string.
57868         (Includes): Use <string.h> instead of strcasestr.h.
57869         * modules/string (Makefile.am): Also substitute the value of
57870         REPLACE_STRCASESTR.
57871         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
57872         assume strcasestr is declared in <string.h> not <strings.h>. Also
57873         set REPLACE_STRCASESTR.
57874         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
57875         REPLACE_STRCASESTR.
57876         * lib/strcasestr.h: Remove file.
57877         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
57878         * lib/string_.h (strcasestr): New declaration.
57879
57880 2007-01-27  Bruno Haible  <bruno@clisp.org>
57881
57882         * lib/string_.h: Use 'extern'.
57883
57884 2007-01-27  Jim Meyering  <jim@meyering.net>
57885
57886         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
57887         of set-but-not-used local, "q".
57888
57889         * lib/mempcpy.c: Include <config.h> before <string.h>.
57890         This fixes a compilation error on HP-UX, due to the system's
57891         "restrict"-using mempcpy prototype.
57892
57893 2007-01-26  Bruno Haible  <bruno@clisp.org>
57894
57895         Small optimization.
57896         * lib/javacomp.c: Include c-strstr.h.
57897          (is_envjavac_gcj): Use c_strstr instead of strstr.
57898         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
57899
57900 2007-01-26  Bruno Haible  <bruno@clisp.org>
57901
57902         * MODULES.html.sh (Unicode string functions): Add the new modules.
57903
57904         * modules/uniconv/u32-strconv-to-locale: New file.
57905         * lib/uniconv/u32-strconv-to-locale.c: New file.
57906
57907         * modules/uniconv/u16-strconv-to-locale: New file.
57908         * lib/uniconv/u16-strconv-to-locale.c: New file.
57909
57910         * modules/uniconv/u8-strconv-to-locale: New file.
57911         * lib/uniconv/u8-strconv-to-locale.c: New file.
57912
57913         * modules/uniconv/u32-strconv-from-locale: New file.
57914         * lib/uniconv/u32-strconv-from-locale.c: New file.
57915
57916         * modules/uniconv/u16-strconv-from-locale: New file.
57917         * lib/uniconv/u16-strconv-from-locale.c: New file.
57918
57919         * modules/uniconv/u8-strconv-from-locale: New file.
57920         * lib/uniconv/u8-strconv-from-locale.c: New file.
57921
57922         * modules/uniconv/u32-strconv-to-enc: New file.
57923         * lib/uniconv/u32-strconv-to-enc.c: New file.
57924         * modules/uniconv/u32-strconv-to-enc-tests: New file.
57925         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
57926
57927         * modules/uniconv/u16-strconv-to-enc: New file.
57928         * lib/uniconv/u16-strconv-to-enc.c: New file.
57929         * lib/uniconv/u-strconv-to-enc.h: New file.
57930         * modules/uniconv/u16-strconv-to-enc-tests: New file.
57931         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
57932
57933         * modules/uniconv/u8-strconv-to-enc: New file.
57934         * lib/uniconv/u8-strconv-to-enc.c: New file.
57935         * modules/uniconv/u8-strconv-to-enc-tests: New file.
57936         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
57937
57938         * modules/uniconv/u32-strconv-from-enc: New file.
57939         * lib/uniconv/u32-strconv-from-enc.c: New file.
57940         * modules/uniconv/u32-strconv-from-enc-tests: New file.
57941         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
57942
57943         * modules/uniconv/u16-strconv-from-enc: New file.
57944         * lib/uniconv/u16-strconv-from-enc.c: New file.
57945         * modules/uniconv/u16-strconv-from-enc-tests: New file.
57946         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
57947
57948         * modules/uniconv/u8-strconv-from-enc: New file.
57949         * lib/uniconv/u8-strconv-from-enc.c: New file.
57950         * lib/uniconv/u-strconv-from-enc.h: New file.
57951         * modules/uniconv/u8-strconv-from-enc-tests: New file.
57952         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
57953
57954         * modules/uniconv/u32-conv-from-enc: New file.
57955         * lib/uniconv/u32-conv-from-enc.c: New file.
57956         * modules/uniconv/u32-conv-from-enc-tests: New file.
57957         * tests/uniconv/test-u32-conv-from-enc.c: New file.
57958
57959         * modules/uniconv/u16-conv-from-enc: New file.
57960         * lib/uniconv/u16-conv-from-enc.c: New file.
57961         * lib/uniconv/u-conv-from-enc.h: New file.
57962         * modules/uniconv/u16-conv-from-enc-tests: New file.
57963         * tests/uniconv/test-u16-conv-from-enc.c: New file.
57964
57965         * modules/uniconv/u8-conv-from-enc: New file.
57966         * lib/uniconv/u8-conv-from-enc.c: New file.
57967         * modules/uniconv/u8-conv-from-enc-tests: New file.
57968         * tests/uniconv/test-u8-conv-from-enc.c: New file.
57969
57970         * modules/uniconv/base: New file.
57971         * lib/uniconv.h: New file.
57972
57973 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
57974
57975         * doc/gnulib-tool.texi (Initial import): Update to match current
57976         behavior with strdup module.
57977         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
57978         * lib/memmem.h: Remove; all uses removed.  This is now done
57979         by <string.h>.
57980         * lib/mempcpy.h: Likewise.
57981         * lib/memrchr.h: Likewise.
57982         * lib/stpcpy.h: Likewise.
57983         * lib/stpncpy.h: Likewise.
57984         * lib/strcase.h: Likewise.
57985         * lib/strchrnul.h: Likewise.
57986         * lib/strdup.h: Likewise.
57987         * lib/strndup.h: Likewise.
57988         * lib/strnlen.h: Likewise.
57989         * lib/strpbrk.h: Likewise.
57990         * lib/strsep.h: Likewise.
57991         * lib/strstr.h: Likewise.
57992         * lib/strtok_r.h: Likewise.
57993         * lib/string_.h: New file.
57994         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
57995         Rely on <string.h> instead.
57996         * lib/canon-host.c: Likewise.
57997         * lib/chdir-long.c: Likewise.
57998         * lib/concatpath.c: Likewise.
57999         * lib/exclude.c: Likewise.
58000         * lib/fchdir.c: Likewise.
58001         * lib/getaddrinfo.c: Likewise.
58002         * lib/getcwd.c: Likewise.
58003         * lib/getsubopt.c: Likewise.
58004         * lib/glob.c: Likewise.
58005         * lib/hard-locale.c: Likewise.
58006         * lib/iconvme.c: Likewise.
58007         * lib/javacomp.c: Likewise.
58008         * lib/mempcpy.c: Likewise.
58009         * lib/memrchr.c: Likewise.
58010         * lib/regex_internal.h: Likewise.
58011         * lib/stpncpy.c: Likewise.
58012         * lib/strcasecmp.c: Likewise.
58013         * lib/strchrnul.c: Likewise.
58014         * lib/strdup.c: Likewise.
58015         * lib/striconv.c: Likewise.
58016         * lib/striconveh.c: Likewise.
58017         * lib/striconveha.c: Likewise.
58018         * lib/strncasecmp.c: Likewise.
58019         * lib/strndup.c: Likewise.
58020         * lib/strnlen.c: Likewise.
58021         * lib/strsep.c: Likewise.
58022         * lib/strstr.c: Likewise.
58023         * lib/strtok_r.c: Likewise.
58024         * lib/userspec.c: Likewise.
58025         * lib/w32spawn.h: Likewise.
58026         * lib/xstrndup.c: Likewise.
58027         * lib/mountlist.c (strstr): Remove decl.
58028         * m4/string_h.m4: New file.
58029         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
58030         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
58031         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
58032         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
58033         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
58034         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
58035         Set REPLACE_STRCASECMP if necessary.
58036         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
58037         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
58038         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
58039         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
58040         HAVE_DECL_STRDUP if necessary.
58041         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
58042         since gl_FUNC_STRNDUP does that now.
58043         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
58044         Check for decl here...
58045         (gl_PREREQ_STRNLEN): ... not here.
58046         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
58047         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
58048         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
58049         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
58050         necessary.
58051         * modules/string: New file.
58052         * modules/memmem (Files): Remove special-purpose include file.
58053         (Depends-on): Add string.
58054         (Include): Include <string.h>, not the removed file.
58055         * modules/mempcpy: Likewise.
58056         * modules/memrchr: Likewise.
58057         * modules/stpcpy: Likewise.
58058         * modules/stpncpy: Likewise.
58059         * modules/strcase: Likewise.
58060         * modules/strchrnul: Likewise.
58061         * modules/strdup: Likewise.
58062         * modules/strndup: Likewise.
58063         * modules/strnlen: Likewise.
58064         * modules/strpbrk: Likewise.
58065         * modules/strsep: Likewise.
58066         * modules/strstr: Likewise.
58067         * modules/strtok_r: Likewise.
58068         * tests/test-dirname.c: Don't include "strdup.h", since
58069         <string.h> now suffices.
58070         * tests/test-memmem.c: Don't include "memmem.h", since
58071         <string.h> now suffices.
58072
58073 2007-01-25  Bruno Haible  <bruno@clisp.org>
58074
58075         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
58076         *resultp is 0.
58077
58078         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
58079         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
58080         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
58081         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
58082
58083         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
58084         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
58085         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
58086         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
58087         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
58088         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
58089
58090 2007-01-24  Bruno Haible  <bruno@clisp.org>
58091
58092         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
58093         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
58094         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
58095         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
58096         gl_FUNC_FTS_CORE.
58097         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
58098         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
58099         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
58100         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
58101         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
58102         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
58103         gl_FUNC_FCHOWNAT.
58104         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
58105         gl_FUNC_STRFTIME.
58106         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
58107         Reported by Ralf Wildenhues.
58108
58109 2007-01-24  Bruno Haible  <bruno@clisp.org>
58110
58111         Drop AC_REQUIRE calls that are redundant with the module dependencies.
58112         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
58113         gl_GETADDRINFO.
58114         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
58115         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
58116         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
58117
58118 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
58119
58120         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
58121         Don't use 'exit'; just return from 'main'.
58122         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
58123
58124         * lib/fnmatch_.h: Readjust white space and comments to match
58125         glibc, to avoid spurious diffs.
58126
58127 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
58128
58129         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
58130         2004-12-01 change by Jakub Jelinek, since this code won't compile
58131         if !LIBC.  Problem reported by Bob Proulx.
58132
58133 2007-01-23  Bruno Haible  <bruno@clisp.org>
58134
58135         * lib/striconveh.c: Include c-strcaseeq.h.
58136         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
58137         * modules/striconveh (Depends-on): Add c-strcaseeq.
58138
58139 2007-01-23  Bruno Haible  <bruno@clisp.org>
58140
58141         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
58142
58143         * modules/c-strcaseeq: New file.
58144         * lib/c-strcaseeq.h: New file.
58145
58146         * modules/streq: New file.
58147         * lib/streq.h: New file.
58148
58149 2007-01-23  Bruno Haible  <bruno@clisp.org>
58150
58151         * modules/striconveha-tests: New file.
58152         * tests/test-striconveha.c: New file.
58153
58154         * lib/striconveha.h: Include <stdbool.h>.
58155         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
58156         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
58157         (mem_iconveha_notranslit): Renamed from mem_iconveha.
58158         (mem_iconveha): New function.
58159         (str_iconveha_notranslit): Renamed from str_iconveha.
58160         (str_iconveha): New function.
58161         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
58162         c-strcase.
58163
58164 2007-01-23  Bruno Haible  <bruno@clisp.org>
58165
58166         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
58167         encodings without forgiving before trying any encoding with handler.
58168         (str_iconveha): Try all encodings without forgiving before trying any
58169         encoding with handler.
58170
58171 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
58172
58173         Import the following changes from libc.
58174
58175         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
58176
58177         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
58178
58179         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
58180
58181         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
58182         normal_bracket label.
58183
58184         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
58185
58186         [BZ #361]
58187         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
58188         to normal_bracket after fetching the next character.
58189
58190 2007-01-22  Bruno Haible  <bruno@clisp.org>
58191
58192         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
58193         argument.
58194         * lib/striconveh.c (iconv_carefully_1): New function.
58195         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
58196         argument.
58197         (str_cd_iconveh): Update.
58198         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
58199         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
58200         * tests/test-striconveh.c (MAGIC): New macro.
58201         (new_offsets): New function.
58202         (main): Test call with and without offsets.
58203
58204 2007-01-22  Bruno Haible  <bruno@clisp.org>
58205
58206         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
58207         * modules/sys_select (Makefile.am): Likewise.
58208         * modules/sys_socket (Makefile.am): Likewise.
58209         * modules/sys_time (Makefile.am): Likewise.
58210
58211 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
58212
58213         * modules/gettimeofday (License): Change from GPL to LGPL, since
58214         gettimeofday is a library function.
58215
58216 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
58217
58218         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
58219
58220 2007-01-21  Bruno Haible  <bruno@clisp.org>
58221
58222         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
58223
58224 2007-01-21  Bruno Haible  <bruno@clisp.org>
58225
58226         * modules/striconveha: New file.
58227         * lib/striconveha.h: New file.
58228         * lib/striconveha.c: New file.
58229         * MODULES.html.sh (Internationalization functions): Add striconveha.
58230         * lib/striconv.c (str_iconv): Optimize the case of an empty input
58231         string.
58232         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
58233
58234 2007-01-21  Bruno Haible  <bruno@clisp.org>
58235
58236         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
58237         * lib/striconveh.c (str_iconveh): Likewise.
58238
58239 2007-01-21  Bruno Haible  <bruno@clisp.org>
58240
58241         * lib/striconveh.h (mem_iconveh): New declaration.
58242         * lib/striconveh.c (mem_iconveh): New function.
58243         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
58244
58245 2007-01-21  Bruno Haible  <bruno@clisp.org>
58246
58247         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
58248
58249         * lib/striconveh.h (mem_cd_iconveh): Change specification.
58250         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
58251         original result buffer.
58252         (str_cd_iconveh): Update.
58253         * tests/test-striconveh.c (main): Update.
58254
58255         * lib/striconv.h (mem_cd_iconv): Change specification.
58256         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
58257         result buffer.
58258         (str_cd_iconv): Update.
58259         * tests/test-striconv.c (main): Update.
58260
58261 2007-01-21  Bruno Haible  <bruno@clisp.org>
58262
58263         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
58264
58265 2007-01-20  Jim Meyering  <jim@meyering.net>
58266
58267         * lib/userspec.c (parse_with_separator): If a user or group string
58268         starts with "+", skip the corresponding name-to-ID look-up, since
58269         such a look-up must fail: user and group names may not include "+".
58270
58271 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
58272
58273         * lib/poll.c: Include sys/time.h and time.h unconditionally,
58274         since we now assume the sys_time module.
58275         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
58276         check for sys/time.h; no longer needed.
58277         * modules/poll (Depends-on): Depend on sys_time.
58278
58279 2007-01-18  Bruno Haible  <bruno@clisp.org>
58280
58281         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
58282         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
58283
58284         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
58285         gettimeofday.
58286
58287         * tests/test-gettimeofday.c: Include <time.h>.
58288         (dummy): Remove variable.
58289
58290         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
58291         gl_HEADER_SYS_TIME_H.
58292         (gl_HEADER_SYS_TIME_H): New macro.
58293
58294         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
58295         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
58296         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
58297         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
58298         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
58299         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
58300         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
58301         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
58302         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
58303         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
58304         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
58305
58306         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
58307         last change; it caused a compilation error when cross-compiling to
58308         Cygwin.
58309
58310 2007-01-18  Jim Meyering  <jim@meyering.net>
58311
58312         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
58313         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
58314         than the race-prone "test -d sys || mkdir sys".
58315         (configure.ac): Use AC_PROG_MKDIR_P.
58316         * modules/sys_select: Likewise.
58317         * modules/sys_socket: Likewise.
58318         * modules/sys_time: Likewise.
58319
58320 2007-01-18  Eric Blake  <ebb9@byu.net>
58321
58322         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
58323         replace gettimeofday.
58324         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
58325         name, to avoid infinite recursion.
58326
58327 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
58328
58329         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
58330         module sys_time.
58331         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
58332         assume timespec.h defines struct timeval.
58333         * lib/settime.c: Likewise.
58334         * lib/utimens.c: Likewise.
58335         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
58336         since we now assume the gettimeofday module.
58337         * lib/tempname.c (__gen_tempname): Likewise.
58338         * lib/gettimeofday.h: Remove.
58339         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
58340         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
58341         Include <time.h>, for 'time()'.
58342         (localtime_buffer_addr): Also use this workaround if
58343         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
58344         to simplify the uses.  All uses changed.
58345         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
58346         that #undef is inside {}, and 'const' follows type name consistently.
58347         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
58348         (gettimeofday): Do not use the maximum possible value for
58349         tv->tv_usec, since that might break usages other than ls.c.
58350         Instead, we'll leave ls.c alone.  This undoes today's patch
58351         by Bruno.  Add a compile-time warning for 1s-clock resolution;
58352         we've never observed the problem but might as well keep the
58353         canary.
58354         * lib/nanosleep.c: Include timespec.h first, for interface check.
58355         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
58356         now assume the sys_time module.
58357         * lib/tempname.c: Likewise.
58358         * lib/timespec.h: Likewise.
58359         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
58360         needed.
58361         * lib/strftime.c: Likewise.
58362         * lib/timespec.h: Likewise.
58363         * lib/posixtm.c: Include posixtm.h first, for interface check.
58364         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
58365         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
58366         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
58367         * lib/sys_time_.h: New file.
58368         * lib/timespec.h (struct timespec): Use long int, not long.
58369         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
58370         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
58371         Remove obsolescent call to AC_HEADER_TIME.
58372         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
58373         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
58374         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
58375         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
58376         Likewise.
58377         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
58378         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
58379         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
58380         into the sys_time module.  Check for gettimeofday just once.
58381         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
58382         for gettimeofday signature to just check the signature.  Merely
58383         compile it, since linking doesn't test signature.  Improve test for
58384         whether gettimeofday.o is actually needed.
58385         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
58386         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
58387         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
58388         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
58389         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
58390         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
58391         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
58392         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
58393         than worrying about sys/time.h.
58394         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
58395         Don't bother worrying about TIME_WITH_SYS_TIME.
58396         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
58397         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
58398         * m4/sys_time_h.m4: New file.
58399         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
58400         Don't include sys/time.h.  Return from main rather than exiting.
58401         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
58402         all uses changed.
58403         * modules/gethrxtime (Depends-on): Add sys_time.
58404         * modules/gettime (Depends-on): Likewise.
58405         * modules/gettimeofday (Depends-on): Likewise.
58406         * modules/nanosleep (Depends-on): Likewise.
58407         * modules/settime (Depends-on): Likewise.
58408         * modules/tempname (Depends-on): Likewise.
58409         * modules/utimens (Depends-on): Likewise.
58410         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
58411         (Include): Change back to <sys/time.h>.
58412         (Maintainer): Add self.
58413         * modules/sys_time: New file.
58414         * modules/tempname (Depends-on): Add gettimeofday.
58415         * tests/test-gettimeofday.c: Include <sys/time.h>
58416         rather than gettimeofday.h.
58417
58418 2007-01-17  Bruno Haible  <bruno@clisp.org>
58419
58420         * gnulib-tool (func_get_license): Revert last patch. Instead, let
58421         the license default to GPL.
58422         (func_create_testdir): Don't complain if a module is LGPL and its
58423         tests module depends on GPLed modules.
58424
58425 2007-01-17  Bruno Haible  <bruno@clisp.org>
58426
58427         * lib/gettimeofday.c (gettimeofday): Add code for the case
58428         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
58429         maximum possible value for tv->tv_usec, rather than the minimum one.
58430
58431 2005-10-08  Martin Lambers  <marlam@marlam.de>
58432 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
58433 2007-01-16  Bruno Haible  <bruno@clisp.org>
58434
58435         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
58436         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
58437         gl_FUNC_GETTIMEOFDAY.
58438         (Include): Add gettimeofday.h.
58439         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
58440         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
58441         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
58442         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
58443         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
58444         * lib/gettimeofday.h: New file.
58445         * lib/gettimeofday.c: Include <sys/timeb.h>.
58446         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
58447         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
58448         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
58449         fall back on time().
58450
58451         * tests/test-gettimeofday.c: New file.
58452         * modules/gettimeofday-tests: New file.
58453
58454 2007-01-16  Eric Blake  <ebb9@byu.net>
58455
58456         * modules/fnmatch (Depends-on): Depend on wchar.
58457         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
58458         * m4/fnmatch.m4: Likewise.
58459         * modules/mbchar (Makefile.am): Assume <wchar.h>.
58460         * m4/mbchar.m4: Likewise.
58461         * modules/mbswidth (Depends-on): Depend on wchar.
58462         * lib/mbswidth.c: Assume <wchar.h>.
58463         * m4/mbswidth.m4: Likewise.
58464         * modules/quotearg (Depends-on): Depend on wchar.
58465         * lib/quotearg.c: Assume <wchar.h>.
58466         * m4/quotearg.m4: Likewise.
58467         * modules/regex (Depends-on): Depend on wchar.
58468         * lib/regex_internal.h: Assume <wchar.h>.
58469         * m4/regex.m4: Likewise.
58470         * modules/stdint (Depends-on): Depend on wchar.
58471         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
58472         * m4/stdint.m4: Likewise.
58473         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
58474         * modules/strftime (Depends-on): Depend on wchar.
58475         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
58476         * modules/strtol (Depends-on): Depend on wchar.
58477         * lib/strtol.c: Assume <wchar.h>.
58478         * modules/wcwidth (Depends-on): Depend on wchar.
58479         * lib/wcwidth.h: Assume <wchar.h>.
58480         * m4/wcwidth.m4: Likewise.
58481
58482 2007-01-16  Bruno Haible  <bruno@clisp.org>
58483
58484         * modules/csharpexec-script: New, created from...
58485         * modules/csharpexec: ... this.
58486
58487 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
58488
58489         * modules/javaexec-script: New, created from...
58490         * modules/javaexec: ... this.
58491
58492 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
58493
58494         * modules/poll (Dependencies): Add sys_select.
58495
58496 2007-01-15  Jim Meyering  <jim@meyering.net>
58497
58498         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
58499         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
58500         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
58501         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
58502
58503 2007-01-15  Bruno Haible  <bruno@clisp.org>
58504
58505         * modules/striconveh: New file.
58506         * lib/striconveh.h: New file.
58507         * lib/striconveh.c: New file.
58508         * MODULES.html.sh (Internationalization functions): Add striconveh.
58509
58510         * modules/striconveh-tests: New file.
58511         * tests/test-striconveh.c: New file.
58512
58513 2007-01-15  Bruno Haible  <bruno@clisp.org>
58514
58515         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
58516         not from GNU libiconv or GNU libc.
58517
58518 2007-01-15  Bruno Haible  <bruno@clisp.org>
58519
58520         * doc/gnulib-intro.texi (Copyright): Explain the different license
58521         terms for module descriptions, autoconf macros, tests, documentation.
58522
58523 2007-01-14  Bruno Haible  <bruno@clisp.org>
58524
58525         * modules/striconv-tests: New file.
58526         * tests/test-striconv.c: New file.
58527
58528 2007-01-14  Bruno Haible  <bruno@clisp.org>
58529
58530         * modules/iconv-tests: New file.
58531         * tests/test-iconv.c: New file.
58532
58533 2007-01-14  Bruno Haible  <bruno@clisp.org>
58534
58535         * gnulib-tool (func_get_license): For test modules, use the license of
58536         the main module.
58537
58538 2007-01-14  Bruno Haible  <bruno@clisp.org>
58539
58540         * modules/iconv (Include): Clarify that <iconv.h> can only be included
58541         if iconv is found to exist.
58542
58543 2007-01-14  Bruno Haible  <bruno@clisp.org>
58544
58545         * modules/c-ctype-tests: New file.
58546         * tests/test-c-ctype.c: New file.
58547
58548 2007-01-14  Bruno Haible  <bruno@clisp.org>
58549
58550         * modules/binary-io-tests: New file.
58551         * tests/test-binary-io.sh: New file.
58552         * tests/test-binary-io.c: New file.
58553
58554 2007-01-14  Bruno Haible  <bruno@clisp.org>
58555
58556         * modules/array-oset-tests: New file.
58557         * tests/test-array_oset.c: New file.
58558
58559 2007-01-14  Bruno Haible  <bruno@clisp.org>
58560
58561         * modules/array-list-tests: New file.
58562         * tests/test-array_list.c: New file.
58563
58564 2007-01-14  Bruno Haible  <bruno@clisp.org>
58565
58566         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
58567         and make.
58568         Reported by Simon Josefsson in
58569         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
58570
58571 2007-01-14  Bruno Haible  <bruno@clisp.org>
58572
58573         * modules/allocsa-tests: New file.
58574         * tests/test-allocsa.c: New file.
58575
58576 2007-01-14  Bruno Haible  <bruno@clisp.org>
58577
58578         * modules/fchdir (Depends-on): Add absolute-header.
58579         * modules/unistd (Depends-on): Likewise.
58580
58581 2006-12-30  Bruno Haible  <bruno@clisp.org>
58582
58583         * modules/fchdir: New file.
58584         * modules/unistd (Files): Add lib/unistd_.h.
58585         (Makefile.am): Generate unistd.h from unistd_.h.
58586         * lib/fchdir.c: New file.
58587         * lib/dirent_.h: New file.
58588         * lib/unistd_.h: New file.
58589         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
58590         * m4/fchdir.m4: New file.
58591         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
58592         (gl_HEADER_UNISTD): Invoke it.
58593         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
58594         function.
58595         * lib/backupfile.c (opendir, closedir): Undefine.
58596         * lib/chown.c (open, close): Undefine.
58597         * lib/clean-temp.c (open, close): Undefine.
58598         * lib/copy-file.c (open, close): Undefine.
58599         * lib/execute.c (open, close): Undefine.
58600         * lib/fsusage.c (open, close): Undefine.
58601         * lib/gc-gnulib.c (open, close): Undefine.
58602         * lib/getcwd.c (opendir, closedir): Undefine.
58603         * lib/glob.c (opendir, closedir): Undefine.
58604         * lib/javacomp.c (open, close): Undefine.
58605         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
58606         * lib/openat-proc.c (open, close): Undefine.
58607         * lib/pagealign_alloc.c (open, close): Undefine.
58608         * lib/pipe.c (open, close): Undefine.
58609         * lib/progreloc.c (open, close): Undefine.
58610         * lib/savedir.c (opendir, closedir): Undefine.
58611         * lib/utime.c (open, close): Undefine.
58612         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
58613
58614 2007-01-10  Bruno Haible  <bruno@clisp.org>
58615
58616         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
58617
58618 2007-01-12  Eric Blake  <ebb9@byu.net>
58619
58620         Provide a robust <wchar.h>.  Further simplifications are now
58621         possible in other modules, but not included here.
58622         * modules/wchar: New module.
58623         * m4/wchar.m4: New file.
58624         * lib/wchar_.h: Likewise.
58625         * modules/mbchar (Depends-on): Depend on wchar, as the first use
58626         of the new module.
58627         * MODULES.html.sh (Extended multibyte and wide character utilities):
58628         New section.
58629
58630 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
58631
58632         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
58633         to a reasonable default for memory allocation.
58634         (xreadlink): Don't allocate a huge buffer, to work around a buggy
58635         file system that reports garbage st_size values for symlinks.
58636         Problem reported by Liyang Hu.
58637
58638 2007-01-11  Simon Josefsson  <simon@josefsson.org>
58639
58640         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
58641         Emacs .#* auto-save files).
58642
58643 2007-01-11  Bruno Haible  <bruno@clisp.org>
58644
58645         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
58646         directory.
58647
58648 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
58649
58650         Use @...@ consistently in lib/wctype_.h.
58651         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
58652         on it being set to 1 or 0.
58653         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
58654         go back to AC_SUBSTing it.
58655         * modules/wctype (Makefile.am): Undo previous change.
58656
58657 2007-01-10  Eric Blake  <ebb9@byu.net>
58658
58659         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
58660         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
58661         * modules/wctype (Makefile.am): Likewise.
58662         Reported by Chris McGuire.
58663
58664 2007-01-10  Jim Meyering  <jim@meyering.net>
58665
58666         fts.c: a small readability/maintainability improvement
58667         * lib/fts.c (fts_read): Make this code slightly more readable and
58668         maintainable by hoisting the "sp->fts_cur = p" assignments to
58669         immediately follow the statements that set P.  Derived from
58670         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
58671
58672 2007-01-10  Eric Blake  <ebb9@byu.net>
58673
58674         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
58675         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
58676         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
58677         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
58678         Reported by Chris McGuire.
58679
58680 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58681
58682         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
58683         in sed script.
58684
58685 2007-01-09  Bruno Haible  <bruno@clisp.org>
58686
58687         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
58688         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
58689         variables.
58690         (func_module): Use them.
58691
58692 2007-01-09  Bruno Haible  <bruno@clisp.org>
58693
58694         * modules/unistr/base: New file.
58695         * lib/unistr.h: New file.
58696
58697         * modules/unistr/u8-to-u16: New file.
58698         * lib/unistr/u8-to-u16.c: New file.
58699
58700         * modules/unistr/u8-to-u32: New file.
58701         * lib/unistr/u8-to-u32.c: New file.
58702
58703         * modules/unistr/u16-to-u8: New file.
58704         * lib/unistr/u16-to-u8.c: New file.
58705
58706         * modules/unistr/u16-to-u32: New file.
58707         * lib/unistr/u16-to-u32.c: New file.
58708
58709         * modules/unistr/u32-to-u8: New file.
58710         * lib/unistr/u32-to-u8.c: New file.
58711
58712         * modules/unistr/u32-to-u16: New file.
58713         * lib/unistr/u32-to-u16.c: New file.
58714
58715         * modules/unistr/u8-check: New file.
58716         * modules/unistr/u16-check: New file.
58717         * modules/unistr/u32-check: New file.
58718         * lib/unistr/u8-check.c: New file.
58719         * lib/unistr/u16-check.c: New file.
58720         * lib/unistr/u32-check.c: New file.
58721
58722         * modules/unistr/u8-chr: New file.
58723         * modules/unistr/u16-chr: New file.
58724         * modules/unistr/u32-chr: New file.
58725         * lib/unistr/u8-chr.c: New file.
58726         * lib/unistr/u16-chr.c: New file.
58727         * lib/unistr/u32-chr.c: New file.
58728
58729         * modules/unistr/u8-cmp: New file.
58730         * modules/unistr/u16-cmp: New file.
58731         * modules/unistr/u32-cmp: New file.
58732         * lib/unistr/u8-cmp.c: New file.
58733         * lib/unistr/u16-cmp.c: New file.
58734         * lib/unistr/u32-cmp.c: New file.
58735
58736         * modules/unistr/u8-cpy: New file.
58737         * modules/unistr/u16-cpy: New file.
58738         * modules/unistr/u32-cpy: New file.
58739         * lib/unistr/u8-cpy.c: New file.
58740         * lib/unistr/u16-cpy.c: New file.
58741         * lib/unistr/u32-cpy.c: New file.
58742         * lib/unistr/u-cpy.h: New file.
58743
58744         * modules/unistr/u8-cpy-alloc: New file.
58745         * modules/unistr/u16-cpy-alloc: New file.
58746         * modules/unistr/u32-cpy-alloc: New file.
58747         * lib/unistr/u8-cpy-alloc.c: New file.
58748         * lib/unistr/u16-cpy-alloc.c: New file.
58749         * lib/unistr/u32-cpy-alloc.c: New file.
58750         * lib/unistr/u-cpy-alloc.h: New file.
58751
58752         * modules/unistr/u8-endswith: New file.
58753         * modules/unistr/u16-endswith: New file.
58754         * modules/unistr/u32-endswith: New file.
58755         * lib/unistr/u8-endswith.c: New file.
58756         * lib/unistr/u16-endswith.c: New file.
58757         * lib/unistr/u32-endswith.c: New file.
58758         * lib/unistr/u-endswith.h: New file.
58759
58760         * modules/unistr/u8-mblen: New file.
58761         * modules/unistr/u16-mblen: New file.
58762         * modules/unistr/u32-mblen: New file.
58763         * lib/unistr/u8-mblen.c: New file.
58764         * lib/unistr/u16-mblen.c: New file.
58765         * lib/unistr/u32-mblen.c: New file.
58766
58767         * modules/unistr/u8-mbtouc: New file.
58768         * modules/unistr/u16-mbtouc: New file.
58769         * modules/unistr/u32-mbtouc: New file.
58770         * lib/unistr/u8-mbtouc.c: New file.
58771         * lib/unistr/u16-mbtouc.c: New file.
58772         * lib/unistr/u32-mbtouc.c: New file.
58773
58774         * modules/unistr/u8-mbtouc-safe: New file.
58775         * modules/unistr/u16-mbtouc-safe: New file.
58776         * modules/unistr/u32-mbtouc-safe: New file.
58777         * lib/unistr/u8-mbtouc-safe.c: New file.
58778         * lib/unistr/u16-mbtouc-safe.c: New file.
58779         * lib/unistr/u32-mbtouc-safe.c: New file.
58780
58781         * modules/unistr/u8-move: New file.
58782         * modules/unistr/u16-move: New file.
58783         * modules/unistr/u32-move: New file.
58784         * lib/unistr/u8-move.c: New file.
58785         * lib/unistr/u16-move.c: New file.
58786         * lib/unistr/u32-move.c: New file.
58787         * lib/unistr/u-move.h: New file.
58788
58789         * modules/unistr/u8-next: New file.
58790         * modules/unistr/u16-next: New file.
58791         * modules/unistr/u32-next: New file.
58792         * lib/unistr/u8-next.c: New file.
58793         * lib/unistr/u16-next.c: New file.
58794         * lib/unistr/u32-next.c: New file.
58795
58796         * modules/unistr/u8-prev: New file.
58797         * modules/unistr/u16-prev: New file.
58798         * modules/unistr/u32-prev: New file.
58799         * lib/unistr/u8-prev.c: New file.
58800         * lib/unistr/u16-prev.c: New file.
58801         * lib/unistr/u32-prev.c: New file.
58802
58803         * modules/unistr/u8-set: New file.
58804         * modules/unistr/u16-set: New file.
58805         * modules/unistr/u32-set: New file.
58806         * lib/unistr/u8-set.c: New file.
58807         * lib/unistr/u16-set.c: New file.
58808         * lib/unistr/u32-set.c: New file.
58809         * lib/unistr/u-set.h: New file.
58810
58811         * modules/unistr/u8-startswith: New file.
58812         * modules/unistr/u16-startswith: New file.
58813         * modules/unistr/u32-startswith: New file.
58814         * lib/unistr/u8-startswith.c: New file.
58815         * lib/unistr/u16-startswith.c: New file.
58816         * lib/unistr/u32-startswith.c: New file.
58817         * lib/unistr/u-startswith.h: New file.
58818
58819         * modules/unistr/u8-stpcpy: New file.
58820         * modules/unistr/u16-stpcpy: New file.
58821         * modules/unistr/u32-stpcpy: New file.
58822         * lib/unistr/u8-stpcpy.c: New file.
58823         * lib/unistr/u16-stpcpy.c: New file.
58824         * lib/unistr/u32-stpcpy.c: New file.
58825         * lib/unistr/u-stpcpy.h: New file.
58826
58827         * modules/unistr/u8-stpncpy: New file.
58828         * modules/unistr/u16-stpncpy: New file.
58829         * modules/unistr/u32-stpncpy: New file.
58830         * lib/unistr/u8-stpncpy.c: New file.
58831         * lib/unistr/u16-stpncpy.c: New file.
58832         * lib/unistr/u32-stpncpy.c: New file.
58833         * lib/unistr/u-stpncpy.h: New file.
58834
58835         * modules/unistr/u8-strcat: New file.
58836         * modules/unistr/u16-strcat: New file.
58837         * modules/unistr/u32-strcat: New file.
58838         * lib/unistr/u8-strcat.c: New file.
58839         * lib/unistr/u16-strcat.c: New file.
58840         * lib/unistr/u32-strcat.c: New file.
58841         * lib/unistr/u-strcat.h: New file.
58842
58843         * modules/unistr/u8-strchr: New file.
58844         * modules/unistr/u16-strchr: New file.
58845         * modules/unistr/u32-strchr: New file.
58846         * lib/unistr/u8-strchr.c: New file.
58847         * lib/unistr/u16-strchr.c: New file.
58848         * lib/unistr/u32-strchr.c: New file.
58849
58850         * modules/unistr/u8-strcmp: New file.
58851         * modules/unistr/u16-strcmp: New file.
58852         * modules/unistr/u32-strcmp: New file.
58853         * lib/unistr/u8-strcmp.c: New file.
58854         * lib/unistr/u16-strcmp.c: New file.
58855         * lib/unistr/u32-strcmp.c: New file.
58856
58857         * modules/unistr/u8-strcpy: New file.
58858         * modules/unistr/u16-strcpy: New file.
58859         * modules/unistr/u32-strcpy: New file.
58860         * lib/unistr/u8-strcpy.c: New file.
58861         * lib/unistr/u16-strcpy.c: New file.
58862         * lib/unistr/u32-strcpy.c: New file.
58863         * lib/unistr/u-strcpy.h: New file.
58864
58865         * modules/unistr/u8-strcspn: New file.
58866         * modules/unistr/u16-strcspn: New file.
58867         * modules/unistr/u32-strcspn: New file.
58868         * lib/unistr/u8-strcspn.c: New file.
58869         * lib/unistr/u16-strcspn.c: New file.
58870         * lib/unistr/u32-strcspn.c: New file.
58871         * lib/unistr/u-strcspn.h: New file.
58872
58873         * modules/unistr/u8-strdup: New file.
58874         * modules/unistr/u16-strdup: New file.
58875         * modules/unistr/u32-strdup: New file.
58876         * lib/unistr/u8-strdup.c: New file.
58877         * lib/unistr/u16-strdup.c: New file.
58878         * lib/unistr/u32-strdup.c: New file.
58879         * lib/unistr/u-strdup.h: New file.
58880
58881         * modules/unistr/u8-strlen: New file.
58882         * modules/unistr/u16-strlen: New file.
58883         * modules/unistr/u32-strlen: New file.
58884         * lib/unistr/u8-strlen.c: New file.
58885         * lib/unistr/u16-strlen.c: New file.
58886         * lib/unistr/u32-strlen.c: New file.
58887         * lib/unistr/u-strlen.h: New file.
58888
58889         * modules/unistr/u8-strmblen: New file.
58890         * modules/unistr/u16-strmblen: New file.
58891         * modules/unistr/u32-strmblen: New file.
58892         * lib/unistr/u8-strmblen.c: New file.
58893         * lib/unistr/u16-strmblen.c: New file.
58894         * lib/unistr/u32-strmblen.c: New file.
58895
58896         * modules/unistr/u8-strmbtouc: New file.
58897         * modules/unistr/u16-strmbtouc: New file.
58898         * modules/unistr/u32-strmbtouc: New file.
58899         * lib/unistr/u8-strmbtouc.c: New file.
58900         * lib/unistr/u16-strmbtouc.c: New file.
58901         * lib/unistr/u32-strmbtouc.c: New file.
58902
58903         * modules/unistr/u8-strncat: New file.
58904         * modules/unistr/u16-strncat: New file.
58905         * modules/unistr/u32-strncat: New file.
58906         * lib/unistr/u8-strncat.c: New file.
58907         * lib/unistr/u16-strncat.c: New file.
58908         * lib/unistr/u32-strncat.c: New file.
58909         * lib/unistr/u-strncat.h: New file.
58910
58911         * modules/unistr/u8-strncmp: New file.
58912         * modules/unistr/u16-strncmp: New file.
58913         * modules/unistr/u32-strncmp: New file.
58914         * lib/unistr/u8-strncmp.c: New file.
58915         * lib/unistr/u16-strncmp.c: New file.
58916         * lib/unistr/u32-strncmp.c: New file.
58917
58918         * modules/unistr/u8-strncpy: New file.
58919         * modules/unistr/u16-strncpy: New file.
58920         * modules/unistr/u32-strncpy: New file.
58921         * lib/unistr/u8-strncpy.c: New file.
58922         * lib/unistr/u16-strncpy.c: New file.
58923         * lib/unistr/u32-strncpy.c: New file.
58924         * lib/unistr/u-strncpy.h: New file.
58925
58926         * modules/unistr/u8-strnlen: New file.
58927         * modules/unistr/u16-strnlen: New file.
58928         * modules/unistr/u32-strnlen: New file.
58929         * lib/unistr/u8-strnlen.c: New file.
58930         * lib/unistr/u16-strnlen.c: New file.
58931         * lib/unistr/u32-strnlen.c: New file.
58932         * lib/unistr/u-strnlen.h: New file.
58933
58934         * modules/unistr/u8-strpbrk: New file.
58935         * modules/unistr/u16-strpbrk: New file.
58936         * modules/unistr/u32-strpbrk: New file.
58937         * lib/unistr/u8-strpbrk.c: New file.
58938         * lib/unistr/u16-strpbrk.c: New file.
58939         * lib/unistr/u32-strpbrk.c: New file.
58940         * lib/unistr/u-strpbrk.h: New file.
58941
58942         * modules/unistr/u8-strrchr: New file.
58943         * modules/unistr/u16-strrchr: New file.
58944         * modules/unistr/u32-strrchr: New file.
58945         * lib/unistr/u8-strrchr.c: New file.
58946         * lib/unistr/u16-strrchr.c: New file.
58947         * lib/unistr/u32-strrchr.c: New file.
58948
58949         * modules/unistr/u8-strspn: New file.
58950         * modules/unistr/u16-strspn: New file.
58951         * modules/unistr/u32-strspn: New file.
58952         * lib/unistr/u8-strspn.c: New file.
58953         * lib/unistr/u16-strspn.c: New file.
58954         * lib/unistr/u32-strspn.c: New file.
58955         * lib/unistr/u-strspn.h: New file.
58956
58957         * modules/unistr/u8-strstr: New file.
58958         * modules/unistr/u16-strstr: New file.
58959         * modules/unistr/u32-strstr: New file.
58960         * lib/unistr/u8-strstr.c: New file.
58961         * lib/unistr/u16-strstr.c: New file.
58962         * lib/unistr/u32-strstr.c: New file.
58963         * lib/unistr/u-strstr.h: New file.
58964
58965         * modules/unistr/u8-strtok: New file.
58966         * modules/unistr/u16-strtok: New file.
58967         * modules/unistr/u32-strtok: New file.
58968         * lib/unistr/u8-strtok.c: New file.
58969         * lib/unistr/u16-strtok.c: New file.
58970         * lib/unistr/u32-strtok.c: New file.
58971         * lib/unistr/u-strtok.h: New file.
58972
58973         * modules/unistr/u8-uctomb: New file.
58974         * modules/unistr/u16-uctomb: New file.
58975         * modules/unistr/u32-uctomb: New file.
58976         * lib/unistr/u8-uctomb.c: New file.
58977         * lib/unistr/u16-uctomb.c: New file.
58978         * lib/unistr/u32-uctomb.c: New file.
58979
58980         * MODULES.html.sh (Unicode string functions): Add the new modules.
58981
58982 2007-01-08  Bruno Haible  <bruno@clisp.org>
58983
58984         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
58985         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
58986         subdirectories.
58987
58988 2007-01-08  Karl Berry  <karl@gnu.org>
58989
58990         * doc/error.texi: mention that main() fns must set program_name
58991         when progname is used.
58992
58993 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
58994
58995         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
58996         WCTYPE_H is empty, for the benefit of builds from non-distclean
58997         directories.  Problem reported by Eric Blake in
58998         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
58999
59000 2007-01-08  Bruno Haible  <bruno@clisp.org>
59001
59002         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
59003         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
59004         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
59005         PROVIDE_CANONICALIZE_FILENAME_MODE.
59006         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
59007
59008 2007-01-08  Bruno Haible  <bruno@clisp.org>
59009
59010         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
59011         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
59012         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
59013         * lib/fts.c: Likewise.
59014         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
59015
59016 2006-12-25  Bruno Haible  <bruno@clisp.org>
59017
59018         * modules/utf8-ucs4-safe: New file.
59019         * lib/utf8-ucs4-safe.h: New file.
59020         * lib/unistr/utf8-ucs4-safe.c: New file.
59021
59022         * modules/utf16-ucs4-safe: New file.
59023         * lib/utf16-ucs4-safe.h: New file.
59024         * lib/unistr/utf16-ucs4-safe.c: New file.
59025
59026         * MODULES.html.sh (Unicode string functions): Add the new modules.
59027
59028 2007-01-08  Bruno Haible  <bruno@clisp.org>
59029
59030         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
59031         (Depends-on): Add unitypes.
59032         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
59033         (u8_mbtouc_aux): Move out to separate file.
59034         (u8_mbtouc): Use ucs4_t, uint8_t types.
59035         * lib/unistr/utf8-ucs4.c: New file.
59036
59037         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
59038         (Depends-on): Add unitypes.
59039         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
59040         (u16_mbtouc_aux): Move out to separate file.
59041         (u16_mbtouc): Use ucs4_t, uint16_t types.
59042         * lib/unistr/utf16-ucs4.c: New file.
59043
59044         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
59045         (Depends-on): Add unitypes.
59046         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
59047         (u8_uctomb_aux): Move out to separate file.
59048         (u8_uctomb): Use ucs4_t, uint8_t types.
59049         * lib/unistr/ucs4-utf8.c: New file.
59050
59051         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
59052         (Depends-on): Add unitypes.
59053         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
59054         (u16_uctomb_aux): Move out to separate file.
59055         (u16_uctomb): Use ucs4_t, uint16_t types.
59056         * lib/unistr/ucs4-utf16.c: New file.
59057
59058 2006-12-25  Bruno Haible  <bruno@clisp.org>
59059
59060         * modules/unitypes: New file.
59061         * lib/unitypes.h: New file.
59062         * MODULES.html.sh (func_all_modules): New section "Unicode string
59063         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
59064         this section. Add unitypes.
59065
59066 2007-01-08  Bruno Haible  <bruno@clisp.org>
59067
59068         Avoid variable names that conflict with those from libtool.
59069         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
59070         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
59071         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
59072         library_names_spec to acl_library_names_spec, hardcode_* to
59073         acl_hardcode_*.
59074         Reported by Ralf Wildenhues.
59075
59076 2007-01-08  Bruno Haible  <bruno@clisp.org>
59077
59078         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
59079         definition.
59080         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
59081         definition.
59082         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
59083         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
59084         definition.
59085         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
59086         definition.
59087         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
59088         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
59089         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
59090         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
59091         definition.
59092         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
59093         definition.
59094         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
59095         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
59096         GC_USE_<algorithm>.
59097         * lib/gc-libgcrypt.c: Likewise.
59098         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
59099         * modules/gc-arctwo (configure.ac): Likewise.
59100         * modules/gc-des (configure.ac): Likewise.
59101         * modules/gc-hmac-md5 (configure.ac): Likewise.
59102         * modules/gc-hmac-sha1 (configure.ac): Likewise.
59103         * modules/gc-md2 (configure.ac): Likewise.
59104         * modules/gc-md4 (configure.ac): Likewise.
59105         * modules/gc-md5 (configure.ac): Likewise.
59106         * modules/gc-random (configure.ac): Likewise.
59107         * modules/gc-rijndael (configure.ac): Likewise.
59108         * modules/gc-sha1 (configure.ac): Likewise.
59109
59110 2007-01-08  Bruno Haible  <bruno@clisp.org>
59111
59112         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
59113         macro definition.
59114         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
59115         definition.
59116         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
59117         definition.
59118         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
59119         * modules/fcntl-safer (configure.ac): Likewise.
59120         * modules/fopen-safer (configure.ac): Likewise.
59121         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
59122         GNULIB_FWRITEERROR macro definition.
59123
59124 2007-01-08  Bruno Haible  <bruno@clisp.org>
59125
59126         * m4/gnulib-common.m4: New file.
59127         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
59128         (func_get_filelist): Add m4/gnulib-common.m4.
59129
59130 2007-01-08  Bruno Haible  <bruno@clisp.org>
59131
59132         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
59133         command.
59134
59135 2007-01-08  Jim Meyering  <jim@meyering.net>
59136
59137         Use a more robust test for a "can't happen" condition.
59138         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
59139         narrowed the st_size value.  Presuming the "can't happen" condition
59140         is true, that narrowing could conceivably convert an invalid st_size
59141         value into a valid one.  Instead, use a change based on Matthew
59142         Woehlke's original patch.
59143
59144         Slight readability improvement: use an assert-like macro
59145         in place of literal "abort ()" uses.
59146         * lib/fts.c (fts_assert): Define.
59147         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
59148         Use this macro instead of a bare 'abort'.
59149
59150 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
59151
59152         Don't worry about using IRIX 5.3's wctype.h broken definitions;
59153         simply work around them.
59154         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
59155         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
59156         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
59157         declaring.
59158         Don't bother to define as macros, since the standard doesn't require it.
59159         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
59160         longer worry about IRIX 5.3.
59161         (HAVE_WCTYPE_CTMP_BUG): Remove.
59162
59163 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
59164
59165         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
59166         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
59167         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
59168         Problems reported by Georg Schwarz for IRIX 5.3.
59169
59170         * gnulib-tool (autoconf_minversion): Take the maximum version number
59171         found, not the minimum.  Problem reported by James Youngman.
59172
59173 2007-01-03  Karl Berry  <karl@gnu.org>
59174
59175         * doc/error.texi: new file, explaining interaction with progname.
59176         * doc/gnulib.texi: include it.  Update copyright.
59177
59178 2007-01-03  Simon Josefsson  <simon@josefsson.org>
59179
59180         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
59181         AC_CANONICAL_HOST, to improve autobuild outputs.
59182
59183 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
59184             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
59185
59186         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
59187         sockets, server sockets, and other file descriptors.  Count errors
59188         to compute the return value.  Reorder the code a bit to be easier
59189         to follow.  Don't set event bits that were not requested (except
59190         POLLERR and POLLHUP).
59191
59192 2007-01-01  Bruno Haible  <bruno@clisp.org>
59193
59194         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
59195
59196 2007-01-03  Jim Meyering  <jim@meyering.net>
59197
59198         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
59199
59200 2007-01-02  Bruno Haible  <bruno@clisp.org>
59201
59202         * modules/settime (Include): Require timespec.h.
59203         * modules/nanosleep (Include): Likewise.
59204
59205 2007-01-01  Bruno Haible  <bruno@clisp.org>
59206
59207         * gnulib-tool (func_emit_copyright_notice): Bump year.
59208         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
59209
59210 2007-01-01  Bruno Haible  <bruno@clisp.org>
59211
59212         Improve support for OpenBSD.
59213         * build-aux/config.rpath (libname_spec): Export.
59214         (library_names_spec): New variable. Export.
59215         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
59216         library_names_spec from the config.rpath output. Locate shared library
59217         through the name pattern in library_names_spec.
59218
59219 2007-01-01  Eric Blake  <ebb9@byu.net>
59220
59221         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
59222
59223 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
59224
59225         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
59226         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
59227         assume the C locale, and avoid an "eval" that could cause trouble.
59228         Problem with SORT reported by Bob Proulx.
59229
59230         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
59231         Define.  Trivial patch from Henning Nielsen Lund, originally
59232         sent to bug-grep@gnu.org today.
59233
59234 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
59235
59236         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
59237         struct stat.  Problem reported by Henning Nielsen Lund.
59238         * lib/acl.c: Include acl.h first, to check interface.  Don't
59239         bother to include sys/types.h and sys/stat.h again.
59240
59241 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
59242
59243         Import the following change from libc; problem reported by
59244         Sven Verdoolaege.
59245
59246         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
59247
59248         [BZ #1373]
59249         * lib/argp.h: Remove __NTH for __argp_usage inline function.
59250
59251 2006-12-28  Jim Meyering  <jim@meyering.net>
59252
59253         * build-aux/announce-gen: Do not assume that the package
59254         builds any of tar.gz, tar.bz2, and .xdelta files.
59255         Suggestion from Simon Josefsson.
59256
59257 2006-12-28  Simon Josefsson  <simon@josefsson.org>
59258
59259         * modules/announce-gen: New file.
59260
59261 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
59262
59263         * lib/mbchar.h: Just include <wctype.h>; the wctype module
59264         handles its gotchas now.
59265         * lib/mbswidth.c: Likewise.
59266         * lib/wcwidth.h: Likewise.
59267         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
59268         and iswcntrl; the wctype module does this stuff now.
59269         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
59270         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
59271         * modules/mbchar (Depends-on): Add wctype.
59272         * modules/mbswidth (Depends-on): Likewise.
59273         * modules/wcwidth (Depends-on): Likewise.
59274
59275 2006-12-27  Eric Blake  <ebb9@byu.net>
59276
59277         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
59278         module uses more than what <wctype.h> is required to provide.
59279
59280 2006-12-26  Eric Blake  <ebb9@byu.net>
59281
59282         * gnulib-tool (sed_extract_prog): Avoid space-tab.
59283
59284 2006-12-26  Eric Blake  <ebb9@byu.net>
59285
59286         * modules/absolute-header: New module.
59287         * modules/fcntl (Depends-on): Depend on it.
59288         * modules/inttypes (Depends-on): Likewise.
59289         * modules/stdint (Depends-on): Likewise.
59290         * modules/sys_stat (Depends-on): Likewise.
59291         * modules/wctype (Depends-on): Likewise.
59292         * MODULES.html.sh (Support for building libraries and
59293         executables): Document it.
59294
59295 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
59296
59297         * gnulib-tool (SED): Remove, undoing previous change.
59298         The problem was that it broke coreutils on Solaris, because
59299         "sed --posix" leaked into a makefile.
59300         (sed): New alias, if 'alias' and GNU sed.
59301
59302 2006-12-24  Jim Meyering  <jim@meyering.net>
59303
59304         Work around an fchownat bug in glibc-2.4:
59305         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
59306         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
59307         in spite of the -P option.
59308         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
59309         New macros.
59310         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
59311         * modules/openat (Files): Add lib/fchownat.c.
59312         * lib/openat.c (fchownat): Don't define here.  Move to...
59313         * lib/fchownat.c: ...this new file.
59314
59315 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
59316
59317         Fix bug reported by Bruno Haible in
59318         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
59319         where quotearg.c didn't compile on Mac OS X 10.2 because it
59320         lacks <wchar.h> and wint_t.
59321         * lib/wctype_.h (__wctype_wint_t): New type.
59322         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
59323         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
59324         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
59325         Arg is now of type __wctype_wint_t, not wint_t.
59326         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
59327         substitute HAVE_WINT_T.
59328         * modules/wctype (Files): Add m4/wint_t.m4.
59329         (wctype.h): Substitute HAVE_WINT_T.
59330
59331 2006-12-23  Bruno Haible  <bruno@clisp.org>
59332
59333         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
59334
59335 2006-12-23  Bruno Haible  <bruno@clisp.org>
59336
59337         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
59338         S_ISLNK.
59339         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
59340         mingw.
59341
59342 2006-12-22  Bruno Haible  <bruno@clisp.org>
59343
59344         * lib/copy-file.c: Include acl.h.
59345         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
59346         Close the file descriptors only after being done with copy_acl.
59347         * modules/copy-file (Depends-on): Add acl.
59348
59349 2006-12-22  Bruno Haible  <bruno@clisp.org>
59350
59351         * gnulib-tool (SED): New variable.
59352         Use $SED instead of sed everywhere.
59353
59354 2006-12-22  Bruno Haible  <bruno@clisp.org>
59355
59356         * modules/no-c++: New file.
59357         * m4/no-c++.m4: New file.
59358         * MODULES.html.sh (Support for building libraries and executables):
59359         Add no-c++.
59360
59361 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
59362
59363         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
59364         Include <limits.h>, and use its INT_MAX to rewrite the
59365         j loop so that it does not overflow 'int'.  Problem reported by
59366         Ralf Wildenhues in
59367         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
59368         Play it safe by shifting left by 1 rather than multiplying by 2,
59369         as GCC is less likely to optimize this away when the value
59370         is signed (when it assumes overflow leads to undefined behavior).
59371         Also, don't assume time_t uses two's complement.
59372
59373 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
59374
59375         * MODULES.html.sh: New module wctype.
59376         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
59377         * lib/fnmatch.c: Don't bother to include <wchar.h> before
59378         <wctype.h>, since the new wctype module should fix this.
59379         * lib/quotearg.c: Include <wctype.h> unconditionally, since
59380         the wctype module should arrange for it.
59381         * lib/regex_internal.h: Likewise.
59382         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
59383         since the wctype module should handle this now.
59384         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
59385         * modules/fnmatch (Depends-on): Add wctype.
59386         * modules/quotearg (Depends-on): Likewise.
59387         * modules/regex (Depends-on): Likewise.
59388
59389 2006-12-19  Bruno Haible  <bruno@clisp.org>
59390
59391         * lib/strdup.h [C++]: Wrap definitions in extern "C".
59392         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
59393
59394 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59395
59396         * modules/savewd (Depends-on): Fix dependency on fcntl.
59397
59398 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
59399
59400         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
59401         conforms to C99, rather than relying on the user's environment
59402         setting of STDINT_H.
59403
59404 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
59405         and Eric Blake  <ebb9@byu.net>
59406
59407         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
59408         This is more consistent with the other defines here.
59409         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
59410         Port to z/OS.  Problem reported by Paul Gilmartin.
59411         Change local vars to use gl_ prefix rather than ac_.
59412         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
59413         with other defines.
59414         * modules/double-slash-root: New module.
59415         * modules/dirname (Files): Remove m4/double-slash-root.m4.
59416         (Depends-on): Add double-slash-root.
59417         * MODULES.html.sh (File system functions): Mention new module.
59418
59419 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
59420
59421         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
59422         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
59423         This is for the benefit of gzip, which doesn't do i18n.
59424
59425 2006-12-12  Jim Meyering  <jim@meyering.net>
59426
59427         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
59428         Reported by Andreas Schwab <schwab@suse.de>.
59429
59430 2006-12-12  Bruno Haible  <bruno@clisp.org>
59431
59432         Merge these changes.
59433         2006-09-05  Bruno Haible  <bruno@clisp.org>
59434         * lib/iconvme.c (iconv_string): No need to save and restore errno when
59435         iconv_alloc succeeded.
59436         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
59437         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
59438         test for " && dest " at the end - dest is always != NULL there. Call
59439         iconv with 4xNULL arguments initially, to reset the state. Call iconv
59440         with 2xNULL arguments, also to flush the state storage. Handle the
59441         IRIX iconv behaviour. Realloc the final result, to throw away unused
59442         memory.
59443
59444 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
59445
59446         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
59447         and fchmodat unconditionally, since glibc 2.4 has them.
59448         Problem reported by Arkadiusz Miskiewicz.
59449
59450 2006-12-10  Bruno Haible  <bruno@clisp.org>
59451
59452         * gnulib-tool (func_import): Show the include files only for those
59453         modules that are copied and specified.
59454         Reported by Karl Berry.
59455
59456 2006-12-08  Jim Meyering  <jim@meyering.net>
59457
59458         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
59459         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
59460
59461         * build-aux/announce-gen: Add two new options, both optional:
59462         --bootstrap-tools=TOOL_LIST
59463               a comma-separated list of tools, e.g.,
59464               autoconf,automake,bison,gnulib
59465         --gnulib-snapshot-date=DATE
59466               if gnulib is in the bootstrap tool list,
59467               then report this as the snapshot date.
59468               If not specified, use the current date/time.
59469               If you specify a date here, be sure it's UTC.
59470
59471 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59472
59473         * tests/test-argp-2.sh: Fix test to match actual output.
59474         (func_compare): Fix sed script to be portable.
59475
59476 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
59477
59478         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
59479         workaround for this case.  It is not autoconfigured now; offhand
59480         it's hard to see how to autoconfigure it.
59481
59482 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
59483
59484         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
59485         a directory that is about to be chowned.  Such a directory's
59486         initial file permissions should permit the owner only and this
59487         should not be changed until after the chown, since the group and
59488         other bits would be incorrect if they granted permission before
59489         the chown.
59490
59491         Fix porting problem for iswctype reported by Georg Schwarz in:
59492         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
59493         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
59494         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
59495         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
59496         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
59497
59498 2006-12-03  Jim Meyering  <jim@meyering.net>
59499
59500         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
59501         p->fts_statp may not yet be defined.
59502         (fts_read): Instead, set it in the caller, once p->fts_statp is
59503         sure to be defined, and corresponds to a top-level directory.
59504         This bug made du -x fail.  Here's the coreutils test case:
59505         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
59506         Reported by Mike Frysinger.
59507
59508 2006-12-01  Jim Meyering  <jim@meyering.net>
59509
59510         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
59511         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
59512         Reported by Simon Josefsson.
59513
59514 2006-11-30  Jim Meyering  <jim@meyering.net>
59515
59516         * m4/warning.m4: Use the all-permissive copyright notice
59517         recommended by RMS (rather than LGPL).
59518         * m4/vararrays.m4: Likewise.
59519         * m4/flexmember.m4: Likewise.
59520
59521 2006-11-29  Bruno Haible  <bruno@clisp.org>
59522
59523         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
59524         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
59525         using +=.
59526         Reported by Simon Josefsson <simon@josefsson.org>.
59527
59528 2006-11-28  James Youngman <jay@gnu.org>
59529
59530         * README: Advise users that they might find the bug-gnulib@gnu.org
59531         and autotools-announce@gnu.org mailing lists useful.
59532
59533 2006-11-28  Bruno Haible  <bruno@clisp.org>
59534
59535         * m4/ptrdiff_max.m4: Remove file.
59536
59537 2006-11-21  Bruno Haible  <bruno@clisp.org>
59538
59539         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
59540         _AC_COMPUTE_INT.
59541         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
59542         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
59543         _AC_COMPUTE_INT.
59544         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
59545         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
59546         _AC_COMPUTE_INT.
59547         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
59548
59549 2006-11-28  Jim Meyering  <jim@meyering.net>
59550
59551         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
59552         warning from "gcc -Wshadow" about shadowing the builtin.
59553
59554 2006-11-27  Bruno Haible  <bruno@clisp.org>
59555
59556         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
59557         _AC_COMPUTE_INT.
59558         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
59559
59560 2006-11-27  Bruno Haible  <bruno@clisp.org>
59561             Paul Eggert  <eggert@cs.ucla.edu>
59562
59563         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
59564
59565 2006-11-26  Bruno Haible  <bruno@clisp.org>
59566
59567         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
59568         noinst_LTLIBRARIES.
59569
59570 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
59571             Bruno Haible  <bruno@clisp.org>
59572
59573         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
59574         if compiling with "gcc -ansi".
59575
59576 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
59577
59578         Fix some incompatibilities with gcc -ansi -pedantic.
59579         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
59580         if compiling pedantically with GCC, unless it's C99 or later.
59581         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
59582         it mishandles gcc -ansi -pedantic as well.
59583         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
59584         if gcc -pedantic.
59585         * lib/regexec.c (check_node_accept_bytes): Don't use auto
59586         initializers for struct if -pedantic, unless it's C99 or later.
59587
59588 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
59589
59590         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
59591         Don't close an fd more than once. Identical atimes indicate
59592         success, not failure.
59593
59594 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
59595
59596         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
59597
59598 2006-11-23  Jim Meyering  <jim@meyering.net>
59599
59600         * build-aux/announce-gen: New file.  From coreutils.
59601
59602 2006-11-22  Jim Meyering  <jim@meyering.net>
59603
59604         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
59605         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
59606         (fts_read): Use a temporary to narrow the overused st_size member
59607         before using it in a switch statement.  Reported by Matthew Woehlke.
59608
59609         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
59610         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
59611
59612 2006-11-20  Bruno Haible  <bruno@clisp.org>
59613
59614         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
59615         changequote instead of pairs of brackets.
59616         Reported by Andreas Schwab <schwab@suse.de>.
59617
59618 2006-11-21  Jim Meyering  <jim@meyering.net>
59619
59620         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
59621         so as to remain compatible with older compilers.
59622         Patch from Michael Deutschmann.
59623
59624 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
59625
59626         * MODULES.html.sh (File system functions): Add openat.
59627
59628         * lib/openat.h (rpl_fstatat): New macro, if
59629         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
59630         (fstatat): Define to rpl_fstatat under the same conditions,
59631         unless COMPILING_FSTATAT.
59632         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
59633         seems to have the bug.
59634         * lib/fstatat.c: New file.
59635         * modules/openat (Files): Add it.
59636
59637 2006-11-20  Bruno Haible  <bruno@clisp.org>
59638
59639         * Makefile: New file.
59640
59641 2006-11-20  Jim Meyering  <jim@meyering.net>
59642
59643         The beginnings of syntax-related checks for gnulib.
59644         * lib/Makefile: New file.
59645         * lib/t-idcache: New script.  Ensure that the two halves of
59646         idcache.c stay in sync.
59647
59648         * lib/idcache.c: Adjust comments in user- and group- portions to
59649         be more accurate, and to be consistent with one another.
59650
59651 2006-11-20  Jim Meyering  <jim@meyering.net>
59652
59653         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
59654         continue using the flexible array member (thus, this module performs
59655         half as many malloc calls), with the addition that...
59656         (getgroup, getuser): Consistently record a non-match via an empty
59657         "name" string, and map an empty string match to a NULL return value.
59658         * modules/idcache (Depends-on): Re-add flexmember.
59659
59660         * lib/idcache.c (getuser): Remove all uses of the register keyword.
59661         (getuidbyname, getgroup, getgidbyname): Likewise.
59662
59663         Use cleaner syntax: NULL rather than 0.
59664         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
59665
59666 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
59667
59668         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
59669         It mishandled the case where the group was missing.
59670         Problem reported by Greg Schafer.
59671         * modules/idcache: Likewise.
59672
59673 2006-11-18  Jim Meyering  <jim@meyering.net>
59674
59675         * check-module (%exempt_header): Add exception for some
59676         conditionally-included headers.
59677
59678         * modules/i-ring (Depends-on): Add verify.
59679         (License): Change to LGPL.
59680
59681 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
59682
59683         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
59684         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
59685         and inttostr.h.  Use snprintf rather than uinttostr, so that
59686         LGPLed code doesn't depend on GPLed.
59687
59688 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
59689
59690         * modules/inline (License): Change from GPL to LGPL.
59691
59692 2006-11-17  Jim Meyering  <jim@meyering.net>
59693
59694         * modules/d-type (License): Switch to LGPL.
59695
59696 2006-11-15  Bruno Haible  <bruno@clisp.org>
59697
59698         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
59699
59700 2006-11-15  Eric Blake  <ebb9@byu.net>
59701
59702         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
59703         the module dependency.
59704
59705 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
59706             Bruno Haible  <bruno@clisp.org>
59707
59708         * gnulib-tool (func_create_testdir): Add license consistency check.
59709
59710 2006-11-15  Eric Blake  <ebb9@byu.net>
59711
59712         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
59713         random "(cached)" in configure output.
59714
59715 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59716
59717         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
59718         test for conforming inttypes.h is both announced and cached.
59719
59720         * MODULES.html.sh (seen_modules, seen_files): New variables.
59721         (func_module): Rewrite to use a few less gnulib-tool and sed
59722         invocations.  Avoid a couple of quadratic algorithms for ...
59723         (missed_modules, missed_files): ... these, with ...
59724         (func_append, func_tmpdir): ... these new functions, from
59725         gnulib-tool.  Analogously, install traps for cleanup.
59726
59727         * tests/test-gc.c (main): Remove unused variables.
59728         * tests/test-read-file.c: Include stdlib.h, for 'free'.
59729
59730 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
59731
59732         * modules/inttostr (License): Change to LGPL.
59733
59734 2006-11-14  Eric Blake  <ebb9@byu.net>
59735
59736         * modules/tempname (License): Change to LGPL.
59737
59738 2006-11-14  Eric Blake  <ebb9@byu.net>
59739
59740         * doc/functions.texi (Function Portability): *printf functions on
59741         Cygwin now understand all POSIX size specifiers.
59742
59743 2006-11-14  Bruno Haible  <bruno@clisp.org>
59744
59745         * modules/c-ctype (License): Change to LGPL.
59746
59747 2006-11-12  Bruno Haible  <bruno@clisp.org>
59748
59749         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
59750         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
59751         for GNOME libraries, for which the include files are installed in
59752         subdirectories of $prefix/include.
59753
59754 2006-11-12  Bruno Haible  <bruno@clisp.org>
59755
59756         * m4/lib-link.m4: Require at least autoconf-2.54.
59757         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
59758         name to underscores for the --with option.
59759
59760 2006-11-13  Bruno Haible  <bruno@clisp.org>
59761
59762         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
59763         the tests directory.
59764         Reported by Ralf Wildenhues.
59765
59766 2006-11-13  Bruno Haible  <bruno@clisp.org>
59767
59768         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
59769         (func_emit_initmacro_end): Undo the override here.
59770         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
59771         Works around the famous automake error in coreutils.
59772
59773 2006-11-13  Eric Blake  <ebb9@byu.net>
59774
59775         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
59776         element, not its node.
59777
59778 2006-11-12  Bruno Haible  <bruno@clisp.org>
59779
59780         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
59781         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
59782
59783 2006-11-12  Bruno Haible  <bruno@clisp.org>
59784
59785         * gnulib-tool: New option --local-symlink.
59786         (func_usage): Document it.
59787         (lsymbolic): New variable.
59788         (func_import, func_create_testdir): If --symlink was not specified,
59789         test whether --local-symlink was specified and the file comes from
59790         the local_gnulib_dir.
59791
59792 2006-11-12  Bruno Haible  <bruno@clisp.org>
59793
59794         * gnulib-tool (func_ln): New function.
59795         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
59796
59797 2006-11-12  Bruno Haible  <bruno@clisp.org>
59798
59799         Finish support for source files in subdirectories.
59800         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
59801         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
59802         AUTOMAKE_OPTIONS.
59803         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
59804
59805 2006-11-12  Bruno Haible  <bruno@clisp.org>
59806
59807         * gnulib-tool (func_get_automake_snippet): Synthesize also an
59808         EXTRA_lib_SOURCES augmentation.
59809         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
59810
59811 2006-11-12  Jim Meyering  <jim@meyering.net>
59812
59813         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
59814         file descriptors.  This also averts a failure on systems with
59815         native openat support when a traversed directory lacks "x" access.
59816         * lib/fts_.h: Include "i-ring.h"
59817         (struct FTS) [fts_fd_ring]: New member.
59818         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
59819         (FCHDIR): Add parentheses.
59820         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
59821         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
59822         When descending, rather than simply closing the previous
59823         fts_cwd_fd value, push that file descriptor onto the ring.
59824         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
59825         (fts_open): Initialize the new fd_ring member.
59826         (fts_close): Clear the ring.
59827         (fts_safe_changedir): When possible, use our new fd_ring to skip
59828         the diropen and fstat and dev/ino comparison that would normally
59829         accompany a virtual `chdir ("..")'.
59830
59831         * modules/fts (Depends-on): Add i-ring.
59832         * modules/i-ring: New module.
59833         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
59834         * m4/i-ring.m4: New file.
59835
59836 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59837
59838         * gnulib-tool (func_create_testdir): Fix replacement of
59839         `build-aux' in configure.ac.  Run autotools in gltests
59840         subdirectory.
59841         (func_create_testdir, func_create_megatestdir, test): There is
59842         no need for '--force' in most autotool invocations in a new
59843         tree.  Actually fail the whole test if any of the tools, or the
59844         configure or make stages fail.
59845
59846         Sync from Automake.
59847         * build-aux/gnupload: Revert last change.  Add pointer to upload
59848         instructions of the GNU Maintenance Instructions.
59849         Suggestion by Karl Berry.
59850
59851 2006-11-10  Jim Meyering  <jim@meyering.net>
59852
59853         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
59854
59855 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
59856
59857         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
59858         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
59859         (bind_textdomain_codeset) [! ENABLE_NLS]:
59860         Evaluate all the arguments.  That way, callers get compatible behavior
59861         if the arguments have side effects.  Also, it avoids some GCC
59862         diagnostics in some cases; Joel E. Denny reported problems when Bison
59863         was configured with --enable-gcc-warnigs.
59864
59865 2006-11-10  Jim Meyering  <jim@meyering.net>
59866
59867         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
59868         relevant options in CFLAGS (like -O, -fno-inline) are taken into
59869         account.
59870
59871 2006-11-10  Jim Meyering  <jim@meyering.net>
59872
59873         * modules/inline: New file/module.
59874         * modules/xalloc (Files): Remove m4/inline.m4.
59875         (Depends-on): Add inline, instead.
59876         * modules/oset: Likewise.
59877         * modules/list: Likewise.
59878
59879 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
59880
59881         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
59882         Problem reported by Matthew Woehlke.
59883
59884 2006-11-09  Bruno Haible  <bruno@clisp.org>
59885
59886         * lib/tempname.c (gen_tempname): Remove variant that invokes
59887         __gen_tempname.
59888         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
59889         __gen_tempname.
59890
59891 2006-11-08  Bruno Haible  <bruno@clisp.org>
59892
59893         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
59894         to 'yes' instead of 'cross-compiling'.
59895
59896 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
59897
59898         * lib/quotearg.h (quotearg_free): New decl.
59899         * lib/quotearg.c (quotearg_free): New function.
59900         (slot0, nslots, slotvec0, slotvec):
59901         Now file-scope so that quotearg_free can get at them.
59902
59903 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59904
59905         Sync from Automake.
59906         * build-aux/gnupload: Add missing 'gnu' to example URL.
59907         Report by Karl Berry.
59908
59909 2006-11-08  Bruno Haible  <bruno@clisp.org>
59910
59911         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
59912         Suggested by Paul Eggert.
59913
59914 2006-11-08  Jim Meyering  <jim@meyering.net>
59915
59916         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
59917         It's already included if !_LIBC.
59918         (fts_safe_changedir): Add a comment.
59919
59920 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
59921
59922         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
59923         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
59924         Matthew Woehlke.
59925
59926         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
59927         definitions up, to avoid colliding with change below.
59928         (static_inline) [HAVE_INLINE]: New macro.
59929         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
59930         Provide extern decls when !HAVE_INLINE.  Do not define unless
59931         static_inline is defined, either by us or by xmalloc.c.  Use
59932         static_inline rather than static inline.
59933         (XCALLOC): Optimize sizeof(T) = 1 case.
59934         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
59935
59936 2006-11-07  Bruno Haible  <bruno@clisp.org>
59937
59938         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
59939         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
59940         AC_C_INLINE.
59941         * modules/xalloc (Files): Add m4/inline.m4.
59942
59943 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59944
59945         * README: Fix typo.
59946         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
59947         (Miscellanous Notes): ...from this.
59948
59949 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
59950
59951         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
59952         Mention that offsetof should be used instead of sizeof.
59953         From Bruno Haible.
59954
59955 2006-11-07  Bruno Haible  <bruno@clisp.org>
59956
59957         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
59958
59959 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
59960
59961         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
59962         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
59963         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
59964         (gl_tree_add_before, gl_tree_add_after):
59965         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
59966         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
59967         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
59968         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
59969         (gl_linked_add_after, gl_linked_add_at): Likewise.
59970         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
59971         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
59972         (gl_tree_add_before, gl_tree_add_after): Likewise.
59973         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
59974         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
59975         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
59976
59977 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59978
59979         * lib/gl_oset.h: Use C comment style, not C++ comment style.
59980
59981 2006-11-06  Bruno Haible  <bruno@clisp.org>
59982
59983         * m4/inline.m4: New file.
59984         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
59985         * modules/list (Files): Add m4/inline.m4.
59986         * modules/oset (Files): Likewise.
59987
59988 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
59989
59990         * lib/idcache.c: Include <stddef.h>, for offsetof.
59991         (struct userid.name): Change from char * to a flexible array member.
59992         All uses changed.
59993         * modules/idcache (Depends-on): Add flexmember.
59994
59995         * MODULES.html.sh (Core language properties): New module flexmember.
59996         * modules/flexmember, m4/flexmember.m4: New files.
59997
59998         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
59999         inline functions that are identical with the old xnmalloc_inline,
60000         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
60001         that we can avoid some unnecessary integer multiplications and
60002         divisions in the common case where the element size is known at
60003         compile time.
60004         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
60005         needed.
60006         (xnboundedmalloc): Remove.
60007         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
60008         arguments, for consistency with rest of this header.
60009         (xcharalloc): Rewrite using XNMALLOC.
60010         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
60011         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
60012         versions have been moved to lib/xalloc.h and renamed to be the
60013         non-*_inline versions.
60014         (xmalloc, xrealloc): Implement without reference to the xnmalloc
60015         and xnrealloc functions, since those functions are now inline and
60016         now call us.
60017         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
60018         renaming described above.
60019         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
60020         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
60021         captures the dependency in AC_C_INLINE.
60022
60023         New module canonicalize-lgpl, proposed by Charles Wilson in
60024         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
60025         with a few small changes afterwards.
60026         * MODULES.html.sh (File system functions): New module
60027         canonicalize-lgpl.
60028         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
60029         and canonicalize_file_name.
60030         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
60031         * modules/canonicalize-lgpl: New files.
60032
60033 2006-11-05  Bruno Haible  <bruno@clisp.org>
60034
60035         * gnulib-tool (func_import, func_create_testdir): Create directories
60036         also for files in subdirectories of lib/.
60037
60038 2006-11-05  Bruno Haible  <bruno@clisp.org>
60039
60040         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
60041         ANSI C compliant.
60042
60043 2006-11-03  Bruno Haible  <bruno@clisp.org>
60044
60045         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
60046         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
60047         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
60048         (xnboundedmalloc): New inline function.
60049         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
60050         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
60051         xmalloc.
60052         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
60053         xmalloc.
60054         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
60055         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
60056         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
60057         xmalloc.
60058         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
60059         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
60060         xmalloc.
60061         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
60062         gl_tree_add_after): Use XMALLOC instead of xmalloc.
60063         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
60064         xmalloc.
60065         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
60066         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
60067         gl_tree_add_after): Use XMALLOC instead of xmalloc.
60068         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
60069         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
60070         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
60071         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
60072
60073 2006-11-03  Bruno Haible  <bruno@clisp.org>
60074
60075         * lib/c-ctype.h [C++]: Define functions without name mangling.
60076         * lib/fwriteerror.h [C++]: Likewise.
60077         * lib/gcd.h [C++]: Likewise.
60078         * lib/linebreak.h [C++]: Likewise.
60079
60080 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
60081
60082         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
60083         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
60084         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
60085         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
60086         Check for functions and headers just once.
60087         Check for declaration of canonicalize_file_name.
60088         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
60089
60090 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
60091
60092         * gnulib-tool (func_import): Fix typo in actioncmd.
60093
60094 2006-11-02  Bruno Haible  <bruno@clisp.org>
60095
60096         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
60097         newline sequence in the Makefile.am snippet as a space, like "make"
60098         does.
60099         Reported by Roger Persson <perrog@gmail.com>.
60100
60101 2006-11-01  Bruno Haible  <bruno@clisp.org>
60102
60103         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
60104         already declared in <string.h>.
60105         * lib/strcase.h (strncasecmp): Don't declare it if yes.
60106
60107 2006-11-01  Bruno Haible  <bruno@clisp.org>
60108
60109         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
60110         * lib/strcase.h: Include <string.h>.
60111         (strcasecmp): Define to rpl_strcasecmp here.
60112
60113 2006-11-01  Bruno Haible  <bruno@clisp.org>
60114
60115         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
60116
60117 2006-11-01  Eric Blake  <ebb9@byu.net>
60118
60119         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
60120
60121         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
60122
60123 2006-10-29  Bruno Haible  <bruno@clisp.org>
60124
60125         Make it compile in C++ mode.
60126         * lib/full-write.c (full_rw): Add a cast.
60127
60128 2006-11-01  Bruno Haible  <bruno@clisp.org>
60129
60130         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
60131         be POSIX compliant.
60132         Reported by Roger Persson <perrog@gmail.com>.
60133
60134 2006-11-01  Eric Blake  <ebb9@byu.net>
60135
60136         * lib/getopt_.h: Fix comments.
60137
60138 2006-10-31  Eric Blake  <ebb9@byu.net>
60139
60140         * modules/tmpdir (Depends-on): Add sys_stat.
60141         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
60142         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
60143         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
60144         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
60145         tempname.
60146
60147 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
60148
60149         Avoid some C++ diagnostics reported by Bruno Haible.
60150         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
60151         xmalloc.
60152         (quotearg_alloc): Use xcharalloc rather than xmalloc.
60153         (struct slotvec): Move to top level.
60154         (quotearg_n_options): Rewrite to avoid xmalloc.
60155         * lib/xalloc.h (xcharalloc): New function.
60156         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
60157         [defined __cplusplus]: Add function template that provides result
60158         type propagation.  This part of the change is from Bruno Haible.
60159
60160 2006-10-29  Bruno Haible  <bruno@clisp.org>
60161
60162         Make it compile in C++ mode.
60163         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
60164         * lib/strnlen1.c (strnlen1): Cast memchr result.
60165         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
60166         * lib/clean-temp.c (string_equals, string_hash): Add casts.
60167         (create_temp_dir): Rename local variable 'template'.
60168         (compile_csharp_using_sscli): Add cast.
60169         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
60170         * lib/findprog.c (find_in_path): Likewise.
60171         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
60172         * lib/wait-process.c (register_slave_subprocess): Likewise.
60173
60174 2006-10-22  Bruno Haible  <bruno@clisp.org>
60175
60176         * modules/tsearch: New file.
60177         * lib/tsearch.h: New file.
60178         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
60179         * m4/tsearch.m4: New file.
60180         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
60181
60182 2006-10-29  Eric Blake  <ebb9@byu.net>
60183
60184         * lib/arcfour.c: Assume config.h.
60185         * lib/arctwo.c: Likewise.
60186         * lib/base64.c: Likewise.
60187         * lib/check-version.c: Likewise.
60188         * lib/crc.c: Likewise.
60189         * lib/des.c: Likewise.
60190         * lib/gc-gnulib.c: Likewise.
60191         * lib/gc-libgcrypt.c: Likewise.
60192         * lib/gc-pbkdf2-sha1.c: Likewise.
60193         * lib/getaddrinfo.c: Likewise.
60194         * lib/getdelim.c: Likewise.
60195         * lib/getline.c: Likewise.
60196         * lib/hmac-md5.c: Likewise.
60197         * lib/hmac-sha1.c: Likewise.
60198         * lib/iconvme.c: Likewise.
60199         * lib/md2.c: Likewise.
60200         * lib/md4.c: Likewise.
60201         * lib/memxor.c: Likewise.
60202         * lib/read-file.c: Likewise.
60203         * lib/readline.c: Likewise.
60204         * lib/rijndael-alg-fst.c: Likewise.
60205         * lib/rijndael-api-fst.c: Likewise.
60206         * lib/xgetdomainname.c: Likewise.
60207
60208 2006-10-28  Eric Blake  <ebb9@byu.net>
60209
60210         * lib/xstrndup.c: Assume config.h.
60211
60212 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
60213
60214         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
60215         stat-macros.h is now for our own macros, whereas stat_h is for
60216         macros in the <sys/stat.h> name space.
60217         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
60218         (STAT_MACROS_H): Remove.
60219         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
60220         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
60221         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
60222         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
60223         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
60224         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
60225         Move these macros to ...
60226         * lib/stat_.h: here.  Don't include stat-macros.h.
60227         * lib/canonicalize.c: Don't include stat-macros.h.
60228         * lib/chown.c: Likewise.
60229         * lib/euidaccess.c: Likewise.
60230         * lib/file-type.c: Likewise.
60231         * lib/filemode.c: Likewise.
60232         * lib/glob.c: Likewise.
60233         * lib/isapipe.c: Likewise.
60234         * lib/lchown.c: Likewise.
60235         * lib/lstat.c: Likewise.
60236         * lib/mkdir-p.c: Likewise.
60237         * lib/rmdir.c: Likewise.
60238         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
60239         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
60240         unless mkdir isn't declared, to speed up 'configure'.
60241         Always create sys/stat.h, since it's unlikely any real sys/stat.h
60242         would define all the S_* symbols.
60243         * modules/canonicalize (Depends-on):
60244         Depend on sys_stat, not stat-macros.
60245         * modules/chown: Likewise.
60246         * modules/euidaccess: Likewise.
60247         * modules/filemode: Likewise.
60248         * modules/file-type: Likewise.
60249         * modules/glob: Likewise.
60250         * modules/isapipe: Likewise.
60251         * modules/lchown: Likewise.
60252         * modules/lstat: Likewise.
60253         * modules/mkancesdirs: Likewise.
60254         * modules/rmdir: Likewise.
60255         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
60256         * modules/modechange: Likewise.
60257         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
60258         (configure.ac): Remove gl_STAT_MACROS.
60259         * modules/sys_stat (Depends-on): Remove stat-macros.
60260
60261 2006-10-27  Bruno Haible  <bruno@clisp.org>
60262
60263         * m4/signed.m4: Remove file.
60264         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
60265         invocation.
60266         * modules/vasnprintf (Files): Remove m4/signed.m4.
60267
60268 2006-10-27  Bruno Haible  <bruno@clisp.org>
60269
60270         Update to GNU gettext 0.16.
60271         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
60272         m4/inttypes-h.m4, m4/signed.m4.
60273         * m4/gettext.m4: Update to GNU gettext 0.16.
60274         * m4/intl.m4: New file, from GNU gettext.
60275         * m4/intldir.m4: New file, from GNU gettext.
60276         * config/srclist.txt: Update
60277
60278 2006-10-27  Eric Blake  <ebb9@byu.net>
60279
60280         * MODULES.html.sh: Document tempname.
60281         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
60282         dependencies.
60283         (Files): Move lib/tempname.c...
60284         * modules/tempname: ...to this new module.
60285         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
60286         (gl_PREREQ_TEMPNAME): Move...
60287         * m4/tempname.m4: ...to this new file.
60288         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
60289         * modules/sys_stat (Depends-on): Add stat-macros.
60290         * lib/stat_.h (includes): Pick up stat macros.
60291         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
60292         if stat macros are broken.
60293         * lib/tempname.c (includes): No need to include "stat-macros.h".
60294         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
60295         (direxists, __path_search) [!_LIBC]: Don't compile these in
60296         gnulib; the tmpdir module covers that.
60297         * lib/tempname.h: New file.
60298
60299 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
60300
60301         * COPYING: Explain how gnulib-tool converts licence headers.
60302         Almost all wording by Eric Blake.
60303
60304 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
60305
60306         * lib/mbchar.h (is_basic_table): Make read-only.
60307         * lib/mbchar.c (is_basic_table): Likewise.
60308         Reported by John Darrington.
60309
60310 2006-10-25  Bruno Haible  <bruno@clisp.org>
60311
60312         * lib/progname.h (set_program_name): Undefine before defining.
60313
60314 2006-10-25  Bruno Haible  <bruno@clisp.org>
60315
60316         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
60317         false for non-gcc C++ compilers.
60318         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
60319
60320 2006-10-24  Bruno Haible  <bruno@clisp.org>
60321
60322         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
60323         iconv implementations like Irix iconv.
60324
60325 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
60326
60327         * modules/vararrays: New file.
60328         * m4/vararrays.m4: New file, taken from diffutils.
60329         * MODULES.html.sh: New module vararrays.
60330
60331 2006-10-24  Karl Berry  <karl@gnu.org>
60332
60333         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
60334         Don't call GNU Unix.
60335
60336 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60337
60338         * users.txt: Add Libtool.
60339
60340         Sync from Libtool:
60341
60342         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
60343
60344         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
60345         to gnulib's policy of including config.h unconditionally.
60346
60347 2006-10-24  Bruno Haible  <bruno@clisp.org>
60348
60349         * modules/wcwidth (Files): Add m4/wint_t.m4.
60350         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
60351         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
60352
60353 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
60354
60355         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
60356         to pacify GCC with some -W flags enabled.  Problem reported by
60357         Bruno Haible.
60358
60359 2006-10-24  Jim Meyering  <jim@meyering.net>
60360
60361         * MODULES.html.sh: Remove uinttostr.  It's not a module.
60362         Reported by Karl Berry.
60363
60364 2006-10-23  Bruno Haible  <bruno@clisp.org>
60365
60366         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
60367
60368 2006-10-24  Bruno Haible  <bruno@clisp.org>
60369
60370         * lib/gl_list.h: Use C comment style, not C++ comment style.
60371
60372 2006-10-23  Eric Blake  <ebb9@byu.net>
60373
60374         * lib/getaddrinfo.c (includes): Add missing include.
60375
60376 2006-10-23  Bruno Haible  <bruno@clisp.org>
60377             Paul Eggert  <eggert@cs.ucla.edu>
60378
60379         Ability to rename obstack_free.
60380         * lib/obstack.h (__obstack_free): New macro. Declare instead of
60381         obstack_free.
60382         (obstack_free): Invoke the __obstack_free macro.
60383         * lib/obstack.c (obstack_free): Use __obstack_free macro.
60384
60385 2006-10-23  Bruno Haible  <bruno@clisp.org>
60386             Paul Eggert  <eggert@cs.ucla.edu>
60387
60388         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
60389         __argc, __argv from the declaration. (They are defined as macros on
60390         mingw.)
60391
60392 2006-10-22  Bruno Haible  <bruno@clisp.org>
60393
60394         * doc/gnulib-intro.texi: New file.
60395         * doc/gnulib.texi: Include it.
60396
60397 2006-10-21  Bruno Haible  <bruno@clisp.org>
60398
60399         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
60400         "Introduction", "Miscellanous Notes", "Particular Modules".
60401
60402 2006-10-21  Bruno Haible  <bruno@clisp.org>
60403
60404         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
60405         Change mostlyclean-local rule to avoid sh syntax error from bash
60406         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
60407
60408 2006-10-23  Jim Meyering  <jim@meyering.net>
60409
60410         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
60411         in place of snprintf.
60412
60413         * modules/inttostr (Files): Add lib/uinttostr.c.
60414         * lib/uinttostr.c (inttostr): New file/function.
60415         * lib/inttostr.h (uinttostr): Declare.
60416         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
60417         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
60418         Add uinttostr.
60419         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
60420
60421 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
60422
60423         * lib/canonicalize.c (ELOOP): Define if not already defined.
60424         Problem reported by Bruno Haible in
60425         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
60426
60427 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
60428
60429         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
60430         Problem reported by Perry Smith and Ville Laurikari.
60431
60432         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
60433         uses.
60434
60435 2006-10-19  Bruno Haible  <bruno@clisp.org>
60436
60437         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
60438         for mingw.
60439
60440 2006-10-19  Bruno Haible  <bruno@clisp.org>
60441
60442         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
60443         Needed for mingw.
60444
60445 2006-10-19  Bruno Haible  <bruno@clisp.org>
60446
60447         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
60448
60449 2006-10-19  Bruno Haible  <bruno@clisp.org>
60450
60451         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
60452         it.
60453
60454 2006-10-19  Bruno Haible  <bruno@clisp.org>
60455
60456         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
60457         invocation.
60458
60459 2006-10-19  Bruno Haible  <bruno@clisp.org>
60460
60461         * gnulib-tool (func_create_testdir): Don't include ftruncate and
60462         mountlist by default.
60463
60464 2006-10-16  Bruno Haible  <bruno@clisp.org>
60465
60466         * lib/c-strstr.c: Include c-strstr.h.
60467
60468 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
60469
60470         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
60471         in a slash.
60472
60473 2006-10-18  Bruno Haible  <bruno@clisp.org>
60474
60475         * lib/lock.h [C++]: Wrap definitions in extern "C".
60476
60477 2006-10-18  Bruno Haible  <bruno@clisp.org>
60478
60479         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
60480         gl_LIBOBJS list.
60481
60482 2006-10-18  Bruno Haible  <bruno@clisp.org>
60483
60484         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
60485
60486 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
60487
60488         * lib/xstrtol.h: Include gettext.h.
60489         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
60490         Problem reported by Eric Blake.
60491         * modules/xstrtol (Depends-on): Add gettext-h.
60492
60493 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
60494
60495         * lib/strftime.c (advance): New macro.
60496         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
60497         incomplete type, so you can't add 0 to it.  Problem and patch
60498         reported by Eelco Dolstra for dietlibc.
60499
60500 2006-10-18  Jim Meyering  <jim@meyering.net>
60501
60502         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
60503         type for a local, and rename it: s/up/user_proc/.
60504
60505 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
60506
60507         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
60508         READ_UTMP_USER_PROCESS.
60509         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
60510
60511 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
60512
60513         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
60514         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
60515
60516 2006-10-17  Eric Blake  <ebb9@byu.net>
60517
60518         * lib/sigprocmask.c (sigprocmask): Fix typo.
60519
60520         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
60521
60522         * modules/clean-temp (Makefile.am): Don't add to make output...
60523         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
60524         config.h.
60525
60526 2006-10-17  Bruno Haible  <bruno@clisp.org>
60527
60528         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
60529         differently if DEFAULT_TEXT_DOMAIN is set.
60530
60531 2006-10-16  Bruno Haible  <bruno@clisp.org>
60532
60533         * lib/clean-temp.c: Include fwriteerror.h.
60534
60535 2006-10-16  Bruno Haible  <bruno@clisp.org>
60536
60537         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
60538
60539 2006-10-16  Bruno Haible  <bruno@clisp.org>
60540
60541         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
60542         * lib/sigprocmask.h: Include <sys/types.h>.
60543         (sigset_t): Use the system's definition if present.
60544
60545 2006-10-17  Eric Blake  <ebb9@byu.net>
60546
60547         * lib/xvasprintf.c (includes): Assume config.h.
60548         * lib/xasprintf.c (includes): Likewise.
60549
60550 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
60551
60552         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
60553         at least as wide as intmax_t.
60554
60555 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
60556
60557         (Imported from Automake.)
60558         * build-aux/gnupload: Update to version 1.1 of directive file.
60559
60560 2006-10-16  Eric Blake  <ebb9@byu.net>
60561
60562         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
60563         match Automake 1.10a.
60564
60565 2006-10-14  Bruno Haible  <bruno@clisp.org>
60566
60567         * modules/sigprocmask: New file.
60568         * lib/sigprocmask.h: New file.
60569         * lib/sigprocmask.c: New file.
60570         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
60571         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
60572         request sigprocmask.o.
60573         (gl_PREREQ_SIGPROCMASK): New macro.
60574         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
60575         (Depends-on): Add sigprocmask.
60576         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
60577         gt_SIGNALBLOCKING. Test for 'raise' only once.
60578         * lib/fatal-signal.c: Include sigprocmask.h.
60579         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
60580         unblock_fatal_signals): Define always.
60581         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
60582         sigprocmask.
60583
60584 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
60585
60586         Sync from Automake.
60587         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
60588         which incorrectly sets the mode of an existing destination
60589         directory.  In some cases the unpatched install-sh could do the
60590         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
60591         system.  We hope this is rare in practice, but it's clearly worth
60592         fixing.  Problem reported by Alex Unleashed in
60593         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
60594         Also, don't bother to check for -m bugs unless we're using -m;
60595         suggested by Stepan Kasal.
60596
60597 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60598
60599         Sync from Automake.
60600         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
60601         `-c' flag, so they appear at the same position as in %FASTDEP%
60602         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
60603         which ignores unknown options only after the first non-option.
60604         Bug report against M4 by Nelson H. F. Beebe.
60605
60606 2006-10-13  Jim Meyering  <jim@meyering.net>
60607
60608         Fix a bug in yesterday's change.
60609         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
60610         p->fts_statp->st_dev would be used uninitialized.
60611         Ensures that we always call fts_stat on the very first entry.
60612         Miklos Szeredi reported that find -xdev stopped working.
60613
60614 2006-10-12  Bruno Haible  <bruno@clisp.org>
60615
60616         * gnulib-tool (func_get_automake_snippet): Append an automatically
60617         computed EXTRA_DIST augmentation.
60618         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
60619         * modules/alloca-opt (Makefile.am): Likewise.
60620         * modules/allocsa (Makefile.am): Likewise.
60621         * modules/arcfour (Makefile.am): Likewise.
60622         * modules/arctwo (Makefile.am): Likewise.
60623         * modules/argmatch (Makefile.am): Likewise.
60624         * modules/argz (Makefile.am): Likewise.
60625         * modules/atexit (Makefile.am): Likewise.
60626         * modules/backupfile (Makefile.am): Likewise.
60627         * modules/byteswap (Makefile.am): Likewise.
60628         * modules/c-strtod (Makefile.am): Likewise.
60629         * modules/c-strtold (Makefile.am): Likewise.
60630         * modules/calloc (Makefile.am): Likewise.
60631         * modules/canon-host (Makefile.am): Likewise.
60632         * modules/canonicalize (Makefile.am): Likewise.
60633         * modules/chdir-long (Makefile.am): Likewise.
60634         * modules/chdir-safer (Makefile.am): Likewise.
60635         * modules/check-version (Makefile.am): Likewise.
60636         * modules/chown (Makefile.am): Likewise.
60637         * modules/cloexec (Makefile.am): Likewise.
60638         * modules/close-stream (Makefile.am): Likewise.
60639         * modules/closeout (Makefile.am): Likewise.
60640         * modules/crc (Makefile.am): Likewise.
60641         * modules/csharpexec (Makefile.am): Likewise.
60642         * modules/cycle-check (Makefile.am): Likewise.
60643         * modules/des (Makefile.am): Likewise.
60644         * modules/dev-ino (Makefile.am): Likewise.
60645         * modules/dirfd (Makefile.am): Likewise.
60646         * modules/dirname (Makefile.am): Likewise.
60647         * modules/dup2 (Makefile.am): Likewise.
60648         * modules/eealloc (Makefile.am): Likewise.
60649         * modules/error (Makefile.am): Likewise.
60650         * modules/euidaccess (Makefile.am): Likewise.
60651         * modules/exclude (Makefile.am): Likewise.
60652         * modules/exitfail (Makefile.am): Likewise.
60653         * modules/fcntl-safer (Makefile.am): Likewise.
60654         * modules/fcntl (Makefile.am): Likewise.
60655         * modules/file-type (Makefile.am): Likewise.
60656         * modules/fileblocks (Makefile.am): Likewise.
60657         * modules/filemode (Makefile.am): Likewise.
60658         * modules/filenamecat (Makefile.am): Likewise.
60659         * modules/fnmatch (Makefile.am): Likewise.
60660         * modules/fopen-safer (Makefile.am): Likewise.
60661         * modules/fpending (Makefile.am): Likewise.
60662         * modules/fprintftime (Makefile.am): Likewise.
60663         * modules/free (Makefile.am): Likewise.
60664         * modules/fsusage (Makefile.am): Likewise.
60665         * modules/ftruncate (Makefile.am): Likewise.
60666         * modules/fts (Makefile.am): Likewise.
60667         * modules/gc-arcfour (Makefile.am): Likewise.
60668         * modules/gc-des (Makefile.am): Likewise.
60669         * modules/gc-hmac-md5 (Makefile.am): Likewise.
60670         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
60671         * modules/gc-md4 (Makefile.am): Likewise.
60672         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
60673         * modules/gc-sha1 (Makefile.am): Likewise.
60674         * modules/gc (Makefile.am): Likewise.
60675         * modules/getaddrinfo (Makefile.am): Likewise.
60676         * modules/getcwd (Makefile.am): Likewise.
60677         * modules/getdelim (Makefile.am): Likewise.
60678         * modules/getdomainname (Makefile.am): Likewise.
60679         * modules/getgroups (Makefile.am): Likewise.
60680         * modules/gethostname (Makefile.am): Likewise.
60681         * modules/gethrxtime (Makefile.am): Likewise.
60682         * modules/getline (Makefile.am): Likewise.
60683         * modules/getloadavg (Makefile.am): Likewise.
60684         * modules/getlogin_r (Makefile.am): Likewise.
60685         * modules/getndelim2 (Makefile.am): Likewise.
60686         * modules/getopt (Makefile.am): Likewise.
60687         * modules/getpagesize (Makefile.am): Likewise.
60688         * modules/getpass-gnu (Makefile.am): Likewise.
60689         * modules/getpass (Makefile.am): Likewise.
60690         * modules/getsubopt (Makefile.am): Likewise.
60691         * modules/gettime (Makefile.am): Likewise.
60692         * modules/gettimeofday (Makefile.am): Likewise.
60693         * modules/getugroups (Makefile.am): Likewise.
60694         * modules/getusershell (Makefile.am): Likewise.
60695         * modules/glob (Makefile.am): Likewise.
60696         * modules/group-member (Makefile.am): Likewise.
60697         * modules/hard-locale (Makefile.am): Likewise.
60698         * modules/hash (Makefile.am): Likewise.
60699         * modules/hmac-md5 (Makefile.am): Likewise.
60700         * modules/hmac-sha1 (Makefile.am): Likewise.
60701         * modules/human (Makefile.am): Likewise.
60702         * modules/idcache (Makefile.am): Likewise.
60703         * modules/imaxabs (Makefile.am): Likewise.
60704         * modules/imaxdiv (Makefile.am): Likewise.
60705         * modules/inet_ntop (Makefile.am): Likewise.
60706         * modules/inet_pton (Makefile.am): Likewise.
60707         * modules/intprops (Makefile.am): Likewise.
60708         * modules/inttostr (Makefile.am): Likewise.
60709         * modules/inttypes (Makefile.am): Likewise.
60710         * modules/isapipe (Makefile.am): Likewise.
60711         * modules/javaversion (Makefile.am): Likewise.
60712         * modules/lchmod (Makefile.am): Likewise.
60713         * modules/lchown (Makefile.am): Likewise.
60714         * modules/localcharset (Makefile.am): Likewise.
60715         * modules/long-options (Makefile.am): Likewise.
60716         * modules/lstat (Makefile.am): Likewise.
60717         * modules/malloc (Makefile.am): Likewise.
60718         * modules/mathl (Makefile.am): Likewise.
60719         * modules/mbchar (Makefile.am): Likewise.
60720         * modules/md2 (Makefile.am): Likewise.
60721         * modules/md4 (Makefile.am): Likewise.
60722         * modules/md5 (Makefile.am): Likewise.
60723         * modules/memcasecmp (Makefile.am): Likewise.
60724         * modules/memchr (Makefile.am): Likewise.
60725         * modules/memcmp (Makefile.am): Likewise.
60726         * modules/memcoll (Makefile.am): Likewise.
60727         * modules/memcpy (Makefile.am): Likewise.
60728         * modules/memmem (Makefile.am): Likewise.
60729         * modules/memmove (Makefile.am): Likewise.
60730         * modules/mempcpy (Makefile.am): Likewise.
60731         * modules/memrchr (Makefile.am): Likewise.
60732         * modules/memset (Makefile.am): Likewise.
60733         * modules/memxor (Makefile.am): Likewise.
60734         * modules/mkancesdirs (Makefile.am): Likewise.
60735         * modules/mkdir-p (Makefile.am): Likewise.
60736         * modules/mkdir (Makefile.am): Likewise.
60737         * modules/mkdtemp (Makefile.am): Likewise.
60738         * modules/mkstemp (Makefile.am): Likewise.
60739         * modules/mktime (Makefile.am): Likewise.
60740         * modules/modechange (Makefile.am): Likewise.
60741         * modules/mountlist (Makefile.am): Likewise.
60742         * modules/nanosleep (Makefile.am): Likewise.
60743         * modules/obstack (Makefile.am): Likewise.
60744         * modules/openat (Makefile.am): Likewise.
60745         * modules/pagealign_alloc (Makefile.am): Likewise.
60746         * modules/pathmax (Makefile.am): Likewise.
60747         * modules/physmem (Makefile.am): Likewise.
60748         * modules/poll (Makefile.am): Likewise.
60749         * modules/posixtm (Makefile.am): Likewise.
60750         * modules/posixver (Makefile.am): Likewise.
60751         * modules/putenv (Makefile.am): Likewise.
60752         * modules/quote (Makefile.am): Likewise.
60753         * modules/quotearg (Makefile.am): Likewise.
60754         * modules/raise (Makefile.am): Likewise.
60755         * modules/read-file (Makefile.am): Likewise.
60756         * modules/readline (Makefile.am): Likewise.
60757         * modules/readlink (Makefile.am): Likewise.
60758         * modules/readtokens (Makefile.am): Likewise.
60759         * modules/readutmp (Makefile.am): Likewise.
60760         * modules/realloc (Makefile.am): Likewise.
60761         * modules/regex (Makefile.am): Likewise.
60762         * modules/rename-dest-slash (Makefile.am): Likewise.
60763         * modules/rename (Makefile.am): Likewise.
60764         * modules/rijndael (Makefile.am): Likewise.
60765         * modules/rmdir (Makefile.am): Likewise.
60766         * modules/rpmatch (Makefile.am): Likewise.
60767         * modules/safe-read (Makefile.am): Likewise.
60768         * modules/safe-write (Makefile.am): Likewise.
60769         * modules/same-inode (Makefile.am): Likewise.
60770         * modules/same (Makefile.am): Likewise.
60771         * modules/save-cwd (Makefile.am): Likewise.
60772         * modules/savedir (Makefile.am): Likewise.
60773         * modules/setenv (Makefile.am): Likewise.
60774         * modules/settime (Makefile.am): Likewise.
60775         * modules/sha1 (Makefile.am): Likewise.
60776         * modules/sig2str (Makefile.am): Likewise.
60777         * modules/snprintf (Makefile.am): Likewise.
60778         * modules/stat-macros (Makefile.am): Likewise.
60779         * modules/stat-time (Makefile.am): Likewise.
60780         * modules/stdbool (Makefile.am): Likewise.
60781         * modules/stdint (Makefile.am): Likewise.
60782         * modules/stdlib-safer (Makefile.am): Likewise.
60783         * modules/stpcpy (Makefile.am): Likewise.
60784         * modules/stpncpy (Makefile.am): Likewise.
60785         * modules/strcase (Makefile.am): Likewise.
60786         * modules/strcasestr (Makefile.am): Likewise.
60787         * modules/strchrnul (Makefile.am): Likewise.
60788         * modules/strcspn (Makefile.am): Likewise.
60789         * modules/strdup (Makefile.am): Likewise.
60790         * modules/strerror (Makefile.am): Likewise.
60791         * modules/strftime (Makefile.am): Likewise.
60792         * modules/strndup (Makefile.am): Likewise.
60793         * modules/strnlen (Makefile.am): Likewise.
60794         * modules/strpbrk (Makefile.am): Likewise.
60795         * modules/strsep (Makefile.am): Likewise.
60796         * modules/strstr (Makefile.am): Likewise.
60797         * modules/strtod (Makefile.am): Likewise.
60798         * modules/strtoimax (Makefile.am): Likewise.
60799         * modules/strtok_r (Makefile.am): Likewise.
60800         * modules/strtol (Makefile.am): Likewise.
60801         * modules/strtoll (Makefile.am): Likewise.
60802         * modules/strtoul (Makefile.am): Likewise.
60803         * modules/strtoull (Makefile.am): Likewise.
60804         * modules/strtoumax (Makefile.am): Likewise.
60805         * modules/strverscmp (Makefile.am): Likewise.
60806         * modules/sys_socket (Makefile.am): Likewise.
60807         * modules/sys_stat (Makefile.am): Likewise.
60808         * modules/sysexits (Makefile.am): Likewise.
60809         * modules/time_r (Makefile.am): Likewise.
60810         * modules/timegm (Makefile.am): Likewise.
60811         * modules/timespec (Makefile.am): Likewise.
60812         * modules/tmpfile-safer (Makefile.am): Likewise.
60813         * modules/trim (Makefile.am): Likewise.
60814         * modules/unistd-safer (Makefile.am): Likewise.
60815         * modules/unlinkdir (Makefile.am): Likewise.
60816         * modules/unlocked-io (Makefile.am): Likewise.
60817         * modules/userspec (Makefile.am): Likewise.
60818         * modules/utime (Makefile.am): Likewise.
60819         * modules/utimecmp (Makefile.am): Likewise.
60820         * modules/utimens (Makefile.am): Likewise.
60821         * modules/vasnprintf (Makefile.am): Likewise.
60822         * modules/vasprintf (Makefile.am): Likewise.
60823         * modules/vsnprintf (Makefile.am): Likewise.
60824         * modules/xalloc (Makefile.am): Likewise.
60825         * modules/xgetcwd (Makefile.am): Likewise.
60826         * modules/xnanosleep (Makefile.am): Likewise.
60827         * modules/xreadlink (Makefile.am): Likewise.
60828         * modules/xstrtod (Makefile.am): Likewise.
60829         * modules/xstrtol (Makefile.am): Likewise.
60830         * modules/xstrtold (Makefile.am): Likewise.
60831         * modules/yesno (Makefile.am): Likewise.
60832         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
60833
60834 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
60835
60836         * modules/error (Makefile.am): Distribute files through
60837         EXTRA_DIST, not lib_SOURCES.
60838
60839 2006-10-12  Eric Blake  <ebb9@byu.net>
60840
60841         * modules/error (Makefile.am): Distribute files in /lib.
60842         * modules/obstack (Makefile.am): Likewise.
60843
60844 2006-10-12  Bruno Haible  <bruno@clisp.org>
60845
60846         * modules/acl (Makefile.am): Distribute all files in lib/ through
60847         EXTRA_DIST.
60848         * modules/arcfour (Makefile.am): Likewise.
60849         * modules/arctwo (Makefile.am): Likewise.
60850         * modules/argmatch (Makefile.am): Likewise.
60851         * modules/argz (Makefile.am): Likewise.
60852         * modules/atexit (Makefile.am): Likewise.
60853         * modules/backupfile (Makefile.am): Likewise.
60854         * modules/c-strtod (Makefile.am): Likewise.
60855         * modules/c-strtold (Makefile.am): Likewise.
60856         * modules/calloc (Makefile.am): Likewise.
60857         * modules/canon-host (Makefile.am): Likewise.
60858         * modules/canonicalize (Makefile.am): Likewise.
60859         * modules/chdir-long (Makefile.am): Likewise.
60860         * modules/chdir-safer (Makefile.am): Likewise.
60861         * modules/check-version (Makefile.am): Likewise.
60862         * modules/chown (Makefile.am): Likewise.
60863         * modules/cloexec (Makefile.am): Likewise.
60864         * modules/close-stream (Makefile.am): Likewise.
60865         * modules/closeout (Makefile.am): Likewise.
60866         * modules/crc (Makefile.am): Likewise.
60867         * modules/cycle-check (Makefile.am): Likewise.
60868         * modules/des (Makefile.am): Likewise.
60869         * modules/dirfd (Makefile.am): Likewise.
60870         * modules/dirname (Makefile.am): Likewise.
60871         * modules/dup2 (Makefile.am): Likewise.
60872         * modules/euidaccess (Makefile.am): Likewise.
60873         * modules/exclude (Makefile.am): Likewise.
60874         * modules/exitfail (Makefile.am): Likewise.
60875         * modules/fcntl-safer (Makefile.am): Likewise.
60876         * modules/file-type (Makefile.am): Likewise.
60877         * modules/fileblocks (Makefile.am): Likewise.
60878         * modules/filemode (Makefile.am): Likewise.
60879         * modules/filenamecat (Makefile.am): Likewise.
60880         * modules/fnmatch (Makefile.am): Likewise.
60881         * modules/fopen-safer (Makefile.am): Likewise.
60882         * modules/fpending (Makefile.am): Likewise.
60883         * modules/fprintftime (Makefile.am): Likewise.
60884         * modules/free (Makefile.am): Likewise.
60885         * modules/fsusage (Makefile.am): Likewise.
60886         * modules/ftruncate (Makefile.am): Likewise.
60887         * modules/fts (Makefile.am): Likewise.
60888         * modules/gc (Makefile.am): Likewise.
60889         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
60890         * modules/getaddrinfo (Makefile.am): Likewise.
60891         * modules/getcwd (Makefile.am): Likewise.
60892         * modules/getdelim (Makefile.am): Likewise.
60893         * modules/getdomainname (Makefile.am): Likewise.
60894         * modules/getgroups (Makefile.am): Likewise.
60895         * modules/gethostname (Makefile.am): Likewise.
60896         * modules/gethrxtime (Makefile.am): Likewise.
60897         * modules/getline (Makefile.am): Likewise.
60898         * modules/getloadavg (Makefile.am): Likewise.
60899         * modules/getlogin_r (Makefile.am): Likewise.
60900         * modules/getopt (Makefile.am): Likewise.
60901         * modules/getpass (Makefile.am): Likewise.
60902         * modules/getpass-gnu (Makefile.am): Likewise.
60903         * modules/getsubopt (Makefile.am): Likewise.
60904         * modules/gettime (Makefile.am): Likewise.
60905         * modules/gettimeofday (Makefile.am): Likewise.
60906         * modules/getugroups (Makefile.am): Likewise.
60907         * modules/getusershell (Makefile.am): Likewise.
60908         * modules/glob (Makefile.am): Likewise.
60909         * modules/group-member (Makefile.am): Likewise.
60910         * modules/hard-locale (Makefile.am): Likewise.
60911         * modules/hash (Makefile.am): Likewise.
60912         * modules/hmac-md5 (Makefile.am): Likewise.
60913         * modules/hmac-sha1 (Makefile.am): Likewise.
60914         * modules/human (Makefile.am): Likewise.
60915         * modules/idcache (Makefile.am): Likewise.
60916         * modules/imaxabs (Makefile.am): Likewise.
60917         * modules/imaxdiv (Makefile.am): Likewise.
60918         * modules/inet_ntop (Makefile.am): Likewise.
60919         * modules/inet_pton (Makefile.am): Likewise.
60920         * modules/inttostr (Makefile.am): Likewise.
60921         * modules/isapipe (Makefile.am): Likewise.
60922         * modules/lchown (Makefile.am): Likewise.
60923         * modules/long-options (Makefile.am): Likewise.
60924         * modules/lstat (Makefile.am): Likewise.
60925         * modules/malloc (Makefile.am): Likewise.
60926         * modules/mathl (Makefile.am): Likewise.
60927         * modules/mbchar (Makefile.am): Likewise.
60928         * modules/md2 (Makefile.am): Likewise.
60929         * modules/md4 (Makefile.am): Likewise.
60930         * modules/md5 (Makefile.am): Likewise.
60931         * modules/memcasecmp (Makefile.am): Likewise.
60932         * modules/memchr (Makefile.am): Likewise.
60933         * modules/memcmp (Makefile.am): Likewise.
60934         * modules/memcoll (Makefile.am): Likewise.
60935         * modules/memcpy (Makefile.am): Likewise.
60936         * modules/memmem (Makefile.am): Likewise.
60937         * modules/memmove (Makefile.am): Likewise.
60938         * modules/mempcpy (Makefile.am): Likewise.
60939         * modules/memrchr (Makefile.am): Likewise.
60940         * modules/memset (Makefile.am): Likewise.
60941         * modules/memxor (Makefile.am): Likewise.
60942         * modules/mkancesdirs (Makefile.am): Likewise.
60943         * modules/mkdir (Makefile.am): Likewise.
60944         * modules/mkdir-p (Makefile.am): Likewise.
60945         * modules/mkdtemp (Makefile.am): Likewise.
60946         * modules/mkstemp (Makefile.am): Likewise.
60947         * modules/mktime (Makefile.am): Likewise.
60948         * modules/modechange (Makefile.am): Likewise.
60949         * modules/mountlist (Makefile.am): Likewise.
60950         * modules/nanosleep (Makefile.am): Likewise.
60951         * modules/openat (Makefile.am): Likewise.
60952         * modules/pagealign_alloc (Makefile.am): Likewise.
60953         * modules/physmem (Makefile.am): Likewise.
60954         * modules/poll (Makefile.am): Likewise.
60955         * modules/posixtm (Makefile.am): Likewise.
60956         * modules/posixver (Makefile.am): Likewise.
60957         * modules/putenv (Makefile.am): Likewise.
60958         * modules/quote (Makefile.am): Likewise.
60959         * modules/quotearg (Makefile.am): Likewise.
60960         * modules/raise (Makefile.am): Likewise.
60961         * modules/read-file (Makefile.am): Likewise.
60962         * modules/readline (Makefile.am): Likewise.
60963         * modules/readlink (Makefile.am): Likewise.
60964         * modules/readtokens (Makefile.am): Likewise.
60965         * modules/readutmp (Makefile.am): Likewise.
60966         * modules/realloc (Makefile.am): Likewise.
60967         * modules/regex (Makefile.am): Likewise.
60968         * modules/rename (Makefile.am): Likewise.
60969         * modules/rename-dest-slash (Makefile.am): Likewise.
60970         * modules/rijndael (Makefile.am): Likewise.
60971         * modules/rmdir (Makefile.am): Likewise.
60972         * modules/rpmatch (Makefile.am): Likewise.
60973         * modules/safe-read (Makefile.am): Likewise.
60974         * modules/safe-write (Makefile.am): Likewise.
60975         * modules/same (Makefile.am): Likewise.
60976         * modules/save-cwd (Makefile.am): Likewise.
60977         * modules/savedir (Makefile.am): Likewise.
60978         * modules/setenv (Makefile.am): Likewise.
60979         * modules/settime (Makefile.am): Likewise.
60980         * modules/sha1 (Makefile.am): Likewise.
60981         * modules/sig2str (Makefile.am): Likewise.
60982         * modules/snprintf (Makefile.am): Likewise.
60983         * modules/stdlib-safer (Makefile.am): Likewise.
60984         * modules/stpcpy (Makefile.am): Likewise.
60985         * modules/stpncpy (Makefile.am): Likewise.
60986         * modules/strcase (Makefile.am): Likewise.
60987         * modules/strcasestr (Makefile.am): Likewise.
60988         * modules/strchrnul (Makefile.am): Likewise.
60989         * modules/strcspn (Makefile.am): Likewise.
60990         * modules/strdup (Makefile.am): Likewise.
60991         * modules/strerror (Makefile.am): Likewise.
60992         * modules/strftime (Makefile.am): Likewise.
60993         * modules/strndup (Makefile.am): Likewise.
60994         * modules/strnlen (Makefile.am): Likewise.
60995         * modules/strpbrk (Makefile.am): Likewise.
60996         * modules/strsep (Makefile.am): Likewise.
60997         * modules/strstr (Makefile.am): Likewise.
60998         * modules/strtod (Makefile.am): Likewise.
60999         * modules/strtoimax (Makefile.am): Likewise.
61000         * modules/strtok_r (Makefile.am): Likewise.
61001         * modules/strtol (Makefile.am): Likewise.
61002         * modules/strtoll (Makefile.am): Likewise.
61003         * modules/strtoul (Makefile.am): Likewise.
61004         * modules/strtoull (Makefile.am): Likewise.
61005         * modules/strtoumax (Makefile.am): Likewise.
61006         * modules/strverscmp (Makefile.am): Likewise.
61007         * modules/time_r (Makefile.am): Likewise.
61008         * modules/timegm (Makefile.am): Likewise.
61009         * modules/tmpfile-safer (Makefile.am): Likewise.
61010         * modules/unistd-safer (Makefile.am): Likewise.
61011         * modules/unlinkdir (Makefile.am): Likewise.
61012         * modules/userspec (Makefile.am): Likewise.
61013         * modules/utime (Makefile.am): Likewise.
61014         * modules/utimecmp (Makefile.am): Likewise.
61015         * modules/utimens (Makefile.am): Likewise.
61016         * modules/vasnprintf (Makefile.am): Likewise.
61017         * modules/vasprintf (Makefile.am): Likewise.
61018         * modules/vsnprintf (Makefile.am): Likewise.
61019         * modules/xalloc (Makefile.am): Likewise.
61020         * modules/xgetcwd (Makefile.am): Likewise.
61021         * modules/xnanosleep (Makefile.am): Likewise.
61022         * modules/xreadlink (Makefile.am): Likewise.
61023         * modules/xstrtod (Makefile.am): Likewise.
61024         * modules/xstrtol (Makefile.am): Likewise.
61025         * modules/xstrtold (Makefile.am): Likewise.
61026         * modules/yesno (Makefile.am): Likewise.
61027
61028 2006-10-12  Jim Meyering  <jim@meyering.net>
61029
61030         * m4/getloadavg.m4: Revert the change below.
61031
61032         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
61033         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
61034         fail with a symlink, which is what coreutils' ./bootstrap now
61035         creates by default.
61036
61037 2006-10-12  Bruno Haible  <bruno@clisp.org>
61038
61039         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
61040         mingw.
61041         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
61042         MSVC and mingw explicitly.
61043
61044 2006-10-11  Simon Josefsson  <jas@extundo.com>
61045             Bruno Haible  <bruno@clisp.org>
61046
61047         Add support for multiple gnulib-tool invocations in the scope of a
61048         single configure.ac file.
61049         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
61050         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
61051         with the same contents as the _LIBADD variable.
61052         (func_emit_initmacro_start, func_emit_initmacro_end,
61053         func_emit_initmacro_done): New functions.
61054         (func_import, func_create_testdir): Invoke them. Allow the identifiers
61055         gl_LIBOBJS and gl_LTLIBOBJS.
61056
61057 2006-10-11  Bruno Haible  <bruno@clisp.org>
61058
61059         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
61060         (func_create_testdir): Don't create po/Makefile.am, don't invoke
61061         autoreconf. Instead, invoke autopoint explicitly but move back the
61062         *.m4 files from gnulib.
61063
61064 2006-10-11  Bruno Haible  <bruno@clisp.org>
61065
61066         * gnulib-tool (func_usage): Make module names after --create-testdir
61067         optional.
61068         (func_create_testdir): If no module was specified, use nearly all
61069         modules.
61070
61071 2006-10-12  Jim Meyering  <jim@meyering.net>
61072
61073         Big performance improvement for fts-based tools that use FTS_NOSTAT.
61074         Avoid spurious inode-mismatch problems on non-POSIX file systems.
61075         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
61076         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
61077         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
61078         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
61079         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
61080         (fts_set_stat_required): New function.
61081         (fts_open): Defer the calls to fts_stat, if possible or requested.
61082         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
61083         into fts_stat itself.
61084         (fts_read): Perform any required (deferred) fts_stat call.
61085         (fts_build): Likewise, for the directory we're about to open and read.
61086         In the readdir loop, carefully decide whether each entry will require
61087         an eventual call to fts_stat, using dirent.d_type info if available.
61088         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
61089         a command line argument into this function.  Update all callers.
61090         Map a return value of FTS_DOT to FTS_D for a command line argument.
61091         * modules/fts (Depends-on): Add d-type.  Alphabetize.
61092         Thanks to Miklos Szeredi for his tenacity and for the initial
61093         bug report about "find" failing on a FUSE-based file system.
61094
61095         * lib/fts.c (fts_open): Use consistent indentation.
61096
61097 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
61098
61099         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
61100         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
61101         reported by Jim Meyering.  All uses of cache variables renamed
61102         to match Autoconf's.
61103         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
61104         the other one.
61105
61106         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
61107         Fix misspelling in diagnostic.
61108
61109 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
61110
61111         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
61112         defined.  Problem reported by Matthew Woehlke.
61113
61114         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
61115         Add support for Tandem NonStop R series.
61116         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
61117         Use new macro.
61118
61119         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
61120         (has_trailing_slash): Omit size arg; all callers changed.
61121         Omit 'inline', since it doesn't help performance and we'd
61122         need to configure it.
61123         Don't count //, ///, etc. as having a trailing slash.
61124         As a side effect, this removes a C99ism reported by Matthew Woehlke.
61125         (rpl_rename_dest_slash): On failure, use rename's errno rather
61126         than (in some cases) an incorrect or junk errno.
61127         Simplify code by removing need to compute length; this does
61128         cause it to make two passes instead of one over the file name,
61129         but it's worth it.
61130
61131         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
61132         change, since Autoconf's version may no longer be appropriate now
61133         that we are using CVS Autoconf's version.  Add support for Tandem.
61134
61135 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
61136             Bruno Haible  <bruno@clisp.org>
61137
61138         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
61139         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
61140         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
61141         gl_AC_TYPE_LONG_LONG.
61142
61143         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
61144         instead of HAVE_LONG_LONG.
61145         * lib/printf-args.c (printf_fetchargs): Likewise.
61146         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
61147         * lib/vasnprintf.c (VASNPRINTF): Likewise.
61148         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
61149         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
61150         gl_AC_TYPE_LONG_LONG.
61151
61152 2006-10-11  Bruno Haible  <bruno@clisp.org>
61153
61154         * m4/longlong.m4: Add comments.
61155         * m4/ulonglong.m4: Likewise.
61156
61157 2006-10-10  Bruno Haible  <bruno@clisp.org>
61158
61159         Make it possible to #define stpcpy, strdup to aliases.
61160         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
61161         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
61162
61163 2006-10-10  Bruno Haible  <bruno@clisp.org>
61164
61165         Make it possible to #define gcd to an alias.
61166         * lib/gcd.c: Include config.h.
61167
61168 2006-10-10  Bruno Haible  <bruno@clisp.org>
61169
61170         Make it possible to #define c_isascii to an alias.
61171         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
61172         defined. Undefine the macros before defining them, to avoid gcc
61173         warnings.
61174         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
61175         define NO_C_CTYPE_MACROS early.
61176
61177 2006-10-10  Bruno Haible  <bruno@clisp.org>
61178
61179         Make it possible to #define set_program_name to an alias.
61180         * lib/progname.c: Don't undefine set_program_name; instead, undefine
61181         ENABLE_RELOCATABLE early.
61182
61183 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
61184
61185         Port to Tandem NSK OSS, which has 64-bit signed int but at most
61186         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
61187         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
61188         More generally, don't assume that 64-bit signed int is available
61189         if unsigned int is, and vice versa.
61190         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
61191         unsigned symbols, not on their signed counterparts.
61192         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
61193         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
61194         (UINT64_C, UINTMAX_C):
61195         Likewise.
61196         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
61197         unsigned counterparts.
61198         (Have_long_long, Unsigned): New macros.
61199         (Int): Renamed from INT.
61200         (strtoimax): Use the new macros.
61201         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
61202         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
61203         * modules/inttypes (inttypes.h): Substitute
61204         HAVE_UNSIGNED_LONG_LONG_INT.
61205         * modules/stdint (stdint.h): Likewise.
61206         (Files): Add m4/ulonglong.m4.
61207
61208 2006-10-10  Bruno Haible  <bruno@clisp.org>
61209
61210         Fix a gcc -Wshadow warning.
61211         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
61212         to 'bucket'.
61213         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
61214         gl_linked_indexof_from_to): Likewise.
61215         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
61216         Likewise.
61217         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
61218         Likewise.
61219         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
61220         Reported by Eric Blake.
61221
61222 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
61223
61224         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
61225         for NetBSD.  Problem reported by Bruno Haible.
61226
61227 2006-10-09  Jim Meyering  <jim@meyering.net>
61228
61229         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
61230         Patch from Bruno Haible.
61231
61232 2006-10-09  Jim Meyering  <jim@meyering.net>
61233
61234         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
61235         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
61236         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
61237
61238 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
61239
61240         Don't include <config.h> twice; this doesn't work in some cases,
61241         e.g., when config.h has "#define intmax_t long long int" and
61242         we include <config.h>, <inttypes.h>, <config.h> in that order.
61243         Problem reported by Matthew Woehlke in:
61244         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
61245         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
61246         * lib/fts-cycle.c: Don't include config.h.
61247         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
61248         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
61249         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
61250         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
61251         inttypes.h.
61252         * lib/xstrtoumax.c: Likewise.
61253         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
61254         __strtol and the like, so that this module is more like its siblings.
61255         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
61256         Remove; no longer needed now that we assume gnulib inttypes.h.
61257
61258 2006-10-08  Bruno Haible  <bruno@clisp.org>
61259
61260         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
61261         option.
61262
61263 2006-10-07  Jim Meyering  <jim@meyering.net>
61264
61265         * modules/inttypes (inttypes.h): Revert what seems to have been
61266         an inadvertent part of today's change: use "|", not "/" in the
61267         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
61268
61269 2006-10-07  Bruno Haible  <bruno@clisp.org>
61270
61271         * modules/sublist: New file.
61272
61273 2006-10-07  Bruno Haible  <bruno@clisp.org>
61274
61275         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
61276         * modules/argz (argz.h): Likewise.
61277         * modules/arpa_inet (arpa/inet.h): Likewise.
61278         * modules/byteswap (byteswap.h): Likewise.
61279         * modules/configmake (configmake.h): Likewise.
61280         * modules/fcntl (fcntl.h): Likewise.
61281         * modules/fnmatch (fnmatch.h): Likewise.
61282         * modules/getopt (getopt.h): Likewise.
61283         * modules/glob (glob.h): Likewise.
61284         * modules/inttypes (inttypes.h): Likewise.
61285         * modules/netinet_in (netinet/in.h): Likewise.
61286         * modules/poll (poll.h): Likewise.
61287         * modules/stdbool (stdbool.h): Likewise.
61288         * modules/stdint (stdint.h): Likewise.
61289         * modules/sys_select (sys/select.h): Likewise.
61290         * modules/sys_socket (sys/socket.h): Likewise.
61291         * modules/sys_stat (sys/stat.h): Likewise.
61292         * modules/sysexits (sysexits.h): Likewise.
61293         * modules/unistd (unistd.h): Likewise.
61294         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
61295         Add a "DO NOT EDIT" comment to the generated file.
61296         (func_import): Likewise for gnulib-comp.m4.
61297
61298 2006-10-07  Bruno Haible  <bruno@clisp.org>
61299
61300         * lib/gl_sublist.h: New file.
61301         * lib/gl_sublist.c: New file.
61302
61303 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
61304
61305         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
61306         name (relative to the original working directory) and the file
61307         name component (relative to the temporary working directory).  All
61308         callers changed.
61309         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
61310         * lib/mkdir-p.c (make_dir_parents): Likewise.
61311         * lib/mkdir-p.h (make_dir_parents): Likewise.
61312
61313 2006-10-06  Eric Blake  <ebb9@byu.net>
61314
61315         Define several macros for use by the clean-temp module.
61316         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
61317         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
61318         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
61319
61320         * lib/clean-temp.h (close_stream_temp): New declaration.
61321         * lib/clean-temp.c (includes): Pull in headers according to what
61322         other modules are in use.
61323         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
61324
61325 2006-10-06  Bruno Haible  <bruno@clisp.org>
61326
61327         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
61328         instead of fopen, fwriteerror.
61329
61330 2006-10-06  Bruno Haible  <bruno@clisp.org>
61331
61332         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
61333         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
61334         int.
61335         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
61336         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
61337         Return an error indicator.
61338         Suggested by Eric Blake.
61339
61340 2006-10-06  Bruno Haible  <bruno@clisp.org>
61341
61342         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
61343         Reported by Eric Blake.
61344
61345 2006-10-06  Bruno Haible  <bruno@clisp.org>
61346
61347         * modules/closeout (Description): Mention stderr too.
61348
61349 2006-10-06  Bruno Haible  <bruno@clisp.org>
61350         and Paul Eggert  <eggert@cs.ucla.edu>
61351
61352         * lib/closeout.c (close_stdout): Also close stderr.
61353         * lib/closeout.h: Update comment.
61354
61355 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
61356
61357         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
61358         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
61359         * lib/dirchownmod.c: Include lchown.h.
61360         * lib/lchown.c: Don't include files that lchown.h now includes.
61361         Don't declare chown, since lchown.h now does that.
61362         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
61363         (lchown): Define to rpl_chown if lchown is declared but
61364         does not exist.  Declare using a prototype if lchown is not
61365         declared.  Add a copyright notice.
61366         * lib/mkstemp.h: Include <unistd.h>.
61367         * lib/openat.c: Include lchown.h.
61368
61369         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
61370         we now test for that separately.
61371         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
61372         rather than O_NOFOLLOW, when testing whether it's possible to
61373         avoid a race condition reliably.
61374         * lib/savewd.c (savewd_chdir): Likewise.
61375
61376         Remove macros that are no longer needed now that stdint.h is
61377         reliable.
61378         * lib/fsusage.c (UINTMAX_MAX): Remove.
61379         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
61380         * lib/utimecmp.c (SIZE_MAX): Remove.
61381
61382         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
61383
61384         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
61385         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
61386         O_NOATIME works.
61387
61388 2006-10-05  Bruno Haible  <bruno@clisp.org>
61389
61390         * lib/gl_list.h (gl_sortedlist_search_from_to,
61391         gl_sortedlist_indexof_from_to): New declarations.
61392         (gl_list_implementation): New fields sortedlist_search_from_to,
61393         sortedlist_indexof_from_to.
61394         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
61395         inline functions.
61396         * lib/gl_list.c (gl_sortedlist_search_from_to,
61397         gl_sortedlist_indexof_from_to): New functions.
61398         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
61399         function.
61400         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
61401         (gl_array_sortedlist_search_from_to): New function.
61402         (gl_array_list_implementation): Update.
61403         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
61404         function.
61405         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
61406         (gl_carray_sortedlist_search_from_to): New function.
61407         (gl_carray_list_implementation): Update.
61408         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
61409         gl_linked_sortedlist_indexof_from_to): New functions.
61410         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
61411         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
61412         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
61413         gl_tree_sortedlist_indexof_from_to): New functions.
61414         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
61415         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
61416         Update.
61417         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
61418         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
61419         Update.
61420
61421 2006-10-05  Bruno Haible  <bruno@clisp.org>
61422
61423         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
61424         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
61425         (struct gl_list_implementation): Add fields search_from_to,
61426         indexof_from_to. Remove fields search, indexof.
61427         (gl_list_search): Use the search_from_to method.
61428         (gl_list_search_from, gl_list_search_from_to): New functions.
61429         (gl_list_indexof): Use the indexof_from_to method.
61430         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
61431         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
61432         (gl_list_search_from, gl_list_search_from_to): New functions.
61433         (gl_list_indexof): Use the indexof_from_to method.
61434         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
61435         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
61436         gl_array_indexof. Add start_index, end_index arguments.
61437         (gl_array_search_from_to): Renamed from gl_array_search. Add
61438         start_index, end_index arguments.
61439         (gl_array_remove, gl_array_list_implementation): Update.
61440         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
61441         gl_carray_indexof. Add start_index, end_index arguments.
61442         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
61443         start_index, end_index arguments.
61444         (gl_carray_remove, gl_carray_list_implementation): Update.
61445         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
61446         gl_linked_search. Add start_index, end_index arguments.
61447         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
61448         start_index, end_index arguments.
61449         (gl_linked_remove): Update.
61450         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
61451         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
61452         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
61453         field to 'size_t'.
61454         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
61455         gl_tree_search. Add start_index, end_index arguments.
61456         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
61457         start_index, end_index arguments.
61458         (gl_tree_remove): Update.
61459         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
61460         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
61461         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
61462         function.
61463         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
61464         gl_tree_search. Add start_index, end_index arguments.
61465         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
61466         start_index, end_index arguments.
61467         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
61468         Update.
61469         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
61470
61471 2006-10-05  Bruno Haible  <bruno@clisp.org>
61472
61473         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
61474
61475         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
61476         fwriteerror_temp): New declarations.
61477         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
61478         (descriptors): New variable.
61479         (cleanup): First, close the descriptors.
61480         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
61481         fclose_temp, fwriteerror_temp): New functions.
61482
61483 2006-10-04  Jim Meyering  <jim@meyering.net>
61484
61485         * lib/fts.c (fts_open): Tiny comment change.
61486
61487 2006-10-04  Bruno Haible  <bruno@clisp.org>
61488
61489         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
61490         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
61491         gl_LOCK_BODY.
61492         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
61493         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
61494         gl_LOCK_EARLY_BODY.
61495         (gl_LOCK): Require gl_LOCK_BODY.
61496
61497 2006-10-04  Bruno Haible  <bruno@clisp.org>
61498
61499         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
61500         (gl_oset_search_atleast): New declaration.
61501         (struct gl_oset_implementation): Add field 'search_atleast'.
61502         (gl_oset_search_atleast): New inline function.
61503         * lib/gl_oset.c (gl_oset_search_atleast): New function.
61504         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
61505         (gl_array_oset_implementation): Update.
61506         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
61507         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
61508         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
61509
61510 2006-10-04  Bruno Haible  <bruno@clisp.org>
61511
61512         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
61513
61514 2006-10-03  Bruno Haible  <bruno@clisp.org>
61515
61516         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
61517         from gl_avltreehash_list_implementation.
61518
61519 2006-10-03  Bruno Haible  <bruno@clisp.org>
61520
61521         * lib/gl_oset.c (gl_oset_add): Fix return type.
61522
61523 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
61524
61525         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
61526
61527 2006-10-02  Eric Blake  <ebb9@byu.net>
61528
61529         * modules/strnlen (Depends-on): Add extensions.
61530
61531 2006-10-02  Eric Blake  <ebb9@byu.net>
61532
61533         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
61534         definition in 2.60+.
61535
61536 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
61537
61538         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
61539         checks.
61540
61541 2006-10-02  Bruno Haible  <bruno@clisp.org>
61542
61543         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
61544         to the AUTOMAKE_OPTIONS.
61545         Reported by Jim Meyering.
61546
61547 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
61548
61549         Work around bug in Solaris 10 /proc file system:
61550         /proc/self/fd/NNN/.. isn't the parent directory of
61551         the directory whose file descriptor is NNN.  This needs to
61552         be worked around at run time, not compile time, since a
61553         program might be built on Solaris 8, where things work, and
61554         run on Solaris 10.
61555         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
61556         to use the following interface instead:
61557         (OPENAT_BUFFER_SIZE): New macro.
61558         (openat_proc_name): New function.
61559         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
61560         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
61561         Likewise.
61562         * lib/openat-proc.c: New file.
61563         * modules/openat (Files): Add lib/openat-proc.c.
61564         (Depends-on): Add same-inode, stdbool.
61565         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
61566
61567 2006-09-29  Bruno Haible  <bruno@clisp.org>
61568
61569         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
61570         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
61571         argument. Set stdout_closed before testing for ferror, not after.
61572         (fwriteerror, fwriteerror_no_ebadf): New functions.
61573
61574 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61575
61576         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
61577
61578 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
61579
61580         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
61581         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
61582
61583 2006-09-28  Jim Meyering  <jim@meyering.net>
61584
61585         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
61586         Include <unistd.h>.
61587
61588 2006-09-28  Bruno Haible  <bruno@clisp.org>
61589
61590         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
61591         * modules/linkedhash-list (Depends-on): Likewise.
61592         * modules/rbtreehash-list (Depends-on): Likewise.
61593
61594 2006-09-28  Bruno Haible  <bruno@clisp.org>
61595
61596         * lib/strndup.h: Simplify the redefinition of strndup.
61597         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
61598         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
61599
61600 2006-09-28  Bruno Haible  <bruno@clisp.org>
61601
61602         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
61603         * lib/gl_linkedhash_list.c: Likewise.
61604         * lib/gl_rbtreehash_list.c: Likewise.
61605
61606 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
61607
61608         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
61609         getaddrinfo.
61610
61611         * lib/__fpending.h: Don't include <stdio_ext.h> unless
61612         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
61613         it causes <stdio_ext.h> to cause a compile-time error.
61614         Problem reported by Nelson H. F. Beebe.
61615         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
61616         of HAVE_DECL___PENDING.
61617
61618         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
61619         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
61620         declaration.
61621
61622 2006-09-27  Jim Meyering  <jim@meyering.net>
61623
61624         This file could end up with a definition for a function
61625         named __strndup, rather than rpl_strndup on a system with
61626         incomplete weak_alias support.
61627         * lib/strndup.c (strndup): Rename from __strndup.
61628         Remove #defines that used to map __strndup to strndup.
61629         Don't use K&R prototypes.
61630         Remove LIBC-related code, since this file is not sync'd with glibc.
61631         * lib/strndup.h: Revamp, accordingly.
61632         * m4/strndup.m4: Modernize.
61633
61634 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
61635
61636         * modules/savewd (Depends-on): Add 'raise'.
61637         * lib/savewd.c: Include <signal.h>, for 'raise'.
61638
61639 2006-09-26  Jim Meyering  <jim@meyering.net>
61640
61641         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
61642         when we detect Darwin 8.7.0's acl_get_file bug.
61643         Rearrange to perform the new (below) run-test while $LIBS
61644         contains any acl-related library.  Set USE_ACL at the end.
61645         (gl_ACL_GET_FILE): New function.
61646
61647 2006-09-26  Eric Blake  <ebb9@byu.net>
61648
61649         * lib/verror.c: Include <config.h> unconditionally.
61650
61651 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
61652
61653         * modules/clock-time (Maintainer): Add self.
61654         * modules/getlogin_r (Depends-on): Add extensions.
61655
61656 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61657
61658         * modules/clock-time: New module.
61659         * modules/nanosleep (Depends-on): Add clock-time.
61660         * modules/gethrxtime (Depends-on): Likewise.
61661         * modules/gettime (Depends-on): Likewise.
61662         * modules/settime (Depends-on): Likewise.
61663
61664         * modules/fts-lgpl: Depend on openat.
61665         * modules/mkancesdirs: Depend on savewd.
61666         * modules/mkdir-p: Likewise.
61667
61668 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61669
61670         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
61671
61672         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
61673         `gl_have_arbitrary_file_name_length_limit' to
61674         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
61675         actually works between configure runs.
61676
61677 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61678             Bruno Haible  <bruno@clisp.org>
61679
61680         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
61681
61682 2006-09-25  Jim Meyering  <jim@meyering.net>
61683
61684         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
61685         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
61686
61687 2006-09-25  Eric Blake  <ebb9@byu.net>
61688
61689         * gnulib-tool (func_import, func_create_testdir): Fix typos in
61690         exec's in 2006-09-18 patch when shuffling fds.
61691
61692 2006-09-25  Bruno Haible  <bruno@clisp.org>
61693
61694         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
61695         Reported by Jim Meyering.
61696
61697 2006-09-24  Jim Meyering  <jim@meyering.net>
61698
61699         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
61700         compare a pointer against a literal "0".  That caused failures with
61701         at least HP-UX's hpcc.
61702
61703 2006-09-22  Simon Josefsson  <jas@extundo.com>
61704
61705         * modules/gc-sha1:
61706         * modules/gc-md4:
61707         * modules/gc-hmac-sha1:
61708         * modules/gc-hmac-md5:
61709         * modules/gc-des:
61710         * modules/gc-arcfour: Distribute more files.
61711
61712 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61713
61714         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
61715         (gl_linked_iterator_from_to): Initialize struct completely.
61716         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
61717         (gl_tree_iterator_from_to): Likewise
61718         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
61719         * lib/gl_array_list.c [lint] (gl_array_iterator)
61720         (gl_array_iterator_from_to): Likewise.
61721         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
61722         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
61723         (gl_carray_iterator_from_to): Likewise.
61724
61725         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
61726         * lib/md4.c (md4_process_block): Remove unused variable.
61727         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
61728         parentheses for clarity.
61729
61730 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61731
61732         * modules/bison-i18n (Depends-on): Add gettext.
61733
61734 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61735
61736         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
61737         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
61738         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
61739         also add missing comma that caused broken test.
61740         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
61741         stdlib.h, for `abort'.
61742         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
61743         variables.
61744         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
61745         include unistd.h if present, for `rmdir'.
61746         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
61747         variables.
61748         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
61749         in the process include standard headers for prototypes.
61750         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
61751         gets declared on GNU/Linux.
61752         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
61753         unistd.h, for `rmdir'.
61754         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
61755
61756         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
61757         always true.
61758         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
61759
61760         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
61761
61762 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61763
61764         * gnulib-tool (func_version): Create output all at once.  This
61765         may help avoid triggering unnecessary SIGPIPEs, and at any
61766         rate it doesn't hurt.
61767
61768 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61769             Bruno Haible  <bruno@clisp.org>
61770
61771         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
61772         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
61773         * m4/signed.m4 (bh_C_SIGNED): Likewise.
61774
61775         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
61776         (gl_FUNC_VASPRINTF): Invoke it.
61777
61778 2006-09-22  Bruno Haible  <bruno@clisp.org>
61779
61780         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
61781         getloadavg.c as first argument.
61782
61783 2006-09-22  Bruno Haible  <bruno@clisp.org>
61784
61785         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
61786         at the beginning of the gl_INIT macro.
61787         * modules/getloadavg (configure.ac): Pass $gl_source_base to
61788         gl_GETLOADAVG.
61789
61790 2006-09-22  Bruno Haible  <bruno@clisp.org>
61791
61792         * gnulib-tool (func_create_megatestdir): Don't include the config-h
61793         module.
61794         Suggested by Ralf Wildenhues.
61795
61796 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
61797
61798         Import this patch from libc:
61799
61800         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
61801
61802         * lib/regex_internal.c (re_string_reconstruct): Handle
61803         offset < pstr->valid_raw_len && pstr->offsets_needed case.
61804         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
61805         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
61806         re_string_context_at.
61807
61808         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
61809         now requires it.
61810         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
61811         gl_REGEX now does it for us.
61812         (gl_REGEX): Add test taken from
61813         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
61814
61815         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
61816         Check that large offsets work.  Modernize Autoconf usages.
61817         Prefer "yes" to mean a good thing rather than a bad.
61818         Don't put "#define mkstemp" in config.h, as this might interfere
61819         with standard system headers that "#define mkstemp mkstemp64".
61820
61821         * modules/mkstemp (Depends-on): Add extensions, so that
61822         mkstemp is visible on some platforms.
61823         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
61824         (Include): Change to "mkstemp.h" from <stdlib.h>.
61825         (Files): Add mkstemp.h.
61826
61827         * lib/mkstemp.h: New file, since some standard headers
61828         #define mkstemp.
61829         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
61830         Include "mkstemp.h".
61831         Make the _LIBC code resemble glibc original more,
61832         e.g., use K&R style.
61833         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
61834         (mkstemp): Remove, since mkstemp.h does this for us.
61835         * lib/stdlib--.h: Include mkstemp.h.
61836
61837         Import this patch from libc:
61838
61839         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
61840
61841         * lib/tempname.c (__gen_tempname): Change attempts_min
61842         into a macro.  Use preprocessor to decide how to initialize
61843         attempts [Coverity CID 67].
61844
61845 2006-09-20  Bruno Haible  <bruno@clisp.org>
61846
61847         * lib/mkdtemp.c: Import from libc.
61848         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
61849                 * sysdeps/posix/tempname.c (__gen_tempname): Change
61850                 attempts_min into a macro.  Use preprocessor to decide how to
61851                 initialize attempts [Coverity CID 67].
61852         2001-11-27  Paul Eggert  <eggert@twinsun.com>
61853                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
61854                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
61855
61856 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61857
61858         * gnulib-tool (func_exit): New function, to allow to pass the
61859         exit status portably through the trap.  Use everywhere.
61860         (--help, --version): Signal a write error.
61861         (trap): catch SIGPIPE, for write errors.
61862         Exit at the end of the trap, with the correct exit status.
61863
61864 2006-09-19  Karl Berry  <karl@gnu.org>
61865
61866         * doc/gnulib.texi: note about the license texinfo files.
61867
61868 2006-09-19  Eric Blake  <ebb9@byu.net>
61869
61870         * gnulib-tool: Avoid space-tab.
61871
61872 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
61873
61874         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
61875         that prevented coreutils 6.1 from building.  Problem reported
61876         by Petter Reinholdtsen.
61877
61878 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
61879
61880         * gnulib-tool (avoidlist): Fix typo that broke options like
61881         --avoid=lock that are used by coreutils bootstrap.
61882
61883 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
61884
61885         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
61886         more systematically.
61887
61888 2006-09-18  Jim Meyering  <jim@meyering.net>
61889
61890         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
61891
61892 2006-09-18  Bruno Haible  <bruno@clisp.org>
61893
61894         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
61895
61896 2006-09-18  Bruno Haible  <bruno@clisp.org>
61897
61898         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
61899         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
61900         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
61901         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
61902         * m4/gettext.m4: Require autoconf >= 2.52.
61903         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
61904         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
61905         of gl_cv_header_inttypes_h.
61906
61907 2006-09-18  Bruno Haible  <bruno@clisp.org>
61908
61909         * lib/javaversion.c: Include configmake.h.
61910
61911 2006-09-18  Bruno Haible  <bruno@clisp.org>
61912
61913         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
61914         avoid that the while loops be executed in a subshell.
61915
61916 2006-09-18  Bruno Haible  <bruno@clisp.org>
61917
61918         * MODULES.html.sh (func_module): Break long lines.
61919         Suggested by Bruce Korb <bkorb@gnu.org>.
61920
61921 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61922
61923         Speed up by a factor of 1.12.
61924         * gnulib-tool (nl): New variable.
61925         (func_import): Rewrite include directive extraction to only read each
61926         directive once.
61927
61928 2006-09-17  Bruno Haible  <bruno@clisp.org>
61929
61930         * modules/javaversion (Makefile.am): Remove DEFS setting.
61931         (Depends-on): Add configmake, for PKGDATADIR definition.
61932
61933 2006-09-17  Bruno Haible  <bruno@clisp.org>
61934
61935         * gnulib-tool (func_create_testdir): Rewrite all files at once.
61936
61937 2006-09-17  Bruno Haible  <bruno@clisp.org>
61938
61939         * gnulib-tool (func_append): New function, stolen from libtool.m4.
61940         (func_modules_transitive_closure, func_modules_add_dummy,
61941         func_modules_to_filelist, func_import, func_create_testdir,
61942         func_create_megatestdir, ...): Use it wherever possible.
61943         Suggested by Ralf Wildenhues.
61944
61945 2006-09-16  Karl Berry  <karl@gnu.org>
61946
61947         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
61948         to avoid sectioning errors.
61949         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
61950         [ifinfo]: blank line after @center-ed titles.
61951         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
61952         Spell FSF address consistently with others.
61953         (These changes approved by rms.)
61954
61955 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61956
61957         Speed up by a factor of 1.61.
61958         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
61959         already checked module names again.
61960
61961 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61962
61963         Speed up by a factor of 1.13.
61964         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
61965         for new_files, and the input to func_add_or_update.
61966
61967 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61968
61969         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
61970         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
61971
61972 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
61973
61974         * modules/mkancesdirs (Depends-on): Add fcntl.
61975         * modules/savewd: New file.
61976         * MODULES.html.sh (File system functions): Add savewd.
61977
61978         * modules/configmake (Makefile.am): Add support for the
61979         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
61980
61981 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
61982
61983         * m4/savewd.m4: New file.
61984
61985 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
61986
61987         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
61988         (dirchownmod): New arg FD.  All callers changed.
61989         Use FD rather than opening the directory ourself, as opening is
61990         now the caller's responsibility.
61991         * lib/dirchownmod.h: Likewise.
61992         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
61993         hosts that require <sys/types.h> before <sys/stat.h>.  Include
61994         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
61995         (test_dir): Remove.
61996         (mkancesdirs): Return length of prefix of FILE that has already
61997         been made, or -2 if there is a child doing the work.  Redo
61998         algorithm so that it is O(N) rather than O(N**2).  Optimize away
61999         ".", and treat ".." specially since it might stray back into
62000         already-created areas.  Use a subprocess if necessary.  New arg
62001         WD; all users changed.  MAKE_DIR function should now return 1
62002         if it creates a directory that is not readable.  Return -2 if
62003         a child process is spun off.
62004         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
62005         Adjust signature to match code.
62006         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
62007         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
62008         all users changed.
62009         * lib/savewd.c, lib/savewd.h: New files.
62010
62011 2006-09-15  Jim Meyering  <jim@meyering.net>
62012
62013         * modules/rename-dest-slash: New module.
62014         * MODULES.html.sh (posix_compat): Add it here.
62015
62016         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
62017
62018 2006-09-15  Jim Meyering  <jim@meyering.net>
62019
62020         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
62021         file.
62022
62023         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
62024
62025 2006-09-15  Jim Meyering  <jim@meyering.net>
62026
62027         * lib/rename-dest-slash.c (has_trailing_slash): Use
62028         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
62029         (rpl_rename_dest_slash): Perform the cheaper trailing slash
62030         test before testing whether SRC is a directory.
62031         Suggestions from Bruno Haible.
62032
62033         Avoid a warning about an unused variable.
62034         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
62035         into the #ifdef block where it's used.
62036
62037         * lib/rename-dest-slash.c: New file.
62038
62039 2006-09-14  Bruno Haible  <bruno@clisp.org>
62040
62041         * lib/allocsa.c: Include <config.h> unconditionally.
62042         * lib/asnprintf.c: Likewise.
62043         * lib/asprintf.c: Likewise.
62044         * lib/c-strcasecmp.c: Likewise.
62045         * lib/c-strcasestr.c: Likewise.
62046         * lib/c-strncasecmp.c: Likewise.
62047         * lib/c-strstr.c: Likewise.
62048         * lib/classpath.c: Likewise.
62049         * lib/clean-temp.c: Likewise.
62050         * lib/concatpath.c: Likewise.
62051         * lib/copy-file.c: Likewise.
62052         * lib/csharpcomp.c: Likewise.
62053         * lib/csharpexec.c: Likewise.
62054         * lib/execute.c: Likewise.
62055         * lib/fatal-signal.c: Likewise.
62056         * lib/findprog.c: Likewise.
62057         * lib/fwriteerror.c: Likewise.
62058         * lib/gl_array_list.c: Likewise.
62059         * lib/gl_array_oset.c: Likewise.
62060         * lib/gl_avltree_list.c: Likewise.
62061         * lib/gl_avltree_oset.c: Likewise.
62062         * lib/gl_avltreehash_list.c: Likewise.
62063         * lib/gl_carray_list.c: Likewise.
62064         * lib/gl_linked_list.c: Likewise.
62065         * lib/gl_linkedhash_list.c: Likewise.
62066         * lib/gl_list.c: Likewise.
62067         * lib/gl_oset.c: Likewise.
62068         * lib/gl_rbtree_list.c: Likewise.
62069         * lib/gl_rbtree_oset.c: Likewise.
62070         * lib/gl_rbtreehash_list.c: Likewise.
62071         * lib/imaxabs.c: Likewise.
62072         * lib/imaxdiv.c: Likewise.
62073         * lib/javacomp.c: Likewise.
62074         * lib/javaexec.c: Likewise.
62075         * lib/javaversion.c: Likewise.
62076         * lib/linebreak.c: Likewise.
62077         * lib/localcharset.c: Likewise.
62078         * lib/lock.c: Likewise.
62079         * lib/mbchar.c: Likewise.
62080         * lib/mbswidth.c: Likewise.
62081         * lib/mkdtemp.c: Likewise.
62082         * lib/pipe.c: Likewise.
62083         * lib/printf-args.c: Likewise.
62084         * lib/printf-parse.c: Likewise.
62085         * lib/progname.c: Likewise.
62086         * lib/progreloc.c: Likewise.
62087         * lib/readlink.c: Likewise.
62088         * lib/sh-quote.c: Likewise.
62089         * lib/stpcpy.c: Likewise.
62090         * lib/stpncpy.c: Likewise.
62091         * lib/strcasecmp.c: Likewise.
62092         * lib/strcasestr.c: Likewise.
62093         * lib/strcspn.c: Likewise.
62094         * lib/striconv.c: Likewise.
62095         * lib/strncasecmp.c: Likewise.
62096         * lib/strnlen1.c: Likewise.
62097         * lib/strstr.c: Likewise.
62098         * lib/strtok_r.c: Likewise.
62099         * lib/tls.c: Likewise.
62100         * lib/tmpdir.c: Likewise.
62101         * lib/unicodeio.c: Likewise.
62102         * lib/unsetenv.c: Likewise.
62103         * lib/vasnprintf.c: Likewise.
62104         * lib/vasprintf.c: Likewise.
62105         * lib/wait-process.c: Likewise.
62106         * lib/xallocsa.c: Likewise.
62107         * lib/xsetenv.c: Likewise.
62108         * lib/xstriconv.c: Likewise.
62109
62110 2006-09-13  Simon Josefsson  <jas@extundo.com>
62111
62112         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
62113         that internally, suggested by Ralf Wildenhues
62114         <Ralf.Wildenhues@gmx.de>.
62115
62116 2006-09-13  Simon Josefsson  <jas@extundo.com>
62117
62118         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
62119         @LIBOBJS@.
62120         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62121
62122 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
62123
62124         * lib/_fpending.c: Include <config.h> unconditionally, since we no
62125         longer worry about uses that don't define HAVE_CONFIG_H.
62126         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
62127         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
62128         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
62129         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
62130         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
62131         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
62132         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
62133         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
62134         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
62135         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
62136         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
62137         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
62138         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
62139         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
62140         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
62141         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
62142         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
62143         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
62144         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
62145         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
62146         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
62147         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
62148         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
62149         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
62150         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
62151         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
62152         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
62153         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
62154         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
62155         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
62156         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
62157         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
62158         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
62159         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
62160         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
62161         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
62162         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
62163         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
62164         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
62165         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
62166         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
62167         Likewise.
62168
62169 2006-09-13  Eric Blake  <ebb9@byu.net>
62170
62171         * lib/getopt.c: Fix typo in last commit.
62172
62173 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
62174
62175         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
62176         dgettext.
62177
62178 2006-09-12  Jim Meyering  <jim@meyering.net>
62179
62180         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
62181         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
62182         Reported by Nelson H. F. Beebe.
62183
62184 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
62185
62186         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
62187         program_invocation_name and program_invocation_short_name are
62188         initialized.
62189         * lib/argp-namefrob.h: Move declarations of program_invocation_name
62190         and program_invocation_short_name to argp.h, so they are visible
62191         to user programs.
62192         * lib/argp.h: Likewise
62193
62194 2006-09-10  Bruno Haible  <bruno@clisp.org>
62195
62196         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
62197         m4/inttypes_h.m4, m4/uintmax_t.m4.
62198
62199 2006-09-10  Bruno Haible  <bruno@clisp.org>
62200
62201         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
62202         gl_AC_TYPE_UINTMAX_T.
62203
62204 2006-09-10  Bruno Haible  <bruno@clisp.org>
62205
62206         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
62207
62208 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
62209
62210         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
62211         convention.  Text proposed by Bruno Haible.
62212         (struct argp_option): Document the use of N_() wrappers.
62213
62214         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
62215         '\v', and translate the two parts separately, instead of feeding
62216         the whole string to gettext.  This allows to exclude
62217         '\v' from the strings visible to the translator by writing doc
62218         strings as N_("..") "\v" N_("..").
62219
62220 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
62221
62222         * config/srclist.txt: Undo latest change; the bug was fixed.
62223
62224 2006-09-09  Bruno Haible  <bruno@clisp.org>
62225
62226         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
62227         assignments if building a library without libtool.
62228         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
62229         in func_emit_lib_Makefile_am.
62230         (func_import): When building a static library libfoo.a, arrange to
62231         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
62232         (func_create_testdir): Likewise.
62233         * modules/gc (configure.ac, Makefile.am): If building statically,
62234         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
62235         * modules/iconvme (configure.ac, Makefile.am): Likewise.
62236         * modules/striconv (configure.ac, Makefile.am): Likewise.
62237         Based on a suggestion by Ralf Wildenhues.
62238
62239 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
62240
62241         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
62242         Check for unistd.h too, since Autoconf doesn't assume POSIX.
62243         Also:
62244
62245         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
62246         Add year_2050_test to catch glibc bug 2821
62247         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
62248
62249         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
62250         Prefer #ifdef to #if.
62251
62252         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
62253         Return from 'main' instead of calling 'exit'.
62254
62255 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
62256
62257         * lib/mktime.c (guess_time_tm): Fix bug where mktime
62258         returned the maximum time_t value rather than (time_t) -1.
62259         Problem originally reported by William Bardwell
62260         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
62261
62262         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
62263         Moved to here ...
62264         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
62265         ... from here.
62266
62267 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
62268
62269         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
62270         2821 is fixed.
62271
62272 2006-09-08  Jim Meyering  <jim@meyering.net>
62273
62274         Don't make generated files read-only.  That would bother too many
62275         people.  However, do retain the ability to work when targets are
62276         read-only: remove the destination and temporary files before writing
62277         them (when generated via sed or echo), or by using the -f option for
62278         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
62279         * modules/alloca-opt, modules/argz, modules/arpa_inet:
62280         * modules/byteswap, modules/configmake, modules/fcntl:
62281         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
62282         * modules/localcharset, modules/netinet_in, modules/poll:
62283         * modules/stdbool, modules/stdint, modules/sys_select:
62284         * modules/sys_socket, modules/sys_stat, modules/sysexits:
62285
62286 2006-09-08  Jim Meyering  <jim@meyering.net>
62287
62288         Avoid new build failure on FreeBSD 6.0.
62289         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
62290         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
62291         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
62292
62293 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62294
62295         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
62296
62297 2006-09-07  Jim Meyering  <jim@meyering.net>
62298
62299         Fix global typo in last change: use chmod u-w, not chmod u-x.
62300         Spotted by Paul Eggert and Bruce Korb.
62301         * modules/alloca-opt, modules/argz, modules/arpa_inet:
62302         * modules/byteswap, modules/configmake, modules/fcntl:
62303         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
62304         * modules/localcharset, modules/netinet_in, modules/poll:
62305         * modules/stdbool, modules/stdint, modules/sys_select:
62306         * modules/sys_socket, modules/sys_stat, modules/sysexits:
62307
62308 2006-09-06  Jim Meyering  <jim@meyering.net>
62309
62310         Make generated files be read-only.
62311         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
62312         Ensure that each generated file is now read-only.
62313         * modules/argz: Likewise.
62314         * modules/arpa_inet: Likewise.
62315         * modules/byteswap: Likewise.
62316         * modules/configmake: Likewise.
62317         * modules/fcntl: Likewise.
62318         * modules/fnmatch: Likewise.
62319         * modules/getopt: Likewise.
62320         * modules/glob: Likewise.
62321         * modules/inttypes: Likewise.
62322         * modules/netinet_in: Likewise.
62323         * modules/poll: Likewise.
62324         * modules/stdbool: Likewise.
62325         * modules/stdint: Likewise.
62326         * modules/sys_select: Likewise.
62327         * modules/sys_socket: Likewise.
62328         * modules/sys_stat: Likewise.
62329         * modules/sysexits: Likewise.
62330         * modules/localcharset: Same as above, but continue using temporary
62331         file named "t-$@" (why different?) rather than the "$@-t" used
62332         everywhere else.
62333
62334         * modules/sysexits (Makefile.am): Replace literal occurrences
62335         of "sysexit.h" more readable, and more consistent, "$@".
62336
62337 2006-09-06  Bruno Haible  <bruno@clisp.org>
62338
62339         * modules/striconv: New file.
62340         * modules/xstriconv: New file.
62341         * MODULES.html.sh (Internationalization functions): Add striconv,
62342         xstriconv.
62343
62344 2006-09-06  Bruno Haible  <bruno@clisp.org>
62345
62346         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
62347         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
62348         not using libtool correctly.
62349
62350 2006-09-06  Bruno Haible  <bruno@clisp.org>
62351
62352         * lib/striconv.h: New file.
62353         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
62354         iconvstring.c.
62355         * lib/xstriconv.h: New file.
62356         * lib/xstriconv.c: New file.
62357
62358 2006-09-06  Bruno Haible  <bruno@clisp.org>
62359
62360         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
62361         lib_..._LDFLAGS.
62362
62363 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62364
62365         * lib/argz_.h: Sync from Libtool.
62366
62367         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
62368                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
62369
62370         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
62371
62372 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
62373
62374         * modules/trim: New file.
62375
62376 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
62377
62378         * lib/trim.h: New file.
62379         * lib/trim.c: New file.
62380
62381 2006-09-05  Bruno Haible  <bruno@clisp.org>
62382
62383         * MODULES.html.sh (String handling): Add trim.
62384
62385 2006-09-04  Karl Berry  <karl@gnu.org>
62386
62387         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
62388         until next release.
62389
62390 2006-09-03  Bruno Haible  <bruno@clisp.org>
62391
62392         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
62393         correctly.
62394
62395 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
62396
62397         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
62398         not gl_GETLOADAVG.  Omit unneeded semicolons.
62399         Problems reported by Ralf Wildenhues in
62400         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
62401         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
62402         at the end, which is the usual gnulib style.
62403
62404         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
62405         of doing all the work ourselves.
62406         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
62407         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
62408
62409 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
62410
62411         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
62412         Problem reported by Ralf Wildenhues in
62413         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
62414
62415         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
62416         HAVE_STRUCT_STATFS_F_FSTYPENAME.
62417
62418 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
62419
62420         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
62421         yesterday's patch by changing test -n to test -z.
62422
62423 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
62424
62425         * modules/getloadavg (Files): Add m4/getloadavg.m4.
62426         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
62427         the former is now obsolescent.
62428
62429         * modules/chdir-long (Depends-on): Add fcntl.
62430
62431 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
62432
62433         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
62434         obsolescent, and programs should use gnulib instead.
62435         * m4/getloadavg.m4: New file, with contents taken from Autoconf
62436         but with prefixes changed.
62437
62438 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
62439
62440         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
62441         or stdbool.h, because they might not exist while configuring.
62442
62443         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
62444         Don't include unistd.h or limits.h; not needed, since chdir-long.h
62445         does that for us.
62446         (O_DIRECTORY): Remove.
62447
62448 2006-08-31  Eric Blake  <ebb9@byu.net>
62449
62450         * gnulib-tool: Don't let emacs change spaces to TAB.
62451
62452 2006-08-31  Bruno Haible  <bruno@clisp.org>
62453
62454         * gnulib-tool: When calling func_import more than once, do it in a
62455         subshell.
62456         Reported by Eric Blake <ebb9@byu.net>.
62457
62458 2006-08-31  Bruno Haible  <bruno@clisp.org>
62459
62460         * gnulib-tool (nl): Remove variable.
62461         (sed_transform_lib_file): Use more robust test for config-h module.
62462         (func_import): Fix typo in 2006-08-25 patch.
62463
62464 2006-08-31  Bruno Haible  <bruno@clisp.org>
62465
62466         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
62467         specified, augment Makefile.am variables instead of assigning them.
62468
62469 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
62470
62471         Work around a bug in both the Linux and SunOS 64-bit kernels:
62472         nanosleep mishandles sleeps for longer than 2**31 seconds.
62473         Problem reported by Frank v Waveren in
62474         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
62475         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
62476         Check for nanosleep bug.
62477         (LIB_NANOSLEEP): Append clock_gettime library if needed.
62478
62479 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
62480
62481         Work around a bug in both the Linux and SunOS 64-bit kernels:
62482         nanosleep mishandles sleeps for longer than 2**31 seconds.
62483         Problem reported by Frank v Waveren in
62484         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
62485         * lib/nanosleep.c (BILLION): New constant.
62486         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
62487         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
62488         implementation.
62489
62490 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
62491
62492         * modules/nanosleep (Depends-on): Add gettime.
62493
62494 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
62495         and Simon Josefsson  <jas@extundo.com>
62496         and Oskar Liljeblad  <oskar@osk.mine.nu>
62497
62498         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
62499         * gnulib-tool (func_import): New license type 'unmodifiable license
62500         text'.
62501         * modules/fdl: Use it.  Longer description.
62502         * module/gpl, module/lgpl: New files.
62503
62504 2006-08-30  Jim Meyering  <jim@meyering.net>
62505
62506         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
62507         shadowing the parameter.
62508
62509 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62510
62511         Sync from Libtool:
62512
62513         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62514
62515         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
62516         sharing with gnulib.  Report by Eric Blake.
62517
62518 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
62519
62520         * modules/isapipe: New file.
62521         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
62522
62523 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
62524
62525         * modules/configmake (Makefile.am): Add a comment, and omit
62526         the CONFIGMAKE_ prefix from generated macro names.  Suggested
62527         by Bruno Haible.
62528
62529 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
62530
62531         * m4/isapipe.m4: New file.
62532
62533 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
62534
62535         * lib/isapipe.c, lib/isapipe.h: New files.
62536
62537 2006-08-29  Jim Meyering  <jim@meyering.net>
62538
62539         * modules/configmake (Makefile.am): Make configmake.h depend on
62540         Makefile.  Otherwise, a stale configmake.h could hang around.
62541
62542 2006-08-29  Eric Blake  <ebb9@byu.net>
62543
62544         * lib/error.c (error_at_line, print_errno_message): Match libc, after
62545         resolution of upstream bug 3044.
62546
62547 2006-08-29  Bruno Haible  <bruno@clisp.org>
62548
62549         * modules/localcharset (Depends-on): Add configmake.
62550         (Makefile.am): Remove setting of LIBDIR through DEFS.
62551
62552 2006-08-29  Bruno Haible  <bruno@clisp.org>
62553
62554         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
62555         defined.
62556
62557 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
62558
62559         * modules/fcntl: New file.
62560         * modules/chdir-safer (Depends-on): Add fcntl.
62561         * modules/fts: Likewise.
62562         * modules/mkdir-p: Likewise.
62563
62564         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
62565         This undoes the most recent change, since we're now addressing the
62566         problem in a different way.
62567
62568         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
62569         into output, since the output might be called Makefile.am even
62570         if $makefile_name is something different.
62571         (func_import): Use $makefile_am rather than
62572         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
62573         empty.
62574
62575         * modules/inttypes (Files): Add m4/inttypes-h.m4.
62576
62577 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
62578
62579         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
62580         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
62581         recent change to stdint.m4, since we're now addressing the problem in a
62582         different way.
62583
62584 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
62585
62586         * m4/fcntl_h.m4: New file.
62587
62588 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
62589
62590         * lib/fcntl_.h: New file.
62591         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
62592         the fcntl module.
62593         * lib/dirchownmod.c: Likewise.
62594         * lib/fts.c: Likewise.
62595
62596         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
62597         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
62598         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
62599         just before including <inttypes.h>, to avoid circular inclusion.
62600
62601 2006-08-28  Jim Meyering  <jim@meyering.net>
62602
62603         * doc/visibility.texi: Actually read and correct the grammar of the
62604         sentence affected by yesterday's change.
62605
62606 2006-08-28  Eric Blake  <ebb9@byu.net>
62607
62608         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
62609         needs wrapper.
62610
62611 2006-08-28  Eric Blake  <ebb9@byu.net>
62612
62613         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
62614
62615 2006-08-28  Eric Blake  <ebb9@byu.net>
62616
62617         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
62618
62619 2006-08-28  Bruno Haible  <bruno@clisp.org>
62620
62621         * modules/c-strstr: New file, from GNU gettext.
62622         * MODULES.html.sh (String handling): Add c-strstr.
62623
62624 2006-08-28  Bruno Haible  <bruno@clisp.org>
62625
62626         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
62627         macros.
62628         Reported by Eric Blake.
62629
62630 2006-08-28  Bruno Haible  <bruno@clisp.org>
62631
62632         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
62633         (VASNPRINTF): Return a string of length > INT_MAX without failing.
62634         * lib/vasprintf.c: Include errno.h, limits.h.
62635         (EOVERFLOW): New fallback definition.
62636         (vasprintf): Test here whether the string length is > INT_MAX.
62637         * lib/vsnprintf.c: Include errno.h, limits.h.
62638         (EOVERFLOW): New fallback definition.
62639         (vsnprintf): Fix bug when generated string was too long for the buffer.
62640         Test here whether the string length is > INT_MAX.
62641
62642 2006-08-28  Bruno Haible  <bruno@clisp.org>
62643
62644         * lib/inttypes_.h (SCNX*): Remove definitions.
62645         Reported by Eric Blake.
62646
62647 2006-08-28  Bruno Haible  <bruno@clisp.org>
62648
62649         * lib/c-strstr.h: New file, from GNU gettext.
62650         * lib/c-strstr.c: New file, from GNU gettext.
62651
62652 2006-08-28  Bruno Haible  <bruno@clisp.org>
62653
62654         * gnulib-tool: Reorder some statements.
62655
62656 2006-08-28  Bruno Haible  <bruno@clisp.org>
62657
62658         * gnulib-tool: New option --makefile-name.
62659         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
62660         $makefile_name.
62661         (func_import): Write $makefile_name to the cache file, and read it from
62662         there unless explicitly specified. Use $makefile_name as file name
62663         instead of Makefile.am. Adjust the recommendations accordingly.
62664
62665 2006-08-28  Bruno Haible  <bruno@clisp.org>
62666
62667         * gnulib-tool (func_verify_module): Check against misapplying patch.
62668
62669 2006-08-28  Bruno Haible  <bruno@clisp.org>
62670
62671         * gnulib-tool (func_relativize, func_relconcat): New functions.
62672         Give an error if --local-dir is given with --update.
62673         Remove trailing slashes from $local_gnulib_dir.
62674         (func_import): Store the relativized $local_gnulib_dir in
62675         gnulib-cache.m4, and read it from there if not specified explicitly.
62676
62677 2006-08-28  Bruno Haible  <bruno@clisp.org>
62678
62679         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
62680         is the current directory. Respect also $local_gnulib_dir.
62681
62682 2006-08-28  Bruno Haible  <bruno@clisp.org>
62683             Simon Josefsson  <jas@extundo.com>
62684
62685         BeOS portability.
62686         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
62687
62688 2006-08-27  Jim Meyering  <jim@meyering.net>
62689
62690         * doc/visibility.texi: Remove duplicate word: "pointer".
62691
62692 2006-08-26  Bruno Haible  <bruno@clisp.org>
62693
62694         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
62695         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
62696         (Makefile.am): Create inttypes.h from inttypes_.h.
62697         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
62698
62699         * modules/imaxabs: New file.
62700
62701         * modules/imaxdiv: New file.
62702
62703 2006-08-26  Bruno Haible  <bruno@clisp.org>
62704
62705         * m4/inttypes.m4: New file.
62706         * m4/_inttypes_h.m4: Remove file.
62707         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
62708         PRI_MACROS_BROKEN.
62709         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
62710
62711         * m4/imaxabs.m4: New file.
62712
62713         * m4/imaxdiv.m4: New file.
62714
62715 2006-08-26  Bruno Haible  <bruno@clisp.org>
62716
62717         * lib/inttypes_.h: New file.
62718         * lib/inttypes.h: Remove file.
62719         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
62720
62721         * lib/imaxabs.c: New file.
62722
62723         * lib/imaxdiv.c: New file.
62724
62725 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
62726
62727         New config-h module, so that "make" output needn't be cluttered
62728         by -DHAVE_CONFIG_H.
62729         * MODULES.html.sh (Support for building libraries and executables):
62730         Add config-h.
62731         * modules/config-h: New file.
62732         * gnulib-tool (nl, sed_transform_lib_file): New vars.
62733         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
62734         the config-h module is used.
62735
62736         New configmake module, so that "make" output needn't be cluttered
62737         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
62738         * MODULES.html.sh (Support for building libraries and executables):
62739         Add configmake.
62740         * modules/configmake: New file.
62741
62742 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
62743
62744         * m4/config-h.m4: New file.
62745
62746 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
62747
62748         * config/srclist.txt: Add elisp-comp.
62749
62750 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
62751
62752         * MODULES.html.sh (Support for building libraries and executables):
62753         Add elisp-comp.
62754         * build-aux/elisp-comp: New file.
62755         * modules/elisp-comp: New file.
62756
62757 2006-08-24  Bruno Haible  <bruno@clisp.org>
62758
62759         * gnulib-tool (func_create_testdir): Use non-default values of
62760         sourcebase and m4base.
62761
62762 2006-08-24  Bruno Haible  <bruno@clisp.org>
62763
62764         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
62765         HTML structure.
62766
62767 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
62768
62769         * modules/openat (Depends-on): Add lchown.
62770
62771 2006-08-23  Bruno Haible  <bruno@clisp.org>
62772
62773         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
62774         of gl_LOCK_EARLY instead of gl_LOCK.
62775
62776 2006-08-23  Bruno Haible  <bruno@clisp.org>
62777
62778         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
62779         on OSF/1 to no.
62780         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
62781
62782 2006-08-23  Bruno Haible  <bruno@clisp.org>
62783
62784         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
62785         as unusable.
62786
62787         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
62788         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
62789         (gl_LOCK): New macro.
62790
62791 2006-08-22  Simon Josefsson  <jas@extundo.com>
62792
62793         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
62794         to md5 module.
62795
62796 2006-08-22  Simon Josefsson  <jas@extundo.com>
62797
62798         * MODULES.html.sh: Add "Support for maintaining and release
62799         projects".
62800
62801         * build-aux/gnupload: New file, from coreutils.
62802
62803 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
62804
62805         Avoid the need for AC_LIBSOURCES in m4 macros.
62806         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
62807         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
62808         * modules/check-version (EXTRA_DIST): Add check-version.h.
62809         * modules/crc (EXTRA_DIST): Add crc.h.
62810         * modules/des (EXTRA_DIST): Add des.h.
62811         * modules/gc (EXTRA_DIST): Add gc.h.
62812         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
62813         * modules/getline (EXTRA_DIST): Add getline.h.
62814         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
62815         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
62816         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
62817         * modules/md2 (EXTRA_DIST): Add md2.h.
62818         * modules/md4 (EXTRA_DIST): Add md4.h.
62819         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
62820         * modules/read-file (EXTRA_DIST): Add read-file.h.
62821         * modules/readline (EXTRA_DIST): Add readline.h.
62822         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
62823         rijndael-api-fst.h.
62824
62825 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
62826
62827         * m4/rijndael.m4 (gl_ARCFOUR):
62828         * m4/arctwo.m4 (gl_ARCTWO):
62829         * m4/check-version.m4 (gl_CHECK_VERSION):
62830         * m4/crc.m4 (gl_CRC):
62831         * m4/des.m4 (gl_DES):
62832         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
62833         * m4/gc.m4 (gl_GC):
62834         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
62835         * m4/getline.m4 (gl_FUNC_GETLINE):
62836         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
62837         * m4/hmac-md5.m4 (gl_HMAC_MD5):
62838         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
62839         * m4/md2.m4 (gl_MD2):
62840         * m4/md4.m4 (gl_MD4):
62841         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
62842         * m4/read-file.m4 (gl_FUNC_READ_FILE):
62843         * m4/readline.m4 (gl_FUNC_READLINE):
62844         * m4/rijndael.m4 (gl_RIJNDAEL):
62845         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
62846         to get the necessary .h files and whatnot.
62847
62848 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
62849
62850         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
62851         gnulib rather than the other way around.
62852         * config/srclistvars.sh (COREUTILS): Remove.
62853
62854 2006-08-22  Jim Meyering  <jim@meyering.net>
62855
62856         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
62857
62858         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
62859
62860 2006-08-22  Eric Blake  <ebb9@byu.net>
62861
62862         * modules/regexprops-generic: New file.
62863         * MODULES.html.sh (Support for building documentation): List it.
62864
62865 2006-08-22  Eric Blake  <ebb9@byu.net>
62866
62867         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
62868         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
62869         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
62870         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
62871
62872 2006-08-22  Bruno Haible  <bruno@clisp.org>
62873
62874         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
62875         and lib_LTLIBRARIES like the other lib_* variables.
62876
62877 2006-08-22  Bruno Haible  <bruno@clisp.org>
62878
62879         * build-aux/x-to-1.in: New file, from GNU gettext.
62880
62881 2006-08-22  Bruno Haible  <bruno@clisp.org>
62882
62883         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
62884         <utmpx.h> exists.
62885
62886 2006-08-22  Bruno Haible  <bruno@clisp.org>
62887
62888         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
62889         <utmpx.h> exists.
62890
62891 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
62892
62893         BeOS portability.
62894         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
62895         exist.
62896         Problem reported by Bruno Haible.
62897
62898 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
62899
62900         Avoid the need for AC_LIBSOURCES in m4 macros.
62901         * modules/acl (EXTRA_DIST): Add acl.h.
62902         * modules/argmatch (Files): Add m4/argmatch.m4.
62903         (configure.ac): Add gl_ARGMATCH.
62904         (EXTRA_DIST): Renamed from lib_SOURCES, for
62905         consistency with the other modules.  Remove argmatch.c.
62906         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
62907         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
62908         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
62909         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
62910         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
62911         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
62912         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
62913         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
62914         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
62915         * modules/closeout (EXTRA_DIST): Add closeout.h.
62916         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
62917         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
62918         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
62919         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
62920         dirname.h; remove basename.c and stripslash.c.
62921         * modules/exclude (EXTRA_DIST): Add exclude.h.
62922         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
62923         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
62924         * modules/file-type (EXTRA_DIST): Add file-type.h.
62925         * modules/filemode (EXTRA_DIST): Add filemode.h.
62926         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
62927         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
62928         * modules/fpending (EXTRA_DIST): Add __fpending.h.
62929         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
62930         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
62931         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
62932         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
62933         * modules/getdate (EXTRA_DIST): Add getdate.c.
62934         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
62935         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
62936         * modules/getpass (EXTRA_DIST): Add getpass.h.
62937         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
62938         * modules/group-member (EXTRA_DIST): Add group-member.h.
62939         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
62940         * modules/hash (EXTRA_DIST): Add hash.h.
62941         * modules/human (EXTRA_DIST): Add human.h.
62942         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
62943         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
62944         * modules/lchown (EXTRA_DIST): Add lchown.h.
62945         * modules/long-options (EXTRA_DIST): Add long-options.h.
62946         * modules/lstat (EXTRA_DIST): Add lstat.h.
62947         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
62948         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
62949         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
62950         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
62951         * modules/memxor (EXTRA_DIST): Add memxor.h.
62952         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
62953         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
62954         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
62955         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
62956         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
62957         * modules/physmem (EXTRA_DIST): Add physmem.h.
62958         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
62959         * modules/posixver (EXTRA_DIST): Add posixver.h.
62960         * modules/quote (EXTRA_DIST): Add quote.h.
62961         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
62962         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
62963         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
62964         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
62965         regex_internal.h regexec.c.
62966         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
62967         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
62968         * modules/same (EXTRA_DIST): Add same.h.
62969         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
62970         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
62971         * modules/savedir (EXTRA_DIST): Add savedir.h.
62972         * modules/sha1 (EXTRA_DIST): Add sha1.h.
62973         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
62974         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
62975         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
62976         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
62977         * modules/strdup (EXTRA_DIST): Add strdup.h.
62978         * modules/strftime (EXTRA_DIST): Add strftime.h.
62979         * modules/strndup (EXTRA_DIST): Add strndup.h.
62980         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
62981         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
62982         * modules/time_r (EXTRA_DIST): Add time_r.h.
62983         * modules/timespec (EXTRA_DIST): Add timespec.h.
62984         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
62985         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
62986         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
62987         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
62988         * modules/userspec (EXTRA_DIST): Add userspec.h.
62989         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
62990         * modules/utimens (EXTRA_DIST): Add utimens.h.
62991         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
62992         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
62993         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
62994         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
62995         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
62996         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
62997         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
62998         * modules/yesno (EXTRA_DIST): Add yesno.h.
62999
63000 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
63001
63002         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
63003
63004         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
63005         * m4/dev-ino.m4, same-inode.m4: Remove.
63006
63007         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
63008         * m4/acl.m4 (AC_FUNC_ACL):
63009         * m4/backupfile.m4 (gl_BACKUPFILE):
63010         * m4/c-strtod.m4 (gl_C99_STRTOLD):
63011         * m4/canon-host.m4 (gl_CANON_HOST):
63012         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
63013         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
63014         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
63015         * m4/cloexec.m4 (gl_CLOEXEC):
63016         * m4/close-stream.m4 (gl_CLOSE_STREAM):
63017         * m4/closeout.m4 (gl_CLOSEOUT):
63018         * m4/dirfd.m4 (gl_FUNC_DIRFD):
63019         * m4/dirname.m4 (gl_DIRNAME):
63020         * m4/exclude.m4 (gl_EXCLUDE):
63021         * m4/exitfail.m4 (gl_EXITFAIL):
63022         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
63023         * m4/file-type.m4 (gl_FILE_TYPE):
63024         * m4/filemode.m4 (gl_FILEMODE):
63025         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
63026         * m4/fpending.m4 (gl_FUNC_FPENDING):
63027         * m4/fprintftime.m4 (gl_FPRINTFTIME):
63028         * m4/fts.m4 (gl_FUNC_FTS):
63029         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
63030         * m4/getdate.m4 (gl_GETDATE):
63031         * m4/gethrxtime.m4 (gl_GETHRXTIME):
63032         * m4/getpagesize.m4 (gl_GETPAGESIZE):
63033         * m4/getpass.m4 (gl_FUNC_GETPASS):
63034         * m4/gettime.m4 (gl_GETTIME):
63035         * m4/getugroups.m4 (gl_GETUGROUPS):
63036         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
63037         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
63038         * m4/hard-locale.m4 (gl_HARD_LOCALE):
63039         * m4/hash.m4 (gl_HASH):
63040         * m4/idcache.m4 (gl_IDCACHE):
63041         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
63042         * m4/lchown.m4 (gl_FUNC_LCHOWN):
63043         * m4/long-options.m4 (gl_LONG_OPTIONS):
63044         * m4/lstat.m4 (gl_FUNC_LSTAT):
63045         * m4/md5.m4 (gl_MD5):
63046         * m4/memcasecmp.m4 (gl_MEMCASECMP):
63047         * m4/memcoll.m4 (gl_MEMCOLL):
63048         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
63049         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
63050         * m4/memxor.m4 (gl_MEMXOR):
63051         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
63052         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
63053         * m4/modechange.m4 (gl_MODECHANGE):
63054         * m4/mountlist.m4 (gl_MOUNTLIST):
63055         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
63056         * m4/openat.m4 (gl_FUNC_OPENAT):
63057         * m4/pathmax.m4 (gl_PATHMAX):
63058         * m4/physmem.m4 (gl_PHYSMEM):
63059         * m4/posixtm.m4 (gl_POSIXTM):
63060         * m4/posixver.m4 (gl_POSIXVER):
63061         * m4/quote.m4 (gl_QUOTE):
63062         * m4/quotearg.m4 (gl_QUOTEARG):
63063         * m4/readtokens.m4 (gl_READTOKENS):
63064         * m4/readutmp.m4 (gl_READUTMP):
63065         * m4/regex.m4 (gl_REGEX):
63066         * m4/safe-read.m4 (gl_SAFE_READ):
63067         * m4/safe-write.m4 (gl_SAFE_WRITE):
63068         * m4/same.m4 (gl_SAME):
63069         * m4/save-cwd.m4 (gl_SAVE_CWD):
63070         * m4/savedir.m4 (gl_SAVEDIR):
63071         * m4/settime.m4 (gl_SETTIME):
63072         * m4/sha1.m4 (gl_SHA1):
63073         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
63074         * m4/stat-macros.m4 (gl_STAT_MACROS):
63075         * m4/stat-time.m4 (gl_STAT_TIME):
63076         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
63077         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
63078         * m4/strdup.m4 (gl_FUNC_STRDUP):
63079         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
63080         * m4/strndup.m4 (gl_FUNC_STRNDUP):
63081         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
63082         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
63083         * m4/time_r.m4 (gl_TIME_R):
63084         * m4/timespec.m4 (gl_TIMESPEC):
63085         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
63086         * m4/unlinkdir.m4 (gl_UNLINKDIR):
63087         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
63088         * m4/userspec.m4 (gl_USERSPEC):
63089         * m4/utimecmp.m4 (gl_UTIMECMP):
63090         * m4/utimens.m4 (gl_UTIMENS):
63091         * m4/xalloc.m4 (gl_XALLOC):
63092         * m4/xgetcwd.m4 (gl_XGETCWD):
63093         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
63094         * m4/xreadlink.m4 (gl_XREADLINK):
63095         * m4/xstrtod.m4 (gl_XSTRTOD):
63096         * m4/yesno.m4 (gl_YESNO):
63097         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
63098         to get the necessary .h files and whatnot.
63099
63100 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
63101             Bruno Haible  <bruno@clisp.org>
63102
63103         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
63104         /bin/sh understanding of '!' conditional negation.
63105
63106 2006-08-21  Jim Meyering  <jim@meyering.net>
63107
63108         * modules/openat (Depends-on): Really alphabetize.
63109
63110         * modules/acl (Depends-on): Add error and quote.
63111
63112         * check-module (find_included_lib_files): Add at-func.c to the
63113         ok-to-include-more-than-once white list.
63114
63115         * modules/openat (Depends-on): Add lstat.  Alphabetize.
63116
63117 2006-08-21  Bruno Haible  <bruno@clisp.org>
63118
63119         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
63120         Emit a pkgdata_DATA variable only if some snippets add contents to it.
63121         Reported by Martin Lambers <marlam@marlam.de>.
63122
63123 2006-08-21  Bruno Haible  <bruno@clisp.org>
63124
63125         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
63126         specify an installation location, don't emit a noinst_LIBRARIES or
63127         noinst_LTLIBRARIES assignment.
63128
63129 2006-08-21  Bruno Haible  <bruno@clisp.org>
63130
63131         BeOS portability.
63132         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
63133         BeOS has mbrtowc() but no <wctype.h>.
63134
63135 2006-08-21  Bruno Haible  <bruno@clisp.org>
63136
63137         BeOS portability.
63138         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
63139         exist.
63140
63141 2006-08-21  Bruno Haible  <bruno@clisp.org>
63142
63143         BeOS portability.
63144         * lib/mbchar.h: Include <wctype.h> only if it exists.
63145
63146 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
63147
63148         Remove files that are no longer needed by their respective modules.
63149         * m4/obstack.m4: Remove.
63150         * m4/strerror_r.m4: Remove.
63151         * m4/uint32_t.m4: Remove.
63152         * m4/uintptr_t.m4: Remove.
63153         * m4/ullong_max.m4: Remove.
63154         * m4/xstrtoimax.m4: Remove.
63155         * m4/xstrtoumax.m4: Remove.
63156
63157         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
63158         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
63159         dependencies now capture this.
63160
63161         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
63162         Do not use AC_LIBSOURCES, since gnulib modules now do this.
63163         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
63164         * m4/human.m4 (gl_HUMAN): Likewise.
63165         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
63166         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
63167
63168         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
63169
63170         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
63171         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
63172         stdint.
63173         * m4/human.m4 (gl_HUMAN): Likewise.
63174         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
63175         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
63176         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
63177         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
63178         * m4/xstrtol (gl_XSTRTOL): Likewise.
63179
63180         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
63181         AC_TYPE_LONG_LONG_INT.
63182         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
63183         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
63184         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
63185         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
63186
63187         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
63188         on stdbool.
63189
63190         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
63191         (gl_PREREQ_XSTRTOUL): Remove.
63192
63193         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
63194
63195         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
63196         mode.
63197
63198 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
63199
63200         Add and change modules to make it easier for coreutils to use
63201         gnulib-tool.
63202         * modules/backupfile (Files): Remove m4/d-ino.m4.
63203         (Depends-on): Add d-ino.
63204         * modules/cycle-check (Depends-on): Add stdint.
63205         (lib_SOURCES): Add cycle-check.h.
63206         * modules/d-ino: New module.
63207         * modules/d-type: New module.
63208         * modules/error (Files): Remove m4/strerror_r.m4.
63209         * modules/filemode (Files): Add m4/st_dm_mode.m4.
63210         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
63211         m4/inttypes_h.m4, m4/uintmax_t.m4.
63212         (Depends-on): Add stdint.
63213         (lib_SOURCES): Add fsusage.h.
63214         * modules/getcwd (Files): Remove d-ino.m4.
63215         (Depends-on): Add d-ino.
63216         * modules/getndelim2 (Depends-on): Add stdint.
63217         * modules/glob (Files): Remove m4/d-type.m4.
63218         (Depends-on): Add d-type.
63219         * modules/host-os: New module.
63220         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
63221         m4/inttypes_h.m4, m4/uintmax_t.m4.
63222         * Depends-on: Add stdint.
63223         (lib_SOURCES): Add human.h.
63224         * modules/inttostr (Files): Remove m4/intmax_t.m4,
63225         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
63226         m4/uintmax_t.m4, m4/ulonglong.m4.
63227         (Depends-on): Add stdint.
63228         (EXTRA_DIST): Add inttostr.h.
63229         * modules/lchmod: New module.
63230         * modules/link-follow: New module.
63231         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
63232         (Depends-on): Add lchmod.
63233         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
63234         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
63235         (Depends-on): Add stdint.
63236         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
63237         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
63238         (Depends-on): Add stdint.
63239         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
63240         * modules/perl: New module.
63241         * modules/regex (Depends-on): Add stdint.
63242         * modules/rmdir-errno: New module.
63243         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
63244         m4/intmax_t.m4.
63245         (Depends-on): Add stdint.
63246         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
63247         m4/uintmax_t.m4.
63248         (Depends-on): Add stdint.
63249         * modules/unlink-busy: New module.
63250         * modules/utimecmp (Depends-on): Add stdint.
63251         * modules/uptime: New module.
63252         * modules/winsz-ioctl: New module.
63253         * modules/winsz-termios: New module.
63254         * modules/xnanosleep (Depends-on): Add nanosleep.
63255         * modules/ullong_max: Remove.
63256         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
63257         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
63258         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
63259         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
63260         (Depends-on): Add inttypes.
63261         (lib_SOURCES): Add xstrtol.h.
63262         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
63263         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
63264         * MODULES.html.sh: Move 'assert' into the assert section.
63265         Move 'dummy' into the linking section.
63266         Remove ullong_max.
63267         Add section for compatibility checks for POSIX:2001 functions,
63268         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
63269         winsz-ioctl, and winsz-termios into it.
63270         Add lchmod.
63271         Add top-level Misc section and put host-os, perl, and uptime
63272         into it.
63273
63274 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
63275
63276         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
63277         now assume the stdint module.  Do not include inttypes.h.
63278         * lib/fsusage.h: Likewise.
63279         * lib/getndelim2.c: Likewise.
63280         * lib/human.h: Likewise.
63281         * lib/inttostr.h: Likewise.
63282         * lib/obstack.c: Likewise.
63283         * lib/regex_internal.h: Likewise.
63284         * lib/tempname.c: Likewise.
63285         * lib/utimecmp.c: Likewise.
63286         * lib/xstrtol.h: Likewise.
63287
63288         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
63289
63290         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
63291         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
63292         * lib/xtime.h: Likewise.
63293
63294 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
63295
63296         * modules/openat (Files): Add lib/fchmodat.c.
63297         Fixes problem reported by Jay Youngman.
63298
63299 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
63300
63301         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
63302         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
63303
63304 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
63305             Bruno Haible  <bruno@clisp.org>
63306
63307         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
63308         and is a script that invokes bison. Tighten the code. Add comments.
63309
63310 2006-08-18  Jim Meyering  <jim@meyering.net>
63311
63312         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
63313         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
63314         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
63315         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
63316
63317 2006-08-18  Bruno Haible  <bruno@clisp.org>
63318
63319         * modules/bison-i18n: New file.
63320         * MODULES.html.sh (Internationalization functions): Add it.
63321
63322 2006-08-18  Bruno Haible  <bruno@clisp.org>
63323
63324         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
63325         sys/statvfs.h. When getmntinfo was found, check its declaration and
63326         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
63327
63328 2006-08-18  Bruno Haible  <bruno@clisp.org>
63329
63330         * m4/bison-i18n.m4: New file, from bison.
63331
63332 2006-08-18  Bruno Haible  <bruno@clisp.org>
63333
63334         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
63335         (ME_DUMMY): Treat "kernfs" as a dummy.
63336         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
63337
63338 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
63339
63340         Update from coreutils.
63341
63342         2006-08-15  Jim Meyering  <jim@meyering.net>
63343
63344         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
63345
63346         2006-01-17  Jim Meyering  <jim@meyering.net>
63347
63348         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
63349
63350         2006-01-11  Jim Meyering  <jim@meyering.net>
63351
63352         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
63353         Check for the lchmod function.
63354
63355 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
63356
63357         Update from coreutils.
63358
63359         * lib/__fpending.h: Add copyright notice.
63360         * lib/fprintftime.h: Likewise.
63361         * lib/savedir.c: Use (C) in copyright notice.
63362         * lib/savedir.h: Likewise.
63363
63364         2006-08-15  Jim Meyering  <jim@meyering.net>
63365
63366         * lib/at-func.c: New file, with the logic of all emulated at-functions.
63367         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
63368         in support of the EXPECTED_ERRNO macro.
63369         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
63370         definitions.  Instead, define the appropriate symbols and include
63371         "at-func.c".
63372         * lib/mkdirat.c (mkdirat): Likewise.
63373         * lib/fchmodat.c (fchmodat): Likewise.
63374         (ENOSYS): Remove definition.
63375         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
63376         it.  Don't include "unistd--.h" -- it wasn't ever used.
63377
63378         2006-01-17  Jim Meyering  <jim@meyering.net>
63379
63380         Rewrite fts.c not to change the current working directory,
63381         by using openat, fstatat, fdopendir, etc..
63382
63383         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
63384         (HAVE_OPENAT_SUPPORT): Define.
63385         [_LIBC] (fchdir): Don't undef or define; no longer used.
63386         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
63387         Now, this `function' always succeeds, and consumes its file descriptor
63388         parameter -- so callers must not close such FDs.  Update callers.
63389         (diropen_fd, opendirat, cwd_advance_fd): New functions.
63390         (diropen): Add parameter, SP.  Adjust all callers.
63391         Implement using diropen_fd, rather than open.
63392         (fts_open): Initialize new member, fts_cwd_fd.
63393         Remove fts_rft-setting code.
63394         (fts_close): Close fts_cwd_fd, if necessary.
63395         (__opendir2): Define in terms of opendir or opendirat,
63396         depending on whether the FST_NOCHDIR flag is set.
63397         (fts_build): Since fts_safe_changedir consumes its FD, and since
63398         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
63399         and close the dup'd file descriptor upon failure.
63400         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
63401         (fts_safe_changedir): Tweak semantics to reflect that this function
63402         now calls cwd_advance_fd and hence consumes its FD argument.
63403         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
63404         [struct FTS] (fts_rft): Remove now-unused member.
63405         [struct FTS] (fts_cycle.state): Improve comment.
63406
63407         * lib/openat.c (openat_needs_fchdir): New function.
63408         * lib/openat.h (openat_needs_fchdir): Declare it.
63409
63410 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
63411
63412         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
63413         Problem and fix reported by Pádraig Brady in
63414         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
63415
63416 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
63417
63418         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
63419
63420 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
63421
63422         * lib/memcoll.c (memcoll): Optimize for the common case where the
63423         arguments are bytewise equal.
63424
63425 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
63426
63427         * doc/regexprops-generic.texi: Add a copyright notice.
63428
63429 2006-08-15  Bruno Haible  <bruno@clisp.org>
63430
63431         * modules/tmpdir (License): Change to LGPL.
63432
63433 2006-08-15  Bruno Haible  <bruno@clisp.org>
63434
63435         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
63436         module.
63437
63438 2006-08-14  Simon Josefsson  <jas@extundo.com>
63439
63440         * config/srclist.txt: Add gnupload.
63441
63442 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
63443
63444         Change copyright notice from LGPL 2 to GPL 2, since that's the
63445         standard form used in the gnulib repository.
63446         * tests/test-lock.c: Likewise.
63447         * tests/test-stdint.c: Likewise.
63448         * tests/test-tls.c: Likewise.
63449
63450         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
63451         prelude-manager.  User shorter URLs for GNU projects, without '?'.
63452         Add copyright notice.
63453
63454         * check-module: Add copyright notice.  Output a copyright
63455         notice if "--version" is specified.
63456         * modules/COPYING: New file.
63457         * tests/test-getaddrinfo.c: Add copyright notice.
63458         * tests/test-verify.c: Likewise.
63459
63460 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
63461
63462         Change copyright notice from LGPL 2 to GPL 2, since that's the
63463         standard form used in the gnulib repository.
63464         * lib/lock.c: LGPL -> GPL.
63465         * lib/lock.h: Likewise.
63466         * lib/strnlen1.c: Likewise.
63467         * lib/strnlen1.h: Likewise.
63468         * lib/tls.c: Likewise.
63469         * lib/tls.h: Likewise.
63470         * lib/tmpdir.c: Likewise.
63471
63472         * lib/TODO: Remove; this belongs only in coreutils.
63473
63474 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
63475
63476         Add copyright notices to long-enough files that lack them, since
63477         otherwise the files aren't clearly free.  Use the same notice that
63478         getdate.texi already uses.
63479         * doc/alloca-opt.texi: Add copyright notice.
63480         * doc/alloca.texi: Likewise.
63481         * doc/ctime.texi: Likewise.
63482         * doc/functions.texi: Likewise.
63483         * doc/gcd.texi: Likewise.
63484         * doc/gnulib-tool.texi: Likewise.
63485         * doc/inet_ntoa.texi: Likewise.
63486         * doc/visibility.texi: Likewise.
63487
63488         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
63489         * doc/quote.texi: Add copyright notice.
63490
63491         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
63492         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
63493         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
63494         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
63495         is now obsolete, and give a pointer to the Sun list.
63496         Add copyright notice.
63497
63498 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
63499
63500         * config/srclistvars.sh: Add copyright notice.
63501
63502 2006-08-14  Eric Blake  <ebb9@byu.net>
63503
63504         Import the following change from libc:
63505
63506         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
63507
63508         Upstream bug 2997.
63509         * lib/misc/error.c: Add space between program name and message if file
63510         name is missing.
63511
63512 2006-08-12  Karl Berry  <karl@gnu.org>
63513
63514         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
63515         remove, these originate in gnulib now.
63516
63517 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63518
63519         * doc/Makefile (standards.info standards.html standards.dvi):
63520         Also depend on make-stds.texi.
63521
63522 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
63523
63524         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
63525         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
63526
63527         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
63528         in wchar_t.  Problem reported by Eric Blake.
63529
63530         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
63531         LEN is smaller than SIZE.  Suggested by Bruno Haible.
63532         Also, help the compiler to keep LEN in a register.
63533
63534 2006-08-11  Eric Blake  <ebb9@byu.net>
63535
63536         * users.txt: Sort.  Add tar.
63537
63538 2006-08-11  Bruno Haible  <bruno@clisp.org>
63539
63540         * users.txt: New file.
63541
63542 2006-08-11  Bruno Haible  <bruno@clisp.org>
63543
63544         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
63545         before <wchar.h>. Needed for OSF/1 and BSD/OS.
63546
63547 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
63548
63549         * modules/snprintf (Depends-on): Remove minmax.
63550         (Maintainer): Add self and Bruno.
63551
63552 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
63553
63554         * lib/.cppi-disable: Add snprintf.h, socket_.h.
63555         * lib/snprintf.c: Include <errno.h> and <limits.h>.
63556         (EOVERFLOW): Define if the system does not.
63557         Do not include "minmax.h"; it wasn't used.
63558         (snprintf): Don't assume size_t promotes to an unsigned type.
63559         Fix bug when generated string was too long for the buffer: the
63560         buffer's contents are supposed to be the initial prefix of the
63561         output.  Don't assume vasnprintf returns EOVERFLOW if the size
63562         exceeds INT_MAX; do the check ourselves.
63563
63564         Import the following changes from libc:
63565
63566         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
63567
63568         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
63569         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
63570         set wc to the byte which couldn't be converted.
63571         (re_string_reconstruct): Don't clear valid_raw_len before calling
63572         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
63573         tip_context using re_string_context_at.
63574
63575         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
63576
63577         * lib/posix/regex.h: g++ still cannot handled [restrict].
63578
63579         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
63580
63581         * lib/posix/regex.h: Remove special handling for VMS.
63582
63583 2006-08-10  Jim Meyering  <jim@meyering.net>
63584
63585         * modules/same-inode: New module.
63586         * modules/dev-ino: New module.
63587         * modules/cycle-check: Depend on these modules, rather than simply
63588         including their .h files.
63589         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
63590         required via m4/cycle-check.m4.
63591         * modules/same: Depend on new same-inode module, rather than
63592         including same-inode.h.
63593         * modules/chdir-safer: New file.
63594
63595         * modules/chown (Depends-on): Add stat-macros.
63596
63597 2006-08-10  Jim Meyering  <jim@meyering.net>
63598
63599         * m4/cycle-check.m4: New file.
63600         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
63601         * m4/dev-ino.m4, m4/same-inode.m4: New files.
63602
63603 2006-08-10  Eric Blake  <ebb9@byu.net>
63604
63605         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
63606         in from original proposal.
63607
63608 2006-08-10  Eric Blake  <ebb9@byu.net>
63609         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
63610
63611         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
63612         namespace.
63613
63614 2006-08-10  Bruno Haible  <bruno@clisp.org>
63615
63616         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
63617         as well.
63618
63619 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
63620
63621         Sync from coreutils.
63622
63623         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
63624
63625         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
63626         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
63627
63628 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
63629
63630         * modules/restrict: Remove; no longer needed now that we assume
63631         Autoconf 2.59 or later.
63632         * MODULES.html.sh: Remove 'restrict'.
63633         * modules/argp (Depends-on): Remove 'restrict'.
63634         * modules/base64 (Depends-on): Likewise.
63635         * modules/gc (Depends-on): Likewise.
63636         * modules/getaddrinfo (Depends-on): Likewise.
63637         * modules/glob (Depends-on): Likewise.
63638         * modules/inet_ntop (Depends-on): Likewise.
63639         * modules/inet_pton (Depends-on): Likewise.
63640         * modules/memxor (Depends-on): Likewise.
63641         * modules/regex (Depends-on): Likewise.
63642         * modules/strtok_r (Depends-on): Likewise.
63643         * modules/time_r (Depends-on): Likewise.
63644
63645 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
63646
63647         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
63648         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
63649         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
63650         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
63651         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
63652         * m4/memxor.m4 (gl_MEMXOR): Likewise.
63653         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
63654         gl_C_RESTRICT replaced by AC_C_RESTRICT.
63655
63656         Merge from coreutils.
63657         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
63658         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
63659         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
63660         * m4/time_r.m4 (gl_TIME_R): Likewise.
63661
63662 2006-08-09  Karl Berry  <karl@gnu.org>
63663
63664         * config/srclist.txt: no more gettext-tools, per Bruno.
63665
63666 2006-08-08  Eric Blake  <ebb9@byu.net>
63667
63668         * modules/verror: New module.
63669         * MODULES.html.sh: Document it.
63670
63671 2006-08-08  Eric Blake  <ebb9@byu.net>
63672
63673         * lib/verror.h, lib/verror.c: New files.
63674
63675 2006-08-08  Eric Blake  <ebb9@byu.net>
63676
63677         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
63678         verror_at_line output complies with GNU Coding Standards even when
63679         file is NULL.
63680
63681 2006-08-07  Bruno Haible  <bruno@clisp.org>
63682
63683         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
63684         versions of AIX.
63685         Reported by Ralf Wildenhues.
63686
63687 2006-08-07  Bruno Haible  <bruno@clisp.org>
63688
63689         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
63690         in an AC_DEFUN. Needed so that the autoconf snippets can use
63691         AC_REQUIRE.
63692
63693 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63694
63695         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
63696         Initialize pkgdata_DATA.
63697         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
63698         overriding it.
63699
63700 2006-08-06  Eric Blake  <ebb9@byu.net>
63701
63702         * lib/error.h: Fold in some upstream changes from glibc.
63703         * lib/error.c: Likewise.
63704
63705 2006-08-04  Bruno Haible  <bruno@clisp.org>
63706
63707         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
63708         Make the mostlyclean-local rule depend on mostlyclean-generic.
63709         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
63710
63711 2006-07-31  Bruno Haible  <bruno@clisp.org>
63712
63713         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
63714         <stdlib.h>, <string.h>.
63715
63716 2006-07-30  Bruno Haible  <bruno@clisp.org>
63717
63718         * modules/readlink (License): Change to LGPL.
63719
63720 2006-07-30  Bruno Haible  <bruno@clisp.org>
63721
63722         * modules/javaversion (Makefile.am): Distribute javaversion.java and
63723         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
63724         set PKGDATADIR to point to it.
63725
63726 2006-07-30  Bruno Haible  <bruno@clisp.org>
63727
63728         * modules/csharpexec (configure.ac): Comment out macro invocation.
63729         * modules/javaexec (configure.ac): Likewise.
63730         * modules/javacomp-script (configure.ac): Likewise.
63731
63732         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
63733
63734 2006-07-30  Bruno Haible  <bruno@clisp.org>
63735
63736         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
63737         linked-list.
63738
63739 2006-07-30  Bruno Haible  <bruno@clisp.org>
63740
63741         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
63742
63743 2006-07-30  Bruno Haible  <bruno@clisp.org>
63744
63745         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
63746         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
63747         get removed.
63748
63749 2006-07-29  Bruno Haible  <bruno@clisp.org>
63750
63751         Make it possible for gnulib-tool to work with locally modified or
63752         augmented gnulib repositories.
63753         * gnulib-tool (func_usage): Document --local-dir option.
63754         (local_gnulib_dir): New variable.
63755         Handle --local-dir option.
63756         (func_lookup_file): New function.
63757         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
63758         (func_get_description, func_get_filelist, func_get_description,
63759         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
63760         func_get_automake_snippet, func_get_include_directive,
63761         func_get_license, func_get_maintainer): Use func_lookup_file.
63762         (func_import, func_create_testdir): Use func_lookup_file.
63763
63764 2006-07-29  Bruno Haible  <bruno@clisp.org>
63765
63766         * modules/setenv (Depends-on): Add unistd.
63767
63768 2006-07-29  Bruno Haible  <bruno@clisp.org>
63769
63770         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
63771
63772 2006-07-29  Bruno Haible  <bruno@clisp.org>
63773
63774         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
63775
63776 2006-07-29  Bruno Haible  <bruno@clisp.org>
63777
63778         * gnulib-tool (import, update): If there is no Makefile.am, look at
63779         aclocal.m4, instead of bailing out.
63780
63781 2006-07-29  Bruno Haible  <bruno@clisp.org>
63782
63783         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
63784         Categorize the options by when they are useful.
63785
63786 2006-07-29  Bruno Haible  <bruno@clisp.org>
63787
63788         * gnulib-tool (func_usage): Document option --no-libtool.
63789         Handle option --no-libtool.
63790         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
63791         for changed semantics of $libtool variable.
63792         (func_import): Likewise. If libtool is not used, show this through
63793         an option --no-libtool.
63794         (func_create_testdir): Update.
63795
63796 2006-07-29  Bruno Haible  <bruno@clisp.org>
63797
63798         * gnulib-tool (func_import): Extend error message about missing
63799         --doc-base.
63800
63801 2006-07-29  Bruno Haible  <bruno@clisp.org>
63802
63803         * gnulib-tool (func_import): Don't create the $docbase directory if
63804         there is no file to store there.
63805
63806 2006-07-29  Bruno Haible  <bruno@clisp.org>
63807
63808         * gnulib-tool (autoconf_minversion): If a --dir option is given and
63809         relevant, look for configure.ac there, not in the current directory.
63810         Also use a simple search for AC_PREREQ, not "autoconf --trace".
63811
63812 2006-07-29  Bruno Haible  <bruno@clisp.org>
63813
63814         * gnulib-tool (SORT): New variable.
63815         (func_usage): Undocument --assume-autoconf option.
63816         Remove --assume-autoconf option handling.
63817         (autoconf_minversion): Determine from the contents of configure.ac.
63818         (func_import): Remove autoconf_minversion handling.
63819         Suggested by Eric Blake.
63820
63821 2006-07-29  Bruno Haible  <bruno@clisp.org>
63822
63823         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
63824
63825 2006-07-29  Bruno Haible  <bruno@clisp.org>
63826
63827         * config/srclist.txt (*setenv.[ch]): Remove rules.
63828
63829 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
63830
63831         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
63832
63833 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
63834
63835         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
63836         arpa/inet.h.
63837
63838 2006-07-28  Simon Josefsson  <jas@extundo.com>
63839
63840         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
63841         * modules/inet_pton (Depends-on): Likewise.
63842
63843 2006-07-28  Simon Josefsson  <jas@extundo.com>
63844
63845         * m4/netinet_in_h.m4: New file.
63846
63847 2006-07-28  Simon Josefsson  <jas@extundo.com>
63848
63849         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
63850         #include's.
63851
63852 2006-07-28  Simon Josefsson  <jas@extundo.com>
63853
63854         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
63855         #include's.
63856
63857 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
63858
63859         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
63860         setgid on directories only if they set these bits.
63861         * lib/modechange.h: Remove obsolete comment about masks.
63862
63863 2006-07-28  Eric Blake  <ebb9@byu.net>
63864
63865         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
63866         macro expansion.
63867
63868 2006-07-28  Bruno Haible  <bruno@clisp.org>
63869
63870         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
63871
63872 2006-07-28  Bruno Haible  <bruno@clisp.org>
63873
63874         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
63875
63876 2006-07-28  Bruno Haible  <bruno@clisp.org>
63877
63878         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
63879         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
63880         Define fallbacks.
63881         Avoids link error on FreeBSD 4.x.
63882         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
63883
63884         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
63885         encoding.
63886         * lib/mbswidth.c (iswcntrl): Likewise.
63887
63888 2006-07-27  Bruno Haible  <bruno@clisp.org>
63889
63890         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
63891         test.
63892
63893 2006-07-27  Bruno Haible  <bruno@clisp.org>
63894
63895         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
63896         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
63897         defined.
63898
63899 2006-07-26  Eric Blake  <ebb9@byu.net>
63900
63901         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
63902
63903 2006-07-26  Eric Blake  <ebb9@byu.net>
63904
63905         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
63906         like mingw that lack mkstemp.
63907         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
63908         avoid compilation warning on mingw.
63909
63910 2006-07-26  Bruno Haible  <bruno@clisp.org>
63911
63912         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
63913         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
63914         INT_FAST*_MIN, INTPTR_MIN.
63915
63916 2006-07-25  Bruno Haible  <bruno@clisp.org>
63917
63918         * modules/version-etc (Depends-on): Add stdarg.
63919
63920 2006-07-25  Bruno Haible  <bruno@clisp.org>
63921
63922         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
63923         complex commands.
63924
63925 2006-07-25  Bruno Haible  <bruno@clisp.org>
63926
63927         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
63928         defined in <stdarg.h> or config.h.
63929
63930 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
63931
63932         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
63933         (gl_STDIO_SAFER): Remove.
63934
63935 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
63936
63937         * MODULES.html.sh (File stream based Input/Output):
63938         Add fopen-safer, tmpfile-safer; remove stdio-safer.
63939         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
63940         * modules/fopen-safer, modules/tmpfile-safer: New files.
63941         * modules/stdio-safer: Remove.
63942
63943 2006-07-24  Bruno Haible  <bruno@clisp.org>
63944
63945         * modules/tmpdir: New file.
63946         * MODULES.html.sh (File system functions): Add it.
63947
63948 2006-07-24  Bruno Haible  <bruno@clisp.org>
63949
63950         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
63951         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
63952
63953 2006-07-24  Bruno Haible  <bruno@clisp.org>
63954
63955         * modules/clean-temp: New file.
63956
63957 2006-07-24  Bruno Haible  <bruno@clisp.org>
63958
63959         * m4/tmpdir.m4: New file, from GNU gettext.
63960
63961 2006-07-24  Bruno Haible  <bruno@clisp.org>
63962
63963         * lib/tmpdir.h: New file, from GNU gettext.
63964         * lib/tmpdir.c: New file, from GNU gettext.
63965
63966 2006-07-24  Bruno Haible  <bruno@clisp.org>
63967
63968         * lib/clean-temp.h: New file, from GNU gettext.
63969         * lib/clean-temp.c: New file, from GNU gettext.
63970
63971 2006-07-23  Eric Blake  <ebb9@byu.net>
63972
63973         * modules/stdio-safer (Files): Add tmpfile-safer.c.
63974         (Depends-on): Add binary-io.
63975
63976 2006-07-23  Eric Blake  <ebb9@byu.net>
63977
63978         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
63979
63980 2006-07-23  Eric Blake  <ebb9@byu.net>
63981
63982         * lib/tmpfile-safer.c: New file.
63983         * lib/stdio-safer.h (fopen_safer): Add prototype.
63984         * lib/stdio--.h (tmpfile): Make safer.
63985
63986 2006-07-23  Bruno Haible  <bruno@clisp.org>
63987
63988         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
63989         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
63990         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
63991         gl_linked_remove_at): Use it.
63992
63993 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
63994         and Simon Josefsson <jas@extundo.com>
63995
63996         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
63997
63998         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
63999
64000 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
64001
64002         * modules/close-stream: New file.
64003         * modules/closeout (Description): Make it clear that it exits
64004         with a diagnostic on error.
64005         (Depends-on): Add close-stream.  Remove fpending, stdbool.
64006         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
64007
64008 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
64009
64010         * m4/close-stream.m4: New file.
64011
64012 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
64013
64014         * lib/close-stream.c, lib/close-stream.h: New files.
64015
64016 2006-07-22  Bruno Haible  <bruno@clisp.org>
64017
64018         Merge from GNU gettext 0.15.
64019
64020         2006-05-01  Bruno Haible  <bruno@clisp.org>
64021
64022                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
64023
64024         2006-07-22  Bruno Haible  <bruno@clisp.org>
64025
64026                 * modules/javaversion: New file.
64027                 * MODULES.html.sh (Java): Add javaversion.
64028
64029         2006-03-12  Bruno Haible  <bruno@clisp.org>
64030
64031                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
64032
64033         2005-12-04  Bruno Haible  <bruno@clisp.org>
64034
64035                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
64036                 (untested).
64037
64038         2006-06-21  Bruno Haible  <bruno@clisp.org>
64039
64040                 Avoid warnings from recent versions of mcs.
64041                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
64042                 -o, -L, -r any more. Use options documented since mcs-1.0
64043                 instead. Similarly for -g.
64044
64045         2005-12-04  Bruno Haible  <bruno@clisp.org>
64046
64047                 * build-aux/csharpcomp.sh.in: Suffix for resources is
64048                 .resources, not .resource.
64049
64050         2005-07-09  Bruno Haible  <bruno@clisp.org>
64051
64052                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
64053                 add a .dll suffix.
64054                 Reported by Mark Junker <mjscod@gmx.de>.
64055
64056         2006-07-22  Bruno Haible  <bruno@clisp.org>
64057
64058                 * modules/gettext: Upgrade to gettext-0.15.
64059                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
64060                 m4/visibility.m4.
64061                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
64062
64063 2006-07-22  Bruno Haible  <bruno@clisp.org>
64064
64065         Merge from GNU gettext 0.15.
64066
64067         2006-03-25  Bruno Haible  <bruno@clisp.org>
64068
64069                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
64070
64071         2006-07-21  Bruno Haible  <bruno@clisp.org>
64072
64073                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
64074                 "1.1".
64075
64076         2006-05-09  Bruno Haible  <bruno@clisp.org>
64077
64078                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
64079                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
64080                 for the conftestver execution.
64081
64082         2006-05-01  Bruno Haible  <bruno@clisp.org>
64083
64084                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
64085                 optional target-version argument. Verify that the compiler
64086                 groks source of the specified source-version, or add -source
64087                 option as necessary. Verify that the compiler produces
64088                 bytecode in the specified target-version, or add -target and
64089                 -source options as necessary. Make the result of the test
64090                 available as variable CONF_JAVAC. Also log error output in
64091                 config.log.
64092
64093         2006-03-11  Bruno Haible  <bruno@clisp.org>
64094
64095                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
64096
64097         2006-05-09  Bruno Haible  <bruno@clisp.org>
64098
64099                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
64100                 CLASSPATH_SEPARATOR to a semicolon.
64101
64102         2006-03-12  Bruno Haible  <bruno@clisp.org>
64103
64104                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
64105                 available as variable CONF_JAVA, for subsequent autoconf
64106                 tests. Also log error output in config.log.
64107
64108         2006-07-19  Bruno Haible  <bruno@clisp.org>
64109
64110                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
64111                 that getline works on glibc2 systems. Needed to avoid trouble
64112                 in relocatable.c.
64113                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
64114
64115         2005-12-04  Bruno Haible  <bruno@clisp.org>
64116
64117                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
64118                 launcher (untested).
64119
64120         2005-12-04  Bruno Haible  <bruno@clisp.org>
64121
64122                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
64123
64124         2006-07-22  Bruno Haible  <bruno@clisp.org>
64125
64126                 * gettext.m4: Update from GNU gettext-0.15.
64127                 * nls.m4: Likewise.
64128                 * po.m4: Likewise.
64129                 * inttypes-pri.m4: Likewise.
64130                 * inttypes-h.m4: Renamed from inttypes.m4.
64131                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
64132
64133 2006-07-22  Bruno Haible  <bruno@clisp.org>
64134
64135         Merge from GNU gettext 0.15.
64136
64137         2005-07-05  Bruno Haible  <bruno@clisp.org>
64138
64139                 * printf-args.c (printf_fetchargs): Work around broken
64140                 definition of wint_t on mingw.
64141
64142         2005-02-12  Bruno Haible  <bruno@clisp.org>
64143
64144                 * xallocsa.h: Add extern "C" for C++.
64145
64146         2006-05-17  Bruno Haible  <bruno@clisp.org>
64147
64148                 Cygwin portability.
64149                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
64150
64151         2006-04-30  Bruno Haible  <bruno@clisp.org>
64152
64153                 * progreloc.c: Include <mach-o/dyld.h> if available.
64154                 (find_executable): Use _NSGetExecutablePath when possible.
64155
64156         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
64157
64158                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
64159                 function.
64160
64161         2005-12-29  Bruno Haible  <bruno@clisp.org>
64162
64163                 * progreloc.c (set_program_name_and_installdir): Fix
64164                 compilation error.
64165
64166         2005-12-04  Bruno Haible  <bruno@clisp.org>
64167
64168                 Cygwin portability.
64169                 * progreloc.c: Include <windows.h> also on Cygwin.
64170                 (find_executable): Add support for Cygwin.
64171                 (set_program_name_and_installdir): Handle also platforms with
64172                 nonempty EXEEXT.
64173
64174         2006-07-11  Bruno Haible  <bruno@clisp.org>
64175
64176                 * javacomp.c: Fix a comment.
64177                 Reported by Jim Meyering.
64178
64179         2006-04-30  Bruno Haible  <bruno@clisp.org>
64180
64181                 * javacomp.h (compile_java_class): Add source_version,
64182                 target_version arguments.
64183                 * javacomp.c: Rewritten to choose only a compiler that
64184                 respects the specified source_version and target_version.
64185
64186         2006-06-27  Bruno Haible  <bruno@clisp.org>
64187
64188                 Assume correct S_ISDIR macro.
64189                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
64190
64191         2006-07-22  Bruno Haible  <bruno@clisp.org>
64192
64193                 * javaversion.h: New file, from GNU gettext.
64194                 * javaversion.c: New file, from GNU gettext.
64195                 * javaversion.java: New file, from GNU gettext.
64196                 * javaversion.class: New file, from GNU gettext.
64197
64198         2006-05-17  Bruno Haible  <bruno@clisp.org>
64199
64200                 Cygwin portability.
64201                 * javaexec.c (execute_java_class): Test for jview program
64202                 also on Cygwin.
64203
64204         2006-04-09  Bruno Haible  <bruno@clisp.org>
64205
64206                 * fatal-signal.c: Don't include string.h.
64207                 (at_fatal_signal): Use a copying loop instead of memcpy.
64208
64209         2005-12-04  Bruno Haible  <bruno@clisp.org>
64210
64211                 * csharpexec.c: Add support for 'clix' launcher (untested).
64212                 (execute_csharp_using_sscli): New function.
64213                 (execute_csharp_program): Call it.
64214
64215         2006-06-21  Bruno Haible  <bruno@clisp.org>
64216
64217                 Avoid warnings from recent versions of mcs.
64218                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
64219                 -o, -L, -r any more. Use options documented since mcs-1.0
64220                 instead. Similarly for -g.
64221
64222         2005-07-09  Bruno Haible  <bruno@clisp.org>
64223
64224                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
64225                 add a .dll suffix.
64226                 Reported by Mark Junker <mjscod@gmx.de>.
64227
64228         2006-06-17  Bruno Haible  <bruno@clisp.org>
64229
64230                 * config.charset: Update for NetBSD 3.0.
64231
64232         2006-05-17  Bruno Haible  <bruno@clisp.org>
64233
64234                 Cygwin portability.
64235                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
64236
64237         2006-05-16  Bruno Haible  <bruno@clisp.org>
64238
64239                 * localcharset.c [CYGWIN]: Include <windows.h>.
64240                 (get_charset_aliases): For Cygwin, return the same CPxxx
64241                 aliases list as under WIN32.
64242                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
64243                 the environment variables. Fall back to GetACP().
64244
64245         2006-04-05  Bruno Haible  <bruno@clisp.org>
64246
64247                 * config.charset: Update Juan Manuel Guerrero's address.
64248
64249         2005-02-12  Bruno Haible  <bruno@clisp.org>
64250
64251                 * allocsa.h: Add extern "C" for C++.
64252
64253         2005-02-10  Bruno Haible  <bruno@clisp.org>
64254
64255                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
64256                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
64257
64258         2006-07-22  Bruno Haible  <bruno@clisp.org>
64259
64260                 * gettext.h: Update to GNU gettext-0.15.
64261
64262 2006-07-22  Bruno Haible  <bruno@clisp.org>
64263
64264         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
64265         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
64266         lib-prefix.m4, longdouble.m4, ssize_t.m4.
64267
64268 2006-07-21  Eric Blake  <ebb9@byu.net>
64269
64270         * modules/stdlib-safer: New file.
64271         * MODULES.html.sh (File stream based Input/Output): Add
64272         stdlib-safer.
64273
64274 2006-07-21  Eric Blake  <ebb9@byu.net>
64275
64276         * lib/stdlib-safer.h: New file from coreutils, required by
64277         stdlib--.h.
64278
64279 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
64280
64281         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
64282
64283 2006-07-20  Bruno Haible  <bruno@clisp.org>
64284
64285         * gnulib-tool: Recognize new option --assume-autoconf.
64286         (autoconf_minversion): New variable.
64287         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
64288
64289 2006-07-20  Bruno Haible  <bruno@clisp.org>
64290
64291         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
64292
64293 2006-07-19  Derek R. Price  <derek@ximbiot.com>
64294
64295         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
64296         Reindent and repaginate.
64297
64298 2006-07-19  Derek Price  <derek@ximbiot.com>
64299
64300         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
64301         Correct grammar.
64302
64303 2006-07-17  Bruno Haible  <bruno@clisp.org>
64304
64305         * modules/list: New file.
64306         * modules/array-list: New file.
64307         * modules/carray-list, modules/carray-list-tests: New files.
64308         * modules/linked-list, modules/linked-list-tests: New files.
64309         * modules/avltree-list, modules/avltree-list-tests: New files.
64310         * modules/rbtree-list, modules/rbtree-list-tests: New files.
64311         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
64312         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
64313         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
64314         * modules/oset: New file.
64315         * modules/array-oset: New file.
64316         * modules/avltree-oset, modules/avltree-oset-tests: New files.
64317         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
64318         * tests/test-carray_list.c: New file.
64319         * tests/test-linked_list.c: New file.
64320         * tests/test-avltree_list.c: New file.
64321         * tests/test-rbtree_list.c: New file.
64322         * tests/test-linkedhash_list.c: New file.
64323         * tests/test-avltreehash_list.c: New file.
64324         * tests/test-rbtreehash_list.c: New file.
64325         * tests/test-avltree_oset.c: New file.
64326         * tests/test-rbtree_oset.c: New file.
64327         * MODULES.html.sh (Container data structures): New section.
64328
64329 2006-07-17  Bruno Haible  <bruno@clisp.org>
64330
64331         * m4/gl_list.m4: New file.
64332
64333 2006-07-17  Bruno Haible  <bruno@clisp.org>
64334
64335         * lib/gl_list.h: New file.
64336         * lib/gl_list.c: New file.
64337         * lib/gl_array_list.h: New file.
64338         * lib/gl_array_list.c: New file.
64339         * lib/gl_carray_list.h: New file.
64340         * lib/gl_carray_list.c: New file.
64341         * lib/gl_linked_list.h: New file.
64342         * lib/gl_linked_list.c: New file.
64343         * lib/gl_anylinked_list1.h: New file.
64344         * lib/gl_anylinked_list2.h: New file.
64345         * lib/gl_avltree_list.h: New file.
64346         * lib/gl_avltree_list.c: New file.
64347         * lib/gl_anyavltree_list1.h: New file.
64348         * lib/gl_anyavltree_list2.h: New file.
64349         * lib/gl_rbtree_list.h: New file.
64350         * lib/gl_rbtree_list.c: New file.
64351         * lib/gl_anyrbtree_list1.h: New file.
64352         * lib/gl_anyrbtree_list2.h: New file.
64353         * lib/gl_anytree_list1.h: New file.
64354         * lib/gl_anytree_list2.h: New file.
64355         * lib/gl_linkedhash_list.h: New file.
64356         * lib/gl_linkedhash_list.c: New file.
64357         * lib/gl_anyhash_list1.h: New file.
64358         * lib/gl_anyhash_list2.h: New file.
64359         * lib/gl_avltreehash_list.h: New file.
64360         * lib/gl_avltreehash_list.c: New file.
64361         * lib/gl_rbtreehash_list.h: New file.
64362         * lib/gl_rbtreehash_list.c: New file.
64363         * lib/gl_anytreehash_list1.h: New file.
64364         * lib/gl_anytreehash_list2.h: New file.
64365
64366         * lib/gl_oset.h: New file.
64367         * lib/gl_oset.c: New file.
64368         * lib/gl_array_oset.h: New file.
64369         * lib/gl_array_oset.c: New file.
64370         * lib/gl_avltree_oset.h: New file.
64371         * lib/gl_avltree_oset.c: New file.
64372         * lib/gl_rbtree_oset.h: New file.
64373         * lib/gl_rbtree_oset.c: New file.
64374         * lib/gl_anytree_oset.h: New file.
64375
64376 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
64377
64378         * m4/mkancesdirs.m4: New file.
64379         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
64380         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
64381         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
64382         it.
64383
64384 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
64385
64386         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
64387         * lib/mkancesdirs.h: New files.
64388         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
64389         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
64390         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
64391         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
64392         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
64393         callers changed.  Revamp internals significantly, by not
64394         attempting to create directories that are temporarily more
64395         permissive than the final results.  Do not attempt to use
64396         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
64397         This removes some race conditions, fixes some bugs, and simplifies
64398         things.  Use new dirchownmod function to do owner and mode changes.
64399         * lib/mkdir-p.h: Likewise.
64400         * lib/modechange.c (octal_to_mode): New function.
64401         (struct mode_change): New member mentioned.
64402         (make_node_op_equals): New arg mentioned.  All callers changed.
64403         (mode_compile): Keep track of which mode bits the user has explicitly
64404         mentioned.
64405         (mode_adjust): New arg DIR, so that we implement the X op correctly.
64406         New arg PMODE_BITS, to keep track of which mode bits the user
64407         mentioned; it treats S_ISUID and S_ISGID speciall.
64408         All callers changed.
64409         * lib/modechange.h: Likewise.
64410
64411 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
64412
64413         * MODULES.html.sh: Add mkancestors.
64414         * modules/mkancesdirs: New module.
64415         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
64416         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
64417         The chdir-safer and afs files are now orphans; I'll remove them
64418         unless someone speaks up.
64419         Add lib/dirchownmod.c, lib/dirchownmod.h.
64420         (Depends-on): Remove alloca, chown, save-cwd, dirname.
64421         Add lchown, mkancesdirs.
64422         (Maintainer): Add self.
64423
64424 2006-07-15  Karl Berry  <karl@gnu.org>
64425
64426         * gnulib-tool: help message wording/arrangement.
64427
64428 2006-07-14  Simon Josefsson  <jas@extundo.com>
64429
64430         * doc/gnulib.texi (Libtool and Windows): New section.
64431
64432 2006-07-12  Simon Josefsson  <jas@extundo.com>
64433
64434         * modules/gendocs (License): Fix license, approved by Karl.
64435
64436 2006-07-12  Eric Blake  <ebb9@byu.net>
64437
64438         * MODULES.html.sh: Add gendocs.
64439
64440 2006-07-11  Eric Blake  <ebb9@byu.net>
64441
64442         * modules/fdl: New module, to install doc/fdl.texi.
64443         * MODULES.html.sh: Add new section for documentation modules.
64444         * gnulib-tool: Avoid space-tab.
64445         (--doc-base): New option, to manage files from doc.
64446
64447 2006-07-11  Eric Blake  <ebb9@byu.net>
64448
64449         * m4/absolute-header.m4: Fix comments to match recent change.
64450
64451 2006-07-11  Eric Blake  <ebb9@byu.net>
64452
64453         * gnulib-tool: List --doc-base before --tests-base.
64454
64455 2006-07-11  Derek R. Price  <derek@ximbiot.com>
64456
64457         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
64458
64459 2006-07-11  Bruno Haible  <bruno@clisp.org>
64460
64461         * README: Mention where to put documentation.
64462
64463 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64464
64465         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
64466
64467 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
64468
64469         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
64470         to stdint.m4.
64471
64472 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
64473
64474         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
64475         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
64476         "no/such/file/stdint.h" when there is no such file, so that
64477         the resulting C code can be parsed by dodgy compilers.
64478         Problems reported by Bob Proulx.
64479
64480 2006-07-10  Derek R. Price  <derek@ximbiot.com>
64481
64482         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
64483         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
64484         macros into the GNU _D_EXACT_NAMLEN.
64485         * lib/savedir.c:  Likewise.
64486         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
64487
64488 2006-07-10  Derek R. Price  <derek@ximbiot.com>
64489         and Paul Eggert  <eggert@cs.ucla.edu>
64490
64491         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
64492         * m4/savedir.m4:
64493         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
64494         macros into the GNU _D_EXACT_NAMLEN.
64495
64496 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
64497
64498         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
64499         around the absolute name, to work around a problem with the HP-UX
64500         11.23 native C compiler, reported by Bob Proulx.
64501
64502 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
64503
64504         * doc/maintain.texi, make-stds.texi: Sync from
64505         <http://savannah.gnu.org/projects/gnustandards>.
64506
64507 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
64508
64509         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
64510
64511 2006-07-09  Jim Meyering  <jim@meyering.net>
64512
64513         * m4/glob.m4: Remove a doubled word in a comment.
64514
64515 2006-07-09  Jim Meyering  <jim@meyering.net>
64516
64517         * lib/argp-pv.c: Remove a doubled word in a comment.
64518         * lib/check-version.c (check_version): Likewise.
64519         * lib/javacomp.c (compile_java_class): Likewise.
64520
64521 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
64522
64523         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
64524         for the benefit of people using Autoconf 2.60.  If you want to
64525         support older Autoconf versions you can copy m4/onceonly_2_57.m4
64526         (or m4/onceonly.m4, if pre-2.57) manually.
64527
64528 2006-07-08  Jim Meyering  <jim@meyering.net>
64529
64530         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
64531         comment.
64532         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
64533         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
64534         comment.
64535
64536 2006-07-08  Jim Meyering  <jim@meyering.net>
64537
64538         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
64539
64540 2006-07-07  Simon Josefsson  <jas@extundo.com>
64541
64542         * tests/test-crc.c: Change expected crc value, the test vector
64543         were probably computed using the old broken crc.c?
64544
64545 2006-07-06  Simon Josefsson  <jas@extundo.com>
64546
64547         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
64548         now the canonical place for the M4 file).
64549
64550         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
64551         from the sys_socket dependency now.
64552
64553         * modules/inet_pton (Files): Ditto.
64554
64555         * modules/inet_ntop (Files): Ditto.
64556
64557 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
64558
64559         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
64560         not gl_PREREQ_GETUSERSHELL.
64561
64562 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64563
64564         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
64565         with only one argument, for Autoconf 2.60.
64566         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
64567         expand to nothing, so add a shell command to avoid syntax error.
64568         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
64569
64570 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64571
64572         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
64573
64574 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
64575
64576         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
64577         no longer needed.  Check for isblank decl.
64578         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
64579         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
64580         of existence.
64581
64582 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
64583
64584         * lib/getloadavg.c: Use __VMS, not VMS.
64585         * lib/getopt.c: Likewise.
64586         * lib/getpagesize.h: Likewise.
64587         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
64588         and probably does not work.
64589
64590 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
64591
64592         * lib/.cppi-disable: Add wcwidth.
64593         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
64594         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
64595         (ISGRAPH): Remove.  All uses changed to isgraph.
64596         (FOLD) [!defined _LIBC]: Remove special case.
64597         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
64598         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
64599         HAVE_ISBLANK.
64600         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
64601         case.
64602
64603 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
64604
64605         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
64606         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
64607         brackets.  Other minor changes to suppress some compiler
64608         warnings.
64609
64610 2006-07-06  Derek R. Price  <derek@ximbiot.com>
64611         and Paul Eggert  <eggert@cs.ucla.edu>
64612
64613         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
64614         of invoking obsolescent AC_HEADER_DIRENT macro.
64615         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
64616         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
64617         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
64618         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
64619         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
64620         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
64621         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
64622         * m4/readdir.m4: Remove; no longer needed.
64623
64624 2006-07-06  Derek R. Price  <derek@ximbiot.com>
64625         and Paul Eggert  <eggert@cs.ucla.edu>
64626
64627         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
64628         Don't worry about this obsolete case any more.
64629         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
64630         directories.
64631         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
64632         worry about this obsolete case any more.
64633         * lib/fts.c: Likewise.
64634         * lib/getcwd.c: Likewise.
64635         * lib/glob.h: Likewise.
64636         * lib/savedir.c: Likewise.
64637
64638 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
64639
64640         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
64641         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
64642         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
64643         needed.
64644         All uses removed.
64645         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
64646         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
64647         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
64648         needed.
64649         * m4/getdate.m4 (gl_GETDATE): Likewise.
64650         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
64651         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
64652         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
64653         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
64654         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
64655         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
64656         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
64657         needed.
64658
64659 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
64660
64661         * lib/memcasecmp.c: Include <limits.h>.
64662         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
64663         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
64664         Don't assume isdigit succeeds only on '0' through '9'.
64665
64666 2006-07-05  Eric Blake  <ebb9@byu.net>
64667
64668         * modules/getaddrinfo (Depends-on): Add snprintf.
64669
64670 2006-07-05  Eric Blake  <ebb9@byu.net>
64671
64672         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
64673         to avoid 'header present but could not be compiled' on cygwin.
64674
64675 2006-07-05  Eric Blake  <ebb9@byu.net>
64676
64677         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
64678         missing from netdb.h.
64679         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
64680
64681 2006-07-05  Derek R. Price  <derek@ximbiot.com>
64682
64683         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
64684         no longer needed.
64685         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
64686         * m4/getdate.m4 (gl_GETDATE): Likewise.
64687         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
64688         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
64689         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
64690         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
64691         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
64692
64693 2006-07-05  Derek R. Price  <derek@ximbiot.com>
64694
64695         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
64696         All uses of is_space replaced by isspace.
64697         * lib/exit.h: Don't talk about STDC_HEADERS.
64698         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
64699         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
64700         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
64701         replaced by isprint etc.
64702         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
64703         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
64704         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
64705         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
64706         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
64707         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
64708
64709 2006-07-05  Bruno Haible  <bruno@clisp.org>
64710
64711         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
64712         the function exists, before testing against AIX.
64713         Reported by Martin Lambers <marlam@marlam.de>.
64714
64715 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
64716
64717         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
64718         From Mark D. Baushke.
64719
64720 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
64721
64722         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
64723         to the absolute name, not just one, to bypass Sun C 5.8's
64724         "warning: #include of /usr/include/... may be non-portable".
64725
64726 2006-07-04  Eric Blake  <ebb9@byu.net>
64727
64728         * modules/dirname-tests: New test module.
64729         * tests/test-dirname.c: New file, replacing dirname.c
64730         TEST_DIRNAME section that was recently deleted.
64731
64732 2006-07-04  Bruno Haible  <bruno@clisp.org>
64733
64734         Assume ANSI C header files and <ctype.h> functions.
64735         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
64736         (mbsnwidth): Use isprint, iscntrl instead.
64737
64738 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
64739
64740         Merge from coreutils.
64741         * MODULES.html.sh: Add xstrtold.
64742         * modules/xstrtold: New file.
64743         * modules/cycle-check (Files): Add lib/same-inode.h.
64744         * modules/dirname (Files): Add m4/double-slash-root.m4.
64745         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
64746         * modules/mkdir-p (Files): Add lib/same-inode.h.
64747         * modules/same (Files): Add lib/same-inode.h.
64748
64749 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
64750
64751         * m4/absolute-header.m4: Renamed from full-header-path.m4.
64752         This is to keep the terminology clean; POSIX talks about
64753         "absolute pathnames", not "full pathnames", but the GNU
64754         Coding Standards say to use "path" for something else;
64755         so use "absolute" to keep both sides happy.
64756         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
64757         Set gl_absolute_header, not gl_full_header_path.
64758         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
64759         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
64760         All uses changed.
64761
64762         Merge from coreutils.
64763
64764         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
64765
64766         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
64767         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
64768         want to require the building of c-strtod.o.
64769         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
64770         needs -lm directly.
64771         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
64772
64773         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
64774
64775         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
64776         --as-needed option if available.  Problem reported by Albert Chin in
64777         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
64778         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
64779         cc merely issues a bunch of annoying warnings for --as-needed
64780         (this problem was reported by Bob Proulx).  Also, try linking with
64781         -lm to detect a bug in binutils 2.16 (this problem was reported
64782         by Ralf Wildenhues).
64783
64784         2006-06-18  Jim Meyering  <jim@meyering.net>
64785
64786         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
64787         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
64788         macro.
64789         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
64790         also check for glibc-2.4's abort-inducing bug.
64791
64792         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
64793         Low-probability clean-up should be to use rmdir to get rid of
64794         the just-created directory, not unlink.
64795
64796         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
64797         configure fail, and request a bug report to inform us about it.
64798         Add a comment that, barring reports to the contrary, in 2007 we'll
64799         assume ftruncate is universally available.
64800
64801         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
64802
64803         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
64804
64805         2006-03-12  Jim Meyering  <jim@meyering.net>
64806
64807         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
64808         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
64809         * m4/same.m4 (gl_SAME): Likewise.
64810         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
64811
64812         2006-03-11  Eric Blake  <ebb9@byu.net>
64813
64814         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
64815         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
64816         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
64817         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
64818
64819 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
64820
64821         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
64822         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
64823         reported by Mark D. Baushke, one in
64824         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
64825
64826         Merge from coreutils.
64827
64828         * lib/.cppi-disable: Add stdint_.h.
64829         * lib/.cvsignore: Add stdint.h.
64830
64831         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
64832
64833         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
64834         both double and long double versions.
64835         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
64836         * lib/xstrtold.c: New file.
64837         * lib/xstrtod.h (xstrtold): New decl.
64838
64839         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
64840
64841         * lib/filemode.c (setst): Remove.
64842         (strmode): Rewrite to avoid setst.  This makes the code shorter,
64843         (arguably) clearer, and the generated code is a bit smaller on my
64844         Debian GNU/Linux stable x86 host.
64845
64846         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
64847
64848         * lib/filemode.c: Include "filemode.h" first, to test the interface.
64849         Assume that filemode.h includes sys/types.h and sys/stat.h.
64850         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
64851         (ftypelet): Reorder to put common cases first, for efficiency.
64852         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
64853         to do 'M'.
64854         (strmode): Renamed from mode_string, and now stores 12 bytes instead
64855         of 10, for compatibility with FreeBSD.  All callers changed.
64856         (filemodestring): Now stores 12 bytes instead of 10, and sets file
64857         types that can't be deduced solely from st_mode.  First arg is now a
64858         const pointer.
64859         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
64860         (strmode): Renamed from mode_string.
64861         (filemodestring): New decl.
64862         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
64863         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
64864         needed.
64865         (S_ISPORT, S_ISWHT): New macros, if not already defined.
64866
64867         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
64868
64869         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
64870         fsusage.h now does that.  Include fsusage.h first, to test interface.
64871         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
64872         at most one method (the old code could have generated decls that
64873         didn't conform to C89, not that this was ever exercised).
64874         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
64875
64876         2006-03-19  Jim Meyering  <jim@meyering.net>
64877
64878         Work even in a chroot where d_ino values for entries in "/"
64879         don't match the stat.st_ino values for the same names.
64880         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
64881         number, iterate through all entries again, using lstat instead.
64882         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
64883         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
64884
64885         * lib/getcwd.c (__getcwd): Clarify a comment.
64886         Use memcpy in place of a call to strcpy.
64887
64888         2006-03-12  Jim Meyering  <jim@meyering.net>
64889
64890         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
64891         matches that of the current directory (which we're about to chdir ".."
64892         out of), then save the dev-ino of the parent, instead.
64893
64894         * lib/same-inode.h (SAME_INODE): New file/macro.
64895         * lib/chdir-safer.c (SAME_INODE): Remove definition.
64896         Include "same-inode.h", instead.
64897         * lib/same.c: Likewise.
64898         * lib/cycle-check.h: Include "same-inode.h".
64899         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
64900         * lib/cycle-check.c (SAME_INODE): Remove definition.
64901         * lib/root-dev-ino.h: Include "same-inode.h".
64902
64903         2006-03-11  Eric Blake  <ebb9@byu.net>
64904
64905         * lib/same.c (same_name): s/base_name/last_component/
64906         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
64907         * lib/filenamecat.c (file_name_concat): Likewise.
64908
64909         2006-03-11  Eric Blake  <ebb9@byu.net>,
64910                     Paul Eggert  <eggert@cs.ucla.edu>
64911
64912         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
64913         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
64914         drive prefix.
64915         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
64916         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
64917         (last_component): New method.
64918         * lib/dirname.c (dir_len): Determine when drive letters need a
64919         subsequent slash.  Preserve // when it is special.
64920         (dir_name): Don't append dot when drive letter is absolute.
64921         [TEST_DIRNAME]: Move into a full-blown gnulib test.
64922         * lib/basename.c (base_name): New semantics - malloc the result.
64923         Preserve // when it is special.  Preserve relative files that look
64924         like drive letters.
64925         (base_len): Preserve // when it is special.
64926         (last_component): New method, similar to old base_name semantics.
64927         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
64928         base_name.  Strip redundant slashes from ///.
64929
64930 2006-07-03  Jim Meyering  <jim@meyering.net>
64931
64932         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
64933         macro is used before the first cycle_check call.
64934
64935 2006-07-03  Eric Blake  <ebb9@byu.net>
64936
64937         * modules/dirname (Depends-on): Add xstrndup.
64938
64939 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
64940
64941         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
64942         test cases, so that config.log is a bit easier to follow.
64943
64944 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
64945
64946         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
64947         both are 64 bits, since this seems to be the tradition, and this
64948         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
64949         we ever run into a host that prefers long long to long in this
64950         case, we'll need another configure-time test.  Problem reported by
64951         Jim Meyering.
64952
64953 2006-07-02  Eric Blake  <ebb9@byu.net>
64954
64955         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
64956
64957 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
64958
64959         * modules/inttypes (Depends-on): No longer depends on stdint.
64960         * modules/stdint (Description): Say more about assumptions.
64961         Say that the fast types might differ.  Say macros are used.
64962         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
64963         (Makefile.am): Revise list of substituted symbols to match
64964         new stdint.m4.
64965         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
64966         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
64967         * tests/test-stdint.c (verify_same_types)
64968         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
64969         the code conforms to C99/C89.
64970         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
64971         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
64972
64973 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
64974
64975         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
64976         but fix a bug, by requiring at least 64 bits.
64977         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
64978         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
64979         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
64980         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
64981
64982         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
64983         changes.  Make 2.59 a prerequisite.  Check and substitute for
64984         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
64985         inttypes.h.  Do not use special include files; just use the
64986         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
64987         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
64988         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
64989         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
64990         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
64991         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
64992         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
64993         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
64994         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
64995         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
64996         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
64997         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
64998         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
64999         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
65000         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
65001         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
65002         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
65003         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
65004         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
65005         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
65006         WINT_MAX.  Check for C99 conformance more strictly, by detecting
65007         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
65008         not check for things that C99 does not require, e.g., int8_t.  If
65009         a test isn't needed unless <stdint.h> isn't working, and is
65010         unlikely to be needed for any other reason, then don't do it
65011         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
65012         size_t, since we assume C89 freestanding at least.  Do not check
65013         for sig_atomic_t, wchar_t, or wint_t, since the code now does
65014         the right thing even if the types are not defined.  Instead use:
65015         (gl_STDINT_TYPE_PROPERTIES): New macro.
65016         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
65017         testing whether <sys/types.h> clashes, as Autoconf does this for
65018         us now.  All uses removed.
65019         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
65020         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
65021         (gl_CHECK_TYPE_SAME):
65022         Remove; no longer needed.
65023         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
65024         exists, since we'll return 0 anyway in that case.
65025         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
65026
65027 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
65028
65029         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
65030         possible collision with system files.
65031         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
65032         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
65033         WCHAR_MIN and WCHAR_MAX in this case.
65034         (<stddef.h>): Do not include; no longer needed.
65035         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
65036         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
65037         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
65038         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
65039         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
65040         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
65041         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
65042         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
65043         !defined(__c99))]: Include in this case too, since it's harmless
65044         now.
65045         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
65046         dangerous to do so.
65047         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
65048         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
65049         (_STDINT_MIN, _STDINT_MAX): New macros.
65050         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
65051         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
65052         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
65053         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
65054         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
65055         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
65056         macros, not typedefs; this simplifies things quite a bit.
65057         Use long int for all types narrower than int64_t.
65058         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
65059         Define in terms of long long int or int64_t or long int,
65060         not int64_t or int32_t.  This saves some compile-time testing.
65061         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
65062         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
65063         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
65064         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
65065         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
65066         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
65067         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
65068         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
65069         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
65070         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
65071         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
65072         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
65073         undef any previous version and define our own version, for
65074         simplicity and consistency with the new macros for types.
65075         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
65076         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
65077         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
65078         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
65079         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
65080         @WINT_T_SUFFIX@ to keep things simple here.
65081         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
65082         Simplify by assuming typical 8/16/32/64 host, since we're
65083         already doing that elsewhere anyway.
65084         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
65085         and assume long long int is 64 bits if available.  This
65086         speeds up 'configure'.
65087
65088 2006-07-01  Eric Blake  <ebb9@byu.net>
65089
65090         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
65091         Reported by Andreas Buening.
65092
65093 2006-07-01  Eric Blake  <ebb9@byu.net>
65094
65095         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
65096
65097 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
65098
65099         * lib/getaddrinfo.c: fixed typo
65100
65101 2006-06-29  Jim Meyering  <jim@meyering.net>
65102
65103         * modules/strftime (Maintainer): Add my name, since with the
65104         FPRINTFTIME changes strftime.c has forked from glibc.
65105
65106 2006-06-29  Eric Blake  <ebb9@byu.net>
65107
65108         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
65109
65110 2006-06-29  Eric Blake  <ebb9@byu.net>
65111
65112         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
65113
65114 2006-06-29  Eric Blake  <ebb9@byu.net>
65115
65116         * lib/stat_.h: New file.
65117
65118 2006-06-29  Eric Blake  <ebb9@byu.net>
65119
65120         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
65121         unused static function.
65122
65123 2006-06-29  Eric Blake  <ebb9@byu.net>
65124
65125         * doc/functions.texi (Function Portability): Document missing lstat
65126         on mingw.
65127
65128 2006-06-29  Eric Blake  <ebb9@byu.net>
65129
65130         * MODULES.html.sh: Add sys_stat.
65131         * modules/sys_stat: New module.
65132         * modules/mkstemp (Depends-on): Add sys_stat.
65133
65134 2006-06-29  Derek R. Price  <derek@ximbiot.com>
65135
65136         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
65137
65138 2006-06-29  Derek R. Price  <derek@ximbiot.com>
65139
65140         * m4/c-bs-a.m4: Removed.
65141
65142 2006-06-29  Derek R. Price  <derek@ximbiot.com>
65143
65144         * lib/strftime.c: Assume strftime() exists.
65145
65146 2006-06-29  Derek Price  <derek@ximbiot.com>
65147
65148         * modules/c-bs-a: Removed - \a is C89.
65149         * MODULES.html.sh: Remove c-bs-a.
65150
65151 2006-06-29  Bruno Haible  <bruno@clisp.org>
65152
65153         * modules/wcwidth (License): Change to LGPL.
65154
65155 2006-06-28  Simon Josefsson  <jas@extundo.com>
65156
65157         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
65158         on _WIN32.
65159
65160         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
65161         getnameinfo.
65162
65163 2006-06-28  Simon Josefsson  <jas@extundo.com>
65164
65165         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
65166
65167 2006-06-28  Simon Josefsson  <jas@extundo.com>
65168
65169         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
65170         functions there.  It will succeed on Windows XP, but on Windows
65171         2000 and (presumably) earlier, it will fail, and use the internal
65172         re-implementation.
65173         (use_win32_p): New function.
65174         (getaddrinfo): Use strtoul on servname, to support numeric ports.
65175         Support AI_NUMERICSERV to disable getservbyname.
65176         (getnameinfo): New function, only supports
65177         NI_NUMERICHOST|NI_NUMERICSERV for now.
65178
65179         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
65180         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
65181         getnameinfo.
65182
65183 2006-06-28  Eric Blake  <ebb9@byu.net>
65184
65185         * modules/wcwidth: New file.
65186         * modules/mbchar (Depends-on): Add wcwidth.
65187         * modules/mbswidth (Depends-on): Add wcwidth.
65188         * MODULES.html.sh: Add wcwidth.
65189
65190 2006-06-28  Eric Blake  <ebb9@byu.net>
65191
65192         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
65193         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
65194
65195 2006-06-28  Eric Blake  <ebb9@byu.net>
65196
65197         * lib/xvasprintf.h: Fix comments.
65198
65199 2006-06-28  Eric Blake  <ebb9@byu.net>
65200
65201         * lib/mbchar.h (wcwidth): Include wcwidth.h.
65202         * lib/mbswidth.c (wcwidth): Move from here...
65203         * lib/wcwidth.h: ...to this new file.
65204
65205 2006-06-28  Derek R. Price  <derek@ximbiot.com>
65206
65207         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
65208
65209         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
65210         it's obsolete.
65211         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
65212
65213 2006-06-28  Derek R. Price  <derek@ximbiot.com>
65214
65215         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
65216         Autoconf 2.60 says this stuff was obsolete.
65217
65218 2006-06-28  Bruno Haible  <bruno@clisp.org>
65219
65220         * modules/wcwidth (Files): Add m4/wchar_t.m4.
65221
65222 2006-06-28  Bruno Haible  <bruno@clisp.org>
65223
65224         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
65225         gt_TYPE_WCHAR_T.
65226
65227 2006-06-28  Bruno Haible  <bruno@clisp.org>
65228
65229         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
65230         declaration for wcwidth.
65231         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
65232
65233 2006-06-28  Bruno Haible  <bruno@clisp.org>
65234
65235         * lib/mkdtemp.c [MINGW]: Include <io.h>.
65236         (mkdir): Define using _mkdir.
65237
65238 2006-06-28  Bruno Haible  <bruno@clisp.org>
65239
65240         * lib/getaddrinfo.h: Fix POSIX URL.
65241         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
65242         _WIN32.
65243         (use_win32_p): Make static.
65244         (getaddrinfo): Reject service name if it is empty or does not consist
65245         solely of decimal digits, or if its value is > 65535.
65246         (getnameinfo): Remove useless casts.
65247
65248 2006-06-27  Simon Josefsson  <jas@extundo.com>
65249
65250         * modules/sys_select: New file, suggested by Bruno Haible, Paul
65251         Eggert and Martin Lambers.
65252
65253 2006-06-27  Simon Josefsson  <jas@extundo.com>
65254
65255         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
65256         Eggert and Martin Lambers.
65257
65258 2006-06-27  Bruno Haible  <bruno@clisp.org>
65259
65260         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
65261         result to 0, not to empty.
65262         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
65263
65264 2006-06-27  Bruno Haible  <bruno@clisp.org>
65265
65266         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
65267
65268 2006-06-26  Simon Josefsson  <jas@extundo.com>
65269
65270         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
65271         present.
65272
65273 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
65274
65275         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
65276         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
65277         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
65278
65279 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
65280
65281         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
65282
65283 2006-06-26  Bruno Haible  <bruno@clisp.org>
65284
65285         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
65286
65287 2006-06-26  Bruno Haible  <bruno@clisp.org>
65288
65289         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
65290
65291 2006-06-26  Bruno Haible  <bruno@clisp.org>
65292
65293         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
65294         SGI C compiler in pre-C99 mode.
65295         Suggested by Mark D. Baushke and Larry Jones.
65296
65297 2006-06-26  Bruno Haible  <bruno@clisp.org>
65298
65299         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
65300         WCHAR_MAX.
65301         Reported by Mark D. Baushke and Larry Jones.
65302
65303 2006-06-26  Bruno Haible  <bruno@clisp.org>
65304
65305         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
65306         in pre-C99 mode.
65307         Suggested by Mark D. Baushke and Larry Jones.
65308
65309 2006-06-23  Simon Josefsson  <jas@extundo.com>
65310             Bruno Haible  <bruno@clisp.org>
65311
65312         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
65313         Emit mostlyclean-local rule.
65314         (func_emit_tests_Makefile_am): Likewise.
65315         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
65316
65317 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
65318
65319         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
65320
65321 2006-06-23  Bruno Haible  <bruno@clisp.org>
65322
65323         * tests/test-stdint.c: Update to match ISO C 99 Technical
65324         Corrigendum 1.
65325
65326 2006-06-23  Bruno Haible  <bruno@clisp.org>
65327
65328         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
65329
65330 2006-06-23  Bruno Haible  <bruno@clisp.org>
65331
65332         * lib/stdint_.h: Treat IRIX like OpenBSD.
65333
65334 2006-06-23  Bruno Haible  <bruno@clisp.org>
65335
65336         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
65337         ISO C 99 Technical Corrigendum 1.
65338
65339 2006-06-22  Simon Josefsson  <jas@extundo.com>
65340
65341         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
65342         MinGW.
65343
65344 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
65345
65346         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
65347         needed.  Some compiler complained about some of them.  Problem reported
65348         by Larry Jones in
65349         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
65350
65351 2006-06-21  Simon Josefsson  <jas@extundo.com>
65352
65353         * tests/test-getaddrinfo.c: New file.
65354
65355         * modules/getaddrinfo-tests: New file.
65356
65357         * MODULES.html.sh: Add inet_pton.
65358
65359         * modules/inet_pton: New file.
65360
65361 2006-06-21  Simon Josefsson  <jas@extundo.com>
65362
65363         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
65364         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
65365         of using the (limited) gnulib implementation on Windows XP.
65366
65367         * m4/inet_pton.m4: New file.
65368
65369 2006-06-21  Simon Josefsson  <jas@extundo.com>
65370
65371         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
65372         variable.
65373
65374         * lib/socket_.h: Don't define WINVER.
65375
65376         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
65377         slightly modified to work in gnulib.
65378
65379 2006-06-21  Simon Josefsson  <jas@extundo.com>
65380
65381         * doc/gnulib.texi (Windows sockets): Add.
65382
65383 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
65384
65385         * lib/read-file.c (fread_file): Start with buffer allocation of
65386         0 bytes rather than 1 byte; this simplifies the code.
65387         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
65388         code to free buffer and save/restore errno.
65389         (internal_read_file): Remove unused local.
65390
65391 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
65392
65393         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
65394         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
65395         Problem reported by Denis Excoffier in
65396         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
65397
65398 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65399
65400         * modules/sys_socket, modules/socklen: Include sys/types since
65401         FreeBSD 4.x's sys/socket.h needs it.
65402
65403 2006-06-19  Simon Josefsson  <jas@extundo.com>
65404
65405         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
65406
65407 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
65408
65409         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
65410
65411 2006-06-19  Bruno Haible  <bruno@clisp.org>
65412
65413         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
65414         and FULL_PATH_INTTYPES_H in angle brackets.
65415         Reported by Mark D. Baushke <mdb@gnu.org>.
65416
65417 2006-06-17  Eric Blake  <ebb9@byu.net>
65418
65419         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
65420         errno.
65421
65422 2006-06-17  Bruno Haible  <bruno@clisp.org>
65423
65424         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
65425         <sys/inttypes.h>.
65426
65427 2006-06-17  Bruno Haible  <bruno@clisp.org>
65428
65429         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
65430         whether errno is declared. Assume <errno.h> declares errno.
65431
65432 2006-06-17  Bruno Haible  <bruno@clisp.org>
65433
65434         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
65435
65436 2006-06-17  Bruno Haible  <bruno@clisp.org>
65437
65438         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
65439         problem on Solaris 2.5.1.
65440
65441 2006-06-16  Eric Blake  <ebb9@byu.net>
65442
65443         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
65444         * lib/unicodeio.c [!defined errno]: Likewise.
65445         * lib/strtol.c [!defined errno]: Likewise.
65446         * lib/strtod.c [!defined errno]: Likewise.
65447
65448 2006-06-15  Eric Blake  <ebb9@byu.net>
65449
65450         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
65451
65452 2006-06-15  Eric Blake  <ebb9@byu.net>
65453
65454         * config/srclist.txt (ssize_t.m4): Lose sync.
65455
65456 2006-06-15  Bruno Haible  <bruno@clisp.org>
65457
65458         * modules/stdint (Files): Include m4/full-header-path.m4,
65459         m4/size_max.m4, m4/wchar_t.m4.
65460         (Makefile.am): Many more substitutions.
65461         * modules/stdint-tests: New file.
65462         * tests/test-stdint.c: New file.
65463
65464 2006-06-15  Bruno Haible  <bruno@clisp.org>
65465
65466         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
65467         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
65468         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
65469         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
65470         gl_CHECK_TYPE_SAME): New macros.
65471
65472 2006-06-15  Bruno Haible  <bruno@clisp.org>
65473
65474         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
65475
65476 2006-06-15  Bruno Haible  <bruno@clisp.org>
65477
65478         * lib/stdint_.h: Rewritten to be fully auto-configured.
65479         Fixes bug on HP-UX/IA64.
65480
65481 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
65482
65483         * lib/getdate.y (__attribute__): Don't define if already defined.
65484         Problem reported by Larry Jones.
65485         * lib/utimens.c (__attribute__): Likewise.
65486
65487 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
65488
65489         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
65490         reported by Andreas Schwab.
65491
65492 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65493             Bruno Haible  <bruno@clisp.org>
65494
65495         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
65496         check for the declaration of strnlen and a run test that exposes the
65497         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
65498         rpl_strndup.
65499
65500 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65501             Bruno Haible  <bruno@clisp.org>
65502
65503         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
65504
65505 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65506
65507         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
65508         compile test, for Tru64 4.0D.
65509
65510 2006-05-28  Karl Berry  <karl@gnu.org>
65511
65512         * config/srclist.txt (printf-args.c): lose sync.
65513
65514 2006-05-26  Martin Lambers  <marlam@marlam.de>
65515
65516         * lib/getpass.c: Updates the test for the native W32 API, and adds
65517         missing includes, thus fixing compilation warnings.
65518
65519 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
65520
65521         * lib/exclude.c (exclude_fnmatch): New function.
65522         (excluded_file_name): Call exclude_fnmatch.
65523         * lib/exclude.h (excluded_file_name): New prototype
65524
65525 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
65526
65527         * lib/tempname.c (small_open, large_open): New macros.
65528         (__open, __open64) [!_LIBC]: Remove.
65529         (__gen_tempname): Use small_open and large_open instead of __open
65530         and __open64.  This fixes a portability bug on HP-UX 11.11i
65531         reported by Simon Wing-Tang in
65532         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
65533
65534 2006-05-24  Bruno Haible  <bruno@clisp.org>
65535
65536         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
65537         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
65538         Reported by Thorsten Maerz <torte@netztorte.de> via
65539         Aaron Stone <aaron@serendipity.cx>.
65540
65541 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
65542
65543         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
65544         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
65545         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
65546         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
65547         not really conditional on the cache.
65548         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
65549
65550 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
65551
65552         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
65553         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
65554         (my_usleep): Don't mishandle maximum value.
65555
65556 2006-05-19  Jim Meyering  <jim@meyering.net>
65557
65558         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
65559
65560 2006-05-17  Bruno Haible  <bruno@clisp.org>
65561
65562         Cygwin portability.
65563         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
65564
65565 2006-05-17  Bruno Haible  <bruno@clisp.org>
65566
65567         * lib/stdint_.h: Fix recognition of Cygwin.
65568
65569 2006-05-15  Bruno Haible  <bruno@clisp.org>
65570
65571         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
65572         on libtool patch by Ralf Wildenhues.
65573
65574 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
65575
65576         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
65577         test for C99 conformance; (bool) 0.5 is an integer constant
65578         expression, but (bool) -0.5 is not.  Problem reported by Fedor
65579         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
65580
65581 2006-05-11  Simon Josefsson  <jas@extundo.com>
65582
65583         * m4/xvasprintf.m4: Fix obvious typo.
65584
65585 2006-05-11  Jim Meyering  <jim@meyering.net>
65586
65587         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
65588         James Lemley.
65589
65590 2006-05-10  Simon Josefsson  <jas@extundo.com>
65591
65592         * lib/md4.c: Typo fix, update copyright years.
65593         (K1, K2): Don't use L because it turn computations into 64-bit on
65594         64-bit platforms.
65595
65596 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
65597
65598         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
65599         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
65600         unwanted sign propagation, e.g., on hosts with 64-bit int.
65601         There still are some problems with reeelly weird theoretical hosts
65602         (e.g., 33-bit int) but it's not worth worrying about now.
65603         * lib/sha1.c (rol): Likewise.
65604         (K1, K2, K3, K4): Remove unnecessary L suffix.
65605
65606 2006-05-10  Bruno Haible  <bruno@clisp.org>
65607
65608         * lib/des.c: Cast to avoid warnings.
65609
65610 2006-05-09  Bruno Haible  <bruno@clisp.org>
65611
65612         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
65613         (Depends-on): Depend also on xsize, stdarg.
65614         (configure.ac): Add gl_XVASPRINTF.
65615
65616 2006-05-09  Bruno Haible  <bruno@clisp.org>
65617
65618         * m4/xvasprintf.m4: New file.
65619
65620 2006-05-09  Bruno Haible  <bruno@clisp.org>
65621
65622         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
65623         (EOVERFLOW): Define fallback value.
65624         (xstrcat): New function.
65625         (xvasprintf): Recognize the special case of a string concatenation.
65626
65627 2006-05-08  Eric Blake  <ebb9@byu.net>
65628
65629         * gnulib-tool (func_version): Base copyright year on CVS date.
65630         (func_emit_copyright_notice): New function.
65631         (func_emit_lib_Makefile_am): Use it.
65632         (func_emit_tests_Makefile_am): Likewise.
65633         (func_import): Likewise.
65634
65635 2006-05-08  Bruno Haible  <bruno@clisp.org>
65636
65637         * modules/stdarg: New file.
65638         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
65639
65640 2006-05-08  Bruno Haible  <bruno@clisp.org>
65641
65642         * m4/stdarg.m4: New file, from GNU gettext.
65643
65644 2006-05-08  Bruno Haible  <bruno@clisp.org>
65645
65646         * config/srclist.txt (build-aux/config.rpath): different from latest
65647         release.
65648
65649 2006-05-08  Bruno Haible  <bruno@clisp.org>
65650
65651         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
65652
65653 2006-05-05  Jim Meyering  <jim@meyering.net>
65654
65655         * m4/warning.m4: New file, derived from bison's file by the same name.
65656
65657 2006-05-03  Bruno Haible  <bruno@clisp.org>
65658
65659         * lib/stdint_.h: Shorter URL.
65660         * lib/inttypes.h: Likewise.
65661
65662 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
65663
65664         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
65665
65666 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
65667
65668         * lib/verify.h: Document the internals better.  Most of this change
65669         was written by Bruno Haible.
65670
65671 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
65672
65673         * doc/verify.texi: New file, partly based on a proposal by
65674         Bruno Haible.
65675
65676 2006-05-02  Bruno Haible  <bruno@clisp.org>
65677
65678         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
65679         test from here...
65680         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
65681
65682 2006-04-29  Bruno Haible  <bruno@clisp.org>
65683
65684         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
65685         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
65686
65687 2006-04-29  Bruno Haible  <bruno@clisp.org>
65688
65689         * gnulib-tool: Make --update option actually work.
65690
65691 2006-04-29  Bruno Haible  <bruno@clisp.org>
65692
65693         * doc/gcd.texi: New file.
65694         * doc/gnulib.texi: Include it.
65695
65696 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
65697
65698         * lib/getdate.y (get_date): When adding relative date, start with the
65699         initial time, not with the result of the first mktime call.
65700
65701 2006-04-25  Bruno Haible  <bruno@clisp.org>
65702
65703         * gnulib-tool (func_import): Output the include directives in three
65704         blocks, sorted separately.
65705         Reported by Ben Pfaff <blp@cs.stanford.edu>.
65706
65707 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
65708
65709         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
65710         to define main with arguments, for C++.  Reported by Eric Blake.
65711         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
65712         Prefer 'int main ()' to 'int main (void)', for C++.
65713         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
65714         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
65715         for 'main', for C99 and C++.
65716
65717 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
65718
65719         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
65720         Don't assume that exit status -1 is valid.
65721         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
65722         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
65723         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
65724         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
65725         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
65726         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
65727         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
65728         functions can be used without declaring them, or that you can
65729         exit with status -1.
65730         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
65731
65732 2006-04-24  Karl Berry  <karl@gnu.org>
65733
65734         * config/srclist.txt (longdouble.m4): sync lost.
65735
65736 2006-04-24  Eric Blake  <ebb9@byu.net>
65737
65738         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
65739
65740 2006-04-24  Bruno Haible  <bruno@clisp.org>
65741
65742         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
65743         poll() implementation in AIX.
65744         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
65745
65746 2006-04-24  Bruno Haible  <bruno@clisp.org>
65747
65748         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
65749         assigned exactly once.
65750
65751 2006-04-23  Claudio Fontana  <claudio@gnu.org>
65752             Bruno Haible  <bruno@clisp.org>
65753
65754         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
65755         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
65756         for AM_CPPFLAGS.
65757
65758 2006-04-23  Bruno Haible  <bruno@clisp.org>
65759
65760         * modules/copy-file: Depend on unistd.
65761         * modules/execute: Likewise.
65762         * modules/fatal-signal: Likewise.
65763         * modules/findprog: Likewise.
65764         * modules/mkdtemp : Likewise.
65765         * modules/pipe: Likewise.
65766         * modules/wait-process: Likewise.
65767
65768 2006-04-23  Bruno Haible  <bruno@clisp.org>
65769
65770         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
65771         condition was already detected.
65772         Reported by Ben Pfaff <blp@cs.stanford.edu>.
65773
65774 2006-04-23  Bruno Haible  <bruno@clisp.org>
65775
65776         * lib/copy-file.c: Include <unistd.h> unconditionally.
65777         * lib/execute.c: Likewise.
65778         * lib/fatal-signal.c: Likewise.
65779         * lib/findprog.c: Likewise.
65780         * lib/mkdtemp.c: Likewise.
65781         * lib/pipe.h: Likewise.
65782         * lib/pipe.c: Likewise.
65783         * lib/wait-process.h: Likewise.
65784
65785 2006-04-23  Bruno Haible  <bruno@clisp.org>
65786
65787         * gnulib-tool (func_usage): Fix --import description. Document
65788         --update.
65789         (func_import): Create temporary file in a temporary directory, if
65790         --dry-run is specified. Silence errors from 'grep' when there are no
65791         m4 files in $m4dir.
65792         (func_create_testdir): Silence errors from 'grep' when there are no
65793         m4 files in $m4dir.
65794         Reported by Karl Berry <karl@freefriends.org>.
65795
65796 2006-04-20  Bruno Haible  <bruno@clisp.org>
65797
65798         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
65799         one argument, so that the code will be portable to Autoconf 2.60.
65800         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
65801         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
65802         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
65803
65804 2006-04-19  Derek Price  <derek@ximbiot.com>
65805             Eric Blake  <ebb9@byu.net>
65806
65807         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
65808         rather than "/full/path.h".  Update comment to match.  Shorten &
65809         generalize m4_translit call via AS_TR_CPP.
65810
65811 2006-04-19  Derek Price  <derek@ximbiot.com>
65812             Eric Blake  <ebb9@byu.net>
65813
65814         * lib/inttypes.h: Correct grammar in comment.
65815
65816 2006-04-18  Derek Price  <derek@ximbiot.com>
65817             Paul Eggert  <eggert@cs.ucla.edu>
65818
65819         * modules/inttypes: New file.
65820         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
65821
65822 2006-04-18  Derek Price  <derek@ximbiot.com>
65823             Paul Eggert  <eggert@cs.ucla.edu>
65824
65825         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
65826         New files.
65827
65828 2006-04-18  Derek Price  <derek@ximbiot.com>
65829             Paul Eggert  <eggert@cs.ucla.edu>
65830
65831         * lib/inttypes.h: New file.
65832         * lib/strtoimax.c: Assume <inttypes.h>.
65833
65834 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
65835
65836         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
65837         isn't mounted.  Problem reported by Kir Kolyshkin.
65838
65839 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
65840
65841         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
65842         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
65843         Derek R. Price.
65844         * lib/regex.h (RE_DUP_MAX): Update comment to match current
65845         implementation.
65846
65847 2006-04-12  Eric Blake  <ebb9@byu.net>
65848
65849         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
65850         is now done automatically by the corresponding Autoconf macro.
65851
65852 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
65853
65854         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
65855         time_r.h.
65856
65857 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
65858
65859         Merge regex changes from libc, removing some of our
65860         POSIX-conformance changes that were rejected and redoing them in a
65861         less-intrusive way.
65862
65863         * lib/regcomp.c (re_compile_internal, init_dfa):
65864         Length arg is now size_t, not Idx.  All uses changed.
65865         (peek_token): Forward decl now says internal_function.
65866         (__re_error_msgid, __re_error_msgid_idx):
65867         Now static rather than extern with attribute_hidden.
65868         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
65869         For some reason libc prefers K&R style defns for external functions.
65870         (regerror) [!defined _LIBC]: Likewise.
65871         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
65872         (seek_collating_symbol_entry, lookup_collation_sequence_value):
65873         (build_range_exp, build_collating_symbol):
65874         Use K&R-style defn.
65875         (re_compile_fastmap): Use '\0' to memset, not 0.
65876         (utf8_sb_map): Make the calculations more obvious.
65877         (init_dfa, parse_bracket_exp, build_charclass_op):
65878         Call calloc and cast result, as glibc does.
65879         (init_word_char, fetch_token, peek_token, peek_token_bracket):
65880         (build_range_exp, build_collating_symbol):
65881         Now internal functions.
65882
65883         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
65884
65885         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
65886         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
65887         Don't depend on VMS; depend on __VMS instead, for POSIX
65888         namespace cleanness.
65889         (regoff_t): Define to ssize_t, not long int.
65890
65891         Remove the REG_ macros named below.  Instead, make the old names
65892         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
65893         __USE_GNU_REGEX.
65894         (REG_BACKSLASH_ESCAPE_IN_LISTS):
65895         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
65896         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
65897         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
65898         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
65899         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
65900         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
65901         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
65902         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
65903         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
65904         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
65905         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
65906         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
65907         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
65908         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
65909         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
65910         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
65911         (REG_NREGS):
65912         Remove.  All uses replaced by the old RE_* names.
65913         (RE_BACKSLASH_ESCAPE_IN_LISTS):
65914         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
65915         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
65916         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
65917         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
65918         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
65919         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
65920         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
65921         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
65922         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
65923         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
65924         Don't bother having these macros be independent of each others'
65925         values, since they no longer exist in the POSIX name space.
65926
65927         Rename the following member names back to their old names,
65928         unless !__USE_GNU_REGEX.  All uses changed back.
65929         (buffer): Renamed from re_buffer.
65930         (allocated): Renamed from re_allocated.
65931         (used): Renamed from re_used.
65932         (syntax): Renamed from re_syntax.
65933         (fastmap): Renamed from re_fastmap.
65934         (translate): Renamed from re_translate.
65935         (can_be_null): Renamed from re_can_be_null.
65936         (regs_allocated): Renamed from re_regs_allocated.
65937         (fastmap_accurate): Renamed from re_fastmap_accurate.
65938         (no_sub): Renamed from re_no_sub.
65939         (not_bol): Renamed from re_not_bol.
65940         (not_eol): Renamed from re_not_eol.
65941         (newline_anchor): Renamed from re_newline_anchor.
65942         (num_regs): Renamed from rm_num_regs.
65943         (start): Renamed from rm_start.
65944         (end): Renamed from rm_end.
65945
65946         (free_state): Move up a bit.
65947
65948         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
65949         #define to be empty.
65950         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
65951         when that is what is intended.
65952         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
65953         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
65954         (MAX): New macro.
65955         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
65956         All uses changed back to re_malloc, etc.  It's now the caller's
65957         responsibility to check for overflow; all callers changed.
65958         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
65959         (re_x2nrealloc): Remove.
65960         (free_state): Remove decl.
65961
65962         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
65963         (re_set_registers, re_exec):
65964         Use K&R-style defn.
65965
65966         2006-01-31  Roland McGrath  <roland@redhat.com>
65967
65968         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
65969         Reported by Mike Frysinger <vapier@gentoo.org>.
65970
65971         2006-01-15  Andreas Jaeger  <aj@suse.de>
65972
65973         [BZ #1950]
65974         * lib/regex_internal.c (re_string_reconstruct): Adjust for
65975         build_wcs_upper_buffer change.
65976         (build_wcs_upper_buffer): Change return type.
65977
65978         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
65979
65980         * lib/regex_internal.h: Include <stdint.h> if available.
65981
65982         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
65983
65984         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
65985
65986         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
65987
65988         * lib/regcomp.c: Adjust for changed secondary hash function.
65989
65990         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
65991
65992         * lib/regex.h: Pretty printing.
65993         Clean up namespace a bit.
65994
65995         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
65996
65997         * lib/regexec.c (update_cur_sifted_state, check_arrival,
65998         check_arrival_add_next_nodes): Avoid using uninitialized variable.
65999
66000         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
66001                     Ulrich Drepper  <drepper@redhat.com>
66002
66003         [BZ #1302]
66004         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
66005         changed.
66006         (bitset_word_t): Renamed from bitset_word.  All uses changed.
66007
66008         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
66009
66010         [BZ #281]
66011         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
66012         * lib/regcomp.c: Remove unnecessary uses of
66013         unsigned RE_TRANSLATE_TYPE.
66014         * lib/regex_internal.h: Likewise.
66015         * lib/regex_internal.c: Likewise.
66016         * lib/regexec.c: Likewise.
66017         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
66018
66019         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
66020
66021         * lib/regexec.c (find_recover_state): Remove unnecessary
66022         initialization.
66023         (transit_state_bkref): Make DFA a const pointer.
66024         (get_subexp): Likewise.
66025         (check_arrival): Likewise.
66026         (update_cur_sifted_state): Likewise.
66027         (re_search_internal): Likewise.
66028         (prune_impossible_nodes): Likewise.
66029         (acquire_init_state_context): Likewise.
66030         (proceed_next_node): Likewise.
66031         (set_regs): Likewise.
66032         (free_fail_stack_return): Likewise.
66033         (check_arrival_expand_ecl): Mark DFA parameter as const.
66034         (check_arrival_expand_ecl_sub): Likewise.
66035         (check_subexp_limits): Likewise.
66036         (sub_epsilon_src_nodes):  Likewise.
66037         (add_epsilon_src_nodes):  Likewise.
66038         (merge_state_array): Likewise.
66039         (update_regs): Likewise.
66040         (build_trtable): Likewise.
66041         (sift_states_backward): Mark MCTX parameter as const.
66042         (build_sifted_states): Likewise.
66043         (update_cur_sifted_state): Likewise.
66044         (sift_states_mkref): Likewise.
66045         (check_arrival_expand_ecl): Mark eclosure as const.
66046         (check_dst_limits_calc_pos_1): Likewise.
66047         * lib/regex_internal.h (re_match_context_t): Make dfa a const
66048         pointer.
66049
66050         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
66051
66052         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
66053         (transit_state_sb): Likewise.
66054         (transit_state_mb): Likewise.
66055         (sift_states_iter_mb): Likewise.
66056         (check_arrival_add_next_nodes): Likewise.
66057         (check_node_accept_bytes): Change first parameter to pointer-to-const.
66058         [_LIBC] (re_search_2_stub): Use mempcpy.
66059
66060         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
66061         mbrtowc for very simple UTF-8 case.
66062
66063         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
66064         a pointer-to-const.
66065         (re_acquire_state_context): Likewise.
66066         * lib/regex_internal.h: Adjust prototypes.
66067
66068         * lib/regex.c: Prevent using C++ compilers.
66069
66070         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
66071         (re_acquire_state_context): Likewise.
66072
66073 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
66074
66075         * modules/regex (Depends-on): Add ssize_t.
66076
66077 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
66078
66079         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
66080         translation table.
66081
66082 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
66083
66084         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
66085
66086 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
66087             Bruno Haible  <bruno@clisp.org>
66088
66089         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
66090         <sys/types.h> and <inttypes.h>.
66091
66092 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66093
66094         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
66095         `__error_t_defined', so argp.h will not typedef the former.
66096
66097 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
66098
66099         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
66100         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
66101         glibc names.  Even if glibc is changed to conform to POSIX, the
66102         traditional names will be available anyway, since regex depends on
66103         the extensions module.  Also, fix a longstanding typo in the
66104         implementation of Spencer ERE test #75 from grep 2.3.  Problems
66105         reported by Emanuele Giaquinta.  Also, change sense of cached
66106         variable, so that the message makes sense.
66107
66108 2006-03-24  Simon Josefsson  <jas@extundo.com>
66109
66110         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
66111         including some doc fixes.
66112         (base64_encode_alloc): Fix +1 bug on allocation failures.
66113
66114 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66115
66116         * lib/base64.c (base64_encode): Do not read past end of array with
66117         unsanitized input on systems with CHAR_BIT > 8.
66118
66119 2006-03-24  Eric Blake  <ebb9@byu.net>
66120
66121         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
66122
66123 2006-03-22  Karl Berry  <karl@gnu.org>
66124
66125         * config/srclist.txt (*setenv.[ch]): get from coreutils.
66126         * config/srclistvars.sh (COREUTILS): new var.
66127
66128 2006-03-17  Jim Meyering  <jim@meyering.net>
66129
66130         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
66131         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
66132
66133 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
66134
66135         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
66136         no longer needs it.  Instead, check that regoff_t is as least
66137         as wide as ptrdiff_t.
66138
66139         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
66140         so that our regex.h stays compatible with the installed regex.
66141         This is helpful for installers who configure --without-included-regex.
66142         Problem reported by Emanuele Giaquinta.
66143
66144 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
66145
66146         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
66147         Typedef to long int, not to off_, as POSIX will likely change
66148         in that direction.
66149
66150 2006-03-15  Eric Blake  <ebb9@byu.net>
66151
66152         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
66153
66154 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
66155
66156         * lib/argp-help.c (validate_uparams): Fix typo
66157         * lib/argp-parse.c (argp_default_options): Consistently begin help
66158         messages with a lowercase letter.
66159
66160 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
66161
66162         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
66163         overrun buffers and shouldn't be used (much as gets shouldn't be
66164         used).
66165         * lib/time_r.c (asctime_r, ctime_r): Likewise.
66166
66167 2006-03-08  Simon Josefsson  <jas@extundo.com>
66168
66169         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
66170         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
66171
66172 2006-03-08  Simon Josefsson  <jas@extundo.com>
66173
66174         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
66175         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
66176
66177 2006-03-08  Simon Josefsson  <jas@extundo.com>
66178
66179         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
66180         signal that configure disabled the device.
66181
66182 2006-03-08  Simon Josefsson  <jas@extundo.com>
66183
66184         * build-aux/maint.mk: Fix refresh-po, to handle no translated
66185         languages.
66186
66187 2006-03-07  Simon Josefsson  <jas@extundo.com>
66188
66189         * modules/getopt (Depends-on): Add unistd.
66190
66191         * modules/unistd: New file.
66192
66193 2006-03-07  Simon Josefsson  <jas@extundo.com>
66194
66195         * modules/gc-random: New file.
66196
66197 2006-03-07  Simon Josefsson  <jas@extundo.com>
66198
66199         * m4/unistd_h.m4: New file.
66200
66201 2006-03-07  Simon Josefsson  <jas@extundo.com>
66202
66203         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
66204         test to be side-effect free by storing the result in the cache
66205         variable gl_cv_lib_readline, and moving the assignment of
66206         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
66207         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
66208
66209 2006-03-07  Simon Josefsson  <jas@extundo.com>
66210
66211         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
66212         error on missing devices (the functions will return an error).
66213
66214         * m4/gc.m4: Move random stuff to gc-random.m4
66215
66216 2006-03-07  Simon Josefsson  <jas@extundo.com>
66217
66218         * lib/unistd_.h: New file.
66219
66220 2006-03-07  Simon Josefsson  <jas@extundo.com>
66221
66222         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
66223
66224 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
66225
66226         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
66227         Problem reported by Juan Manuel Guerrero.
66228
66229 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
66230
66231         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
66232         the unistd module.
66233         * lib/getlogin_r.c: Likewise.
66234         * lib/getlogin_r.h: Likewise.
66235         * lib/glob.c: Likewise.
66236         * lib/pagealign_alloc.c: Likewise.
66237         * lib/unistd_.h: Remove; no longer needed.
66238
66239 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
66240
66241         * MODULES.html.sh (Support for systems lacking POSIX:2001):
66242         Add unistd.
66243         * modules/c-stack (Depends-on): Add unistd.
66244         * modules/getlogin_r: Likewise.
66245         * modules/glob: Likewise.
66246         * modules/pagealign_alloc: Likewise.
66247         * modules/unistd (Files): Remove lib/unistd_.h.
66248         (EXTRA_DIST): Remove.
66249         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
66250         need unistd_.h.
66251         (MOSTLYCLEANFILES): Remove unistd.h-t.
66252
66253 2006-03-03  Simon Josefsson  <jas@extundo.com>
66254
66255         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
66256
66257 2006-03-03  Simon Josefsson  <jas@extundo.com>
66258
66259         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
66260         libidn and bison.
66261
66262 2006-03-03  Simon Josefsson  <jas@extundo.com>
66263
66264         * build-aux/maint.mk: Add indent target.
66265
66266 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
66267
66268         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
66269         our replacement poll.h in any case, to avoid a differing
66270         declaration from a system header.  Seen on AIX.
66271
66272 2006-03-01  Simon Josefsson  <jas@extundo.com>
66273
66274         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
66275         <kasal@ucw.cz>.
66276
66277 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
66278
66279         * modules/gettime (Depends-on): Add extensions module.
66280         * modules/nanosleep (Depends-on): Likewise.
66281         * modules/settime (Depends-on): Likewise.
66282
66283 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
66284
66285         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
66286         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
66287         pedantically.
66288         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
66289         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
66290
66291         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
66292         not "==".  Reported by Ralf Wildenhues.
66293
66294 2006-03-01  Karl Berry  <karl@gnu.org>
66295
66296         * doc/Copyright/request-*: new files, synced from gnuorg.
66297
66298 2006-03-01  Karl Berry  <karl@gnu.org>
66299
66300         * config/srclist.txt (Copyright/*): new entries.
66301
66302 2006-02-28  Simon Josefsson  <jas@extundo.com>
66303
66304         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
66305
66306 2006-02-27  Simon Josefsson  <jas@extundo.com>
66307
66308         * lib/base64.h: Indent #define's.  From Jim Meyering
66309         <jim@meyering.net>.
66310
66311 2006-02-27  Jim Meyering  <jim@meyering.net>
66312
66313         Revert the change of 2006-02-24, so these files can continue
66314         to be sync'd from gettext.
66315         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
66316         of `config.h'.
66317
66318 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
66319
66320         * modules/intprops: New file.
66321         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
66322         Add intprops.
66323         * modules/getloadavg (Files): Remove lib/intprops.h.
66324         (Depends-on): Add intprops.
66325         * modules/human: Likewise.
66326         * modules/inttostr: Likewise.
66327         * modules/openat: Likewise.
66328         * modules/sig2str: Likewise.
66329         * modules/userspec: Likewise.
66330         * modules/utimecmp: Likewise.
66331         * modules/xnanosleep: Likewise.
66332         * modules/xstrtol: Likewise.
66333
66334 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
66335
66336         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
66337         * modules/lock-tests (TESTS): Use $(EXEEXT).
66338         * modules/tls-tests: Likewise.
66339         * modules/argp-tests: Likewise.
66340         (check_PROGRAMS): New var, replacing...
66341         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
66342
66343 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66344
66345         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
66346         `config.h'.
66347
66348 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
66349
66350         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
66351
66352 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66353
66354         Sync from coreutils.
66355         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
66356         gl_CHDIR_SAFER.
66357
66358 2006-02-22  Jim Meyering  <jim@meyering.net>
66359
66360         Sync from coreutils.
66361         * m4/chdir-safer.m4: New file.
66362
66363 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
66364
66365         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
66366         AT_FDCWD exceeds INT_MAX.
66367         * lib/openat.h (AT_FDCWD): Likewise.
66368
66369 2006-02-17  Eric Blake  <address@hidden>
66370
66371         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
66372
66373 2006-02-16  Simon Josefsson  <jas@extundo.com>
66374
66375         * modules/getaddrinfo (Depends-on): Add sys_socket.
66376
66377 2006-02-15  Simon Josefsson  <jas@extundo.com>
66378
66379         * build-aux/maint.mk: Add dsyntax-check rule.
66380
66381 2006-02-15  Eric Blake  <ebb9@byu.net>
66382
66383         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
66384         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
66385         'present but cannot compile' warnings on cygwin.
66386         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
66387         use ws2tcpip.h if sys/socket.h works.
66388         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
66389         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
66390
66391 2006-02-14  Simon Josefsson  <jas@extundo.com>
66392
66393         * modules/maintainer-makefile (Files): Rename.
66394
66395         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
66396         and (the local) Makefile.cfg to maint-cfg.mk.
66397
66398         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
66399         to the latter.
66400
66401         * modules/maintainer-makefile: New module.
66402
66403         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
66404         severaly stripped to make it possible to build it up from scratch
66405         with reliable tests.
66406
66407         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
66408         fixes to permit overriding the default actions when configure and
66409         makefile are not available.
66410
66411 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
66412
66413         Sync from coreutils.
66414         * modules/lstat (Depends-on): Don't depend on xalloc.
66415         (License): Change from GPL to LGPL, since this is now simply a
66416         replacement for a libc function.
66417
66418 2006-02-14  Jim Meyering  <jim@meyering.net>
66419
66420         Sync from coreutils.
66421
66422         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
66423         failure on deficient systems, and simplify gnulib lgpl dependencies.
66424         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
66425         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
66426
66427         * lib/xalloc-die.c: Remove unused definition of N_.
66428
66429 2006-02-14  Jim Meyering  <jim@meyering.net>
66430
66431         Sync from coreutils.
66432         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
66433         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
66434         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
66435         double-quote uses of that variable, to accommodate the rare case in
66436         which getmntent is available in none of the libraries checked.  This
66437         happens at least on FreeBSD 5.0.
66438
66439 2006-02-13  Simon Josefsson  <jas@extundo.com>
66440
66441         * gnulib-tool (Usage): Fix --import, from
66442         karl@freefriends.org (Karl Berry).
66443
66444 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
66445
66446         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
66447
66448 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
66449
66450         * lib/argp-namefrob.h: Restore changes accidentally lost during the
66451         "autoupdate" on 2005-12-12.
66452
66453 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
66454
66455         * modules/closeout (Depends-on): Remove atexit.
66456
66457 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
66458
66459         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
66460         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
66461
66462 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
66463
66464         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
66465         __EXTENSIONS__ if this causes compilation to fail.  Problem
66466         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
66467         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
66468
66469 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
66470
66471         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
66472         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
66473         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
66474         All uses changed.
66475
66476 2006-01-26  Simon Josefsson  <jas@extundo.com>
66477
66478         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
66479         prototype is visible on mingw32.
66480
66481         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
66482         for mingw32.
66483
66484         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
66485         mingw32).
66486
66487 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
66488
66489         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
66490         attempt to open for write; this always fails, at least on POSIX
66491         hosts.  This reinstates the 2006-01-09 change, which was
66492         inadvertently removed.
66493
66494 2006-01-26  Bruno Haible  <bruno@clisp.org>
66495
66496         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
66497         Reported by Paul Eggert.
66498
66499 2006-01-26  Bruno Haible  <bruno@clisp.org>
66500             Paul Eggert  <eggert@cs.ucla.edu>
66501
66502         * lib/stdbool_.h (_Bool)
66503         [(! (defined __cplusplus || defined __BEOS__)
66504           && !defined __GNUC__
66505           && !(defined __HP_cc || defined __xlc__
66506                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
66507                || defined __sgi))]:
66508         #define to signed char in these cases too; this simplifies
66509         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
66510         etc., separately) and makes it more conservative.
66511
66512 2006-01-25  Simon Josefsson  <jas@extundo.com>
66513
66514         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
66515         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
66516         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
66517
66518 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
66519
66520         * lib/argp-namefrob.h: Bugfix. Remove stray #
66521
66522 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
66523
66524         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
66525         so that we test the test.
66526         Check for yet another HP-UX cc bug involving *bool |= bool.
66527
66528 2006-01-25  Karl Berry  <karl@gnu.org>
66529
66530         * config/srclist.txt (vasnprintf.c): sync lost.
66531
66532 2006-01-25  Jim Meyering  <jim@meyering.net>
66533
66534         Sync from the stable (b5) branch of coreutils:
66535
66536         * lib/fts.c (fts_children): Don't let close() clobber errno from
66537         failed fchdir().
66538
66539         * lib/fts.c (fts_stat): When following a symlink-to-directory,
66540         don't necessarily interpret stat-fails+lstat-succeeds as indicating
66541         a dangling symlink.  That can also happen at least for ELOOP.
66542         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
66543         FYI, this bug predates the inclusion of fts.c in coreutils.
66544
66545         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
66546         in their own block, so pre-c99 compilers don't object.
66547
66548         Avoid the double-free (first in fts_read, second in fts_close) that
66549         would occur when an `active' directory is made inaccessible (e.g.,
66550         via chmod a-x) during a traversal.
66551         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
66552         before returning.  Reproduce this failure by
66553         mkdir -p a/b; cd a; chmod a-x . b
66554         Reported by Stavros Passas.
66555
66556 2006-01-25  Jim Meyering  <jim@meyering.net>
66557
66558         * lib/fileblocks.c: Remove more useless parentheses.
66559         * lib/readutmp.h: Likewise.
66560
66561 2006-01-25  Bruno Haible  <bruno@clisp.org>
66562
66563         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
66564         warnings.
66565         Reported by Paul Eggert.
66566
66567 2006-01-25  Bruno Haible  <bruno@clisp.org>
66568
66569         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
66570         rid of a trap command. For Solaris sh.
66571         Reported by Mark D. Baushke <mdb@gnu.org>.
66572
66573 2006-01-24  Simon Josefsson  <jas@extundo.com>
66574
66575         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
66576         Bruno.
66577
66578 2006-01-24  Karl Berry  <karl@gnu.org>
66579
66580         * config/srclist.txt (argp-namefrob.h): sync lost.
66581
66582 2006-01-24  Jim Meyering  <jim@meyering.net>
66583
66584         * modules/openat (Files): Add lib/intprops.h.
66585         From Mark D. Baushke.
66586
66587 2006-01-24  Jim Meyering  <jim@meyering.net>
66588
66589         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
66590         Reported by Mark D. Baushke.
66591
66592 2006-01-24  Jim Meyering  <jim@meyering.net>
66593
66594         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
66595
66596 2006-01-24  Bruno Haible  <bruno@clisp.org>
66597
66598         * modules/strnlen (Maintainer): Change from glibc to all.
66599
66600 2006-01-24  Bruno Haible  <bruno@clisp.org>
66601
66602         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
66603         Patch by Paul Eggert.
66604
66605 2006-01-24  Bruno Haible  <bruno@clisp.org>
66606
66607         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
66608         already has it.
66609         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
66610         2005-11-26.
66611
66612         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
66613         'signed char' to avoid problems with the built-in _Bool type.
66614         Reported by Paul Eggert on 2005-11-26.
66615
66616 2006-01-24  Bruno Haible  <bruno@clisp.org>
66617
66618         * gnulib-tool (func_import): Avoid constructing complicated sed
66619         expressions inside backquote.
66620         Report and solution by Mark D. Baushke <mdb@gnu.org>.
66621
66622 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
66623
66624         These changes imported from libc.
66625         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
66626         test and two separate function calls.
66627         * lib/strndup.c (__strndup): Add libc_hidden_def.
66628
66629 2006-01-23  Simon Josefsson  <jas@extundo.com>
66630
66631         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
66632         Remove the test_*_SOURCES variable: automake infers it by default.
66633         * modules/tls-tests: Likewise.
66634
66635 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
66636
66637         Work around porting bugs reported by Dieter in
66638         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
66639         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
66640         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
66641         Include "getopt.h" first, to check interface.
66642         (getenv): Declare only if defined HAVE_DECL_GETENV &&
66643         !HAVE_DECL_GETENV.
66644         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
66645         (__strndup): Revert to K&R-style function dfns, the glibc style.
66646         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
66647         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
66648         Include strnlen.h first, to get prototype properly.
66649         (strnlen): Renamed from __strnlen.
66650         Remove weak alias.
66651
66652 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
66653
66654         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
66655
66656 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
66657
66658         * config/srclist.txt: Adjust to reflect glibc reorganization.
66659         This affects only comments.
66660
66661 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
66662
66663          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
66664          Reported by Bruce Korb <bkorb@gnu.org>.
66665
66666 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
66667
66668         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
66669         to pacify gcc -Wswitch-default.
66670
66671 2006-01-22  Bruno Haible  <bruno@clisp.org>
66672
66673         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
66674         temporary buffer for sprintf, take into account the precision also
66675         for 'd', 'i', 'u', 'o', 'x', 'X'.
66676
66677 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
66678
66679         * modules/argp-tests: New module
66680         * tests/test-argp.c: New file
66681         * tests/test-argp-2.sh: New file
66682
66683 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
66684
66685         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
66686         (__argp_base_name): Removed
66687         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
66688         typo.
66689         (__argp_base_name): Provide macro definition or extern declaration
66690         depending on the configuration
66691
66692 2006-01-20  Simon Josefsson  <jas@extundo.com>
66693
66694         * modules/inet_ntop (Depends-on): Depend on sys_socket.
66695
66696 2006-01-20  Simon Josefsson  <jas@extundo.com>
66697
66698         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
66699
66700 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
66701
66702         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
66703         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
66704         Suggested by Bruno Haible.
66705
66706 2006-01-20  Karl Berry  <karl@gnu.org>
66707
66708         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
66709         until changes propagate, I guess.
66710
66711 2006-01-19  Simon Josefsson  <jas@extundo.com>
66712
66713         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
66714
66715 2006-01-19  Simon Josefsson  <jas@extundo.com>
66716
66717         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
66718
66719 2006-01-19  Simon Josefsson  <jas@extundo.com>
66720
66721         * gnulib-tool: Set check_PROGRAMS.
66722
66723         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
66724         modules/des-tests, modules/gc-arcfour-tests,
66725         modules/gc-arctwo-tests, modules/gc-des-tests,
66726         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
66727         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
66728         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
66729         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
66730         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
66731         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
66732         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
66733         test_*_SOURCES.
66734
66735 2006-01-18  Simon Josefsson  <jas@extundo.com>
66736
66737         * modules/socklen (Depends-on): Depend on sys_socket.
66738
66739 2006-01-18  Simon Josefsson  <jas@extundo.com>
66740
66741         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
66742         modules/des-tests, modules/gc-arcfour-tests,
66743         modules/gc-arctwo-tests, modules/gc-des-tests,
66744         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
66745         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
66746         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
66747         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
66748         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
66749         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
66750         $(EXEEXT) to automake TESTS variable, for mingw32.
66751
66752 2006-01-17  Simon Josefsson  <jas@extundo.com>
66753
66754         * modules/socklen (Include): Need sys/socket.h.
66755
66756 2006-01-17  Bruno Haible  <bruno@clisp.org>
66757
66758         * modules/ssize_t (Include): Add <sys/types.h>.
66759
66760 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
66761
66762         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
66763         it's not portable and it doesn't work with cross-compiles.
66764         Problem reported by Bruno Haible.  Fix missing-$ typo in
66765         'test "gl_cv_ignore_unused_libraries" ...' that prevented
66766         -zignore from being used with Sun's C compiler.
66767
66768 2006-01-12  Simon Josefsson  <jas@extundo.com>
66769
66770         * lib/base64.c: Fix warning, reported by Bruno Haible
66771         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
66772
66773 2006-01-12  Bruno Haible  <bruno@clisp.org>
66774
66775         * modules/ldd: New file.
66776         * build-aux/ldd.sh.in: New file.
66777         * MODULES.html.sh (Support for building libraries and executables): Add
66778         ldd.
66779
66780 2006-01-12  Bruno Haible  <bruno@clisp.org>
66781
66782         * m4/ldd.m4: New file.
66783
66784 2006-01-12  Bruno Haible  <bruno@clisp.org>
66785
66786         * gnulib-tool (func_import, func_create_testdir): Don't go into an
66787         endless loop while replacing $auxdir with build-aux.
66788
66789 2006-01-11  Simon Josefsson  <jas@extundo.com>
66790
66791         * lib/stdint_.h (SIZE_MAX): Add missing (.
66792
66793 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
66794
66795         Sync from coreutils.
66796         * lib/md5.c: Fix commentary typos.
66797         (alignof, UNALIGNED_P): No need for a GCC-specific version.
66798         * lib/md5.h (__attribute__): Remove; unused.
66799         * lib/sha1.c: Fix commentary to match md5 better.
66800         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
66801         so that we don't need to worry about alignment.  All uses changed.
66802         This merges the 2005-10-28 md5 change into sha1.
66803
66804 2006-01-11  Jim Meyering  <jim@meyering.net>
66805
66806         Sync from coreutils.
66807         * lib/md5.c (OP): Fix spacing.
66808
66809 2006-01-11  Bruno Haible  <bruno@clisp.org>
66810
66811         Ensure automatic ordering between gl_LOCK and gl_ARGP.
66812         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
66813         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
66814
66815 2006-01-11  Bruno Haible  <bruno@clisp.org>
66816
66817         Ensure automatic ordering between gl_LOCK and gl_ARGP.
66818         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
66819         the "early" section as well.
66820
66821 2006-01-11  Bruno Haible  <bruno@clisp.org>
66822
66823         Avoid "ar: no archive members specified" error on MacOS X.
66824         * gnulib-tool (func_modules_add_dummy): New function.
66825         (func_import, func_create_testdir): Invoke it.
66826
66827 2006-01-11  Bruno Haible  <bruno@clisp.org>
66828
66829         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
66830         with $auxdir in AC_CONFIG_FILES statements.
66831
66832 2006-01-11  Bruno Haible  <bruno@clisp.org>
66833
66834         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
66835         Initialize also noinst_HEADERS to empty.
66836
66837 2006-01-11  Bruno Haible  <bruno@clisp.org>
66838
66839         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
66840         variables.
66841         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
66842         autoreconf.
66843
66844 2006-01-11  Bruno Haible  <bruno@clisp.org>
66845
66846         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
66847         overridable by the user.
66848         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
66849
66850 2006-01-10  Simon Josefsson  <jas@extundo.com>
66851
66852         * modules/sys_socket: New file.
66853
66854 2006-01-10  Simon Josefsson  <jas@extundo.com>
66855
66856         * m4/sys_socket_h.m4: New file.
66857
66858 2006-01-10  Simon Josefsson  <jas@extundo.com>
66859
66860         * lib/socket_.h: New file.
66861
66862 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
66863
66864         * modules/readutmp (Maintainer): Add myself.
66865
66866 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
66867
66868         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
66869         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
66870         People who are still concerned with buggy memcmp implementations
66871         can invoke gl_FUNC_MEMCMP themselves.
66872
66873 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
66874
66875         * lib/regex_internal.h (BITSET_WORD_BITS):
66876         Work around a bug in 64-bit PGC (before version 6.1-2), where the
66877         preprocessor mishandles large unsigned values as if they were signed.
66878         Problem reported by Claudio Fontana in
66879         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
66880
66881 2006-01-10  Jim Meyering  <jim@meyering.net>
66882
66883         Avoid the double-free (first in fts_read, second in fts_close) that
66884         would occur when an `active' directory is made inaccessible (e.g.,
66885         via chmod a-x) during a traversal.
66886         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
66887         before returning.  Reproduce this failure by
66888         mkdir -p a/b; cd a; chmod a-x . b
66889         Reported by Stavros Passas.
66890
66891         Sync from coreutils.
66892         * lib/sha1.c: Tweak grammar in a comment.
66893
66894 2006-01-10  Jim Meyering  <jim@meyering.net>
66895
66896         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
66897         Patch by Joerg Sonnenberger.
66898
66899 2006-01-10  Bruno Haible  <bruno@clisp.org>
66900
66901         * modules/readutmp: Depend on module free.
66902         * modules/strtok_r: Depend on module restrict.
66903
66904 2006-01-10  Bruno Haible  <bruno@clisp.org>
66905
66906         * modules/gettext (configure.ac): Add an invocation of
66907         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
66908
66909 2006-01-10  Bruno Haible  <bruno@clisp.org>
66910
66911         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
66912         Reported by Werner Lemberg <wl@gnu.org>.
66913
66914 2006-01-10  Bruno Haible  <bruno@clisp.org>
66915
66916         * lib/localcharset.c: Update from GNU gettext.
66917
66918 2006-01-10  Bruno Haible  <bruno@clisp.org>
66919
66920         * lib/argp.h (__const): Remove macro. Use const instead.
66921         * lib/argp-fmtstream.h (__const): Likewise.
66922         * lib/glob_.h (__const): Remove macro.
66923         * lib/glob-libc.h: Use const instead of __const.
66924
66925 2006-01-10  Bruno Haible  <bruno@clisp.org>
66926
66927         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
66928         variable.
66929         Needed to avoid an automake error regarding the 'gettext' module.
66930
66931 2006-01-09  Simon Josefsson  <jas@extundo.com>
66932
66933         * modules/inet_ntop (Depends-on): Add restrict.
66934
66935 2006-01-09  Simon Josefsson  <jas@extundo.com>
66936
66937         * modules/gc-rijndael-tests (License): Put under LGPL.
66938
66939         * modules/gc-des-tests (License): Likewise.
66940
66941         * modules/gc-arcfour-tests (License): Likewise.
66942
66943         * modules/gc-arctwo-tests (License): Likewise.
66944
66945         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
66946
66947         * modules/gc-hmac-sha1-tests (Files): Likewise.
66948
66949         * modules/gc-hmac-md5-tests (License): Likewise.
66950
66951         * modules/gc-sha1-tests (License): Likewise.
66952
66953         * modules/gc-md5-tests (License): Likewise.
66954
66955         * modules/gc-md4-tests (License): Likewise.
66956
66957         * modules/gc-md2-tests (License): Likewise.
66958
66959         * modules/gc-tests (License): Likewise.
66960
66961         * modules/des-tests (License): Likewise.
66962
66963         * modules/md4-tests (License): Likewise.
66964
66965         * modules/md2-tests (License): Likewise.
66966
66967 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
66968
66969         Sync from coreutils:
66970
66971         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
66972         * modules/lib-ignore: New file.
66973         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
66974         chdir-safer.m4, lchmod.m4.
66975         * modules/openat: Add mkdirat.c, openat-priv.h.
66976
66977 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
66978
66979         Sync from coreutils.
66980         * m4/lib-ignore.m4: New file.
66981         * m4/lchmod.m4: New file.
66982
66983 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
66984
66985         Sync from coreutils.
66986         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
66987         for write access: POSIX says that must fail.
66988         * lib/fts.c (diropen): Likewise.
66989         * lib/save-cwd.c (save_cwd): Likewise.
66990         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
66991         well, for minor improvements on hosts that lack O_DIRECTORY.
66992         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
66993         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
66994         Fall back on chown if open failed with EACCES.
66995
66996         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
66997         Report an error at compile-time if only a 1-second nominal clock
66998         resolution is found.
66999
67000         * lib/lchmod.h: New file.
67001         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
67002         (make_dir_parents): Use lchown rather than chown, and
67003         lchmod rather than chmod.
67004
67005         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
67006         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
67007         "proc" reported by n0dalus.
67008
67009         * lib/mountlist.c: Include <limits.h>.
67010         (dev_from_mount_options)
67011         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
67012         New function.  It no longer assumes "dev=" has the System V meaning
67013         on Linux (since it doesn't).  It also parses "dev=" more carefully.
67014         (read_file_system_list)
67015         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
67016         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
67017         dev= in that case.
67018
67019         * lib/posixtm.h (PDS_PRE_2000): New macro.
67020         * lib/posixtm.c (year): Arg is now syntax_bits rather than
67021         allow_century.  All usages changed.  Reject dates outside the range
67022         1969-1999 if PDS_PRE_2000 is used.
67023
67024 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
67025
67026         Sync from coreutils.
67027         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
67028         (Time of day items): Mention the possibility of leap seconds.
67029         Problem reported by Dr. David Alan Gilbert.
67030
67031 2006-01-09  Jim Meyering  <jim@meyering.net>
67032
67033         Sync from coreutils.
67034
67035         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
67036
67037         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
67038
67039         * lib/modechange.c (mode_compile): Reject an invalid mode string
67040         that starts with an octal digit.  From Andreas Gruenbacher.
67041
67042         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
67043         and dup to open_safer and dup_safer, respectively.
67044         (openat_permissive): Fix typo in comment.
67045
67046         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
67047         "gettext.h"; either no longer needed or are guaranteed by openat.h.
67048         (_): Remove; no longer needed.
67049         (openat): Renamed from rpl_openat; no need for rpl_openat
67050         since openat.h renames openat for us.
67051         Replace most of the body with a call to openat_permissive,
67052         to avoid duplicate code.
67053         Port to (probably hypothetical) environments were mode_t is
67054         wider than int.
67055         (openat_permissive): Require mode arg, so that we can check
67056         types better.  Put it just after flags.  Change cwd failure
67057         indicator from pointer-to-bool to pointer-to-errno-value.
67058         All callers changed.
67059         Invoke openat_save_fail and/or openat_restore_fail if
67060         cwd_errno is null, so that openat can call us.
67061         (openat_permissive, fdopendir, fstatat, unlinkat):
67062         Simplify errno handling to avoid some duplicate code,
67063         as it's OK to set errno on success.
67064         * lib/openat.h: Revamp code so that function macros depend on
67065         __OPENAT_PREFIX only, not also on AT_FDCWD.
67066         (openat_ro): Remove.  Caller changed to use openat_permissive.
67067         (openat_permissive): Now a macro, if not a function.
67068         (openat_restore_fail, openat_save_fail): Now always functions,
67069         since mkdirat needs them even if __OPENAT_PREFIX is defined.
67070
67071         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
67072         and openat.c.
67073         * lib/mkdirat.c: Include openat-priv.h.
67074         Remove definitions of macros defined therein.
67075         * lib/openat.c: Likewise.
67076
67077         * lib/mkdirat.c (mkdirat): New file and function.
67078         * lib/openat.h (mkdirat): Declare.
67079
67080         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
67081
67082         * lib/openat.h (openat_permissive): Declare.
67083         (openat_ro): Define.
67084
67085         * lib/openat.c (EXPECTED_ERRNO): New macro.
67086         (openat_permissive): New function -- used in remove.c rewrite.
67087         (all functions): Set errno just before returning, only if there
67088         was an actual failure.
67089         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
67090
67091         Emulate openat-family functions using Linux's procfs, if possible.
67092         Idea and some code based on Ulrich Drepper's glibc changes.
67093
67094         * lib/openat.c: (BUILD_PROC_NAME): New macro.
67095         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
67096         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
67097         before falling back on save_cwd and restore_cwd.
67098         (fdopendir, fstatat, unlinkat): Likewise.
67099
67100         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
67101         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
67102
67103         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
67104         as second argument to va_arg.  Otherwise, some versions of gcc
67105         warn that `if this code is reached, the program will abort'.
67106
67107 2006-01-09  Jim Meyering  <jim@meyering.net>
67108
67109         Sync from coreutils.
67110         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
67111         Require openat-priv.h.
67112
67113 2006-01-09  Bruno Haible  <bruno@clisp.org>
67114
67115         * modules/strnlen (Include): Use strnlen.h.
67116
67117 2006-01-09  Bruno Haible  <bruno@clisp.org>
67118
67119         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
67120
67121 2006-01-09  Bruno Haible  <bruno@clisp.org>
67122
67123         * lib/sysexit_.h (EX_OK): New macro.
67124         Suggested by Martin Lambers <marlam@marlam.de>.
67125
67126 2006-01-09  Bruno Haible  <bruno@clisp.org>
67127
67128         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
67129         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
67130
67131 2006-01-09  Bruno Haible  <bruno@clisp.org>
67132
67133         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
67134         numbers.
67135
67136 2006-01-09  Bruno Haible  <bruno@clisp.org>
67137
67138         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
67139         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
67140         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
67141         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
67142
67143 2006-01-09  Bruno Haible  <bruno@clisp.org>
67144
67145         * build-aux/javacomp.sh.in: New file, moved from lib/.
67146         * modules/javacomp-script (Files): Update.
67147         (configure.ac): Add AC_CONFIG_FILES invocation.
67148         (EXTRA_DIST): Remove variable.
67149
67150         * build-aux/javaexec.sh.in: New file, moved from lib/.
67151         * modules/javaexec (Files): Update.
67152         (configure.ac): Add AC_CONFIG_FILES invocation.
67153         (EXTRA_DIST): Remove javaexec.sh.in.
67154
67155         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
67156         * modules/csharpcomp-script (Files): Update.
67157         (configure.ac): Add AC_CONFIG_FILES invocation.
67158         (EXTRA_DIST): Remove variable.
67159
67160         * build-aux/csharpexec.sh.in: New file, moved from lib/.
67161         * modules/csharpexec (Files): Update.
67162         (configure.ac): Add AC_CONFIG_FILES invocation.
67163         (EXTRA_DIST): Remove csharpexec.sh.in.
67164
67165 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
67166
67167         Sync from coreutils.
67168
67169         Add POSIX ACL support
67170         * lib/acl.h (copy_acl, set_acl): Add declarations.
67171         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
67172         systems other than Linux.
67173         (chmod_or_fchmod): New function: use fchmod when possible,
67174         and chmod otherwise.
67175         (file_has_acl): Add a POSIX ACL implementation, with a
67176         Linux-specific subcase.
67177         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
67178         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
67179         acls are unsupported.
67180         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
67181         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
67182         are unsupported.
67183
67184 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
67185
67186         Sync from coreutils.
67187         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
67188
67189 2006-01-07  Bruno Haible  <bruno@clisp.org>
67190
67191         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
67192         gl_EARLY.
67193
67194 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
67195
67196         * lib/strftime.c (tzname): Don't declare if it is already #defined.
67197         Problem reported for Mingw by Mark Junker.
67198
67199 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
67200
67201         * README: Gnulib normally doesn't generate a tarball.
67202
67203 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
67204
67205         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
67206         long int, not int, for nanosecond counts, so that people who are
67207         used to POSIX struct timespec won't be surprised.  Reported by Jim
67208         Meyering.
67209
67210 2005-12-28  Bruno Haible  <bruno@clisp.org>
67211
67212         * build-aux/config.rpath: Update from GNU gettext.
67213
67214 2005-12-16  Jim Meyering  <jim@meyering.net>
67215
67216         * modules/fprintftime: New module.
67217         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
67218
67219 2005-12-16  Jim Meyering  <jim@meyering.net>
67220
67221         * m4/fprintftime.m4: New file.
67222
67223 2005-12-16  Jim Meyering  <jim@meyering.net>
67224
67225         * lib/fprintftime.c, lib/fprintftime.h: New files.
67226
67227 2005-12-15  Simon Josefsson  <jas@extundo.com>
67228
67229         * modules/socklen (configure.ac): Fix M4 macro name, to align with
67230         new m4/socklen.m4.
67231
67232 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
67233
67234         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
67235         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
67236
67237 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
67238
67239         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
67240         * lib/argp-help.c (fill_in_uparams): Check if the constructed
67241         struct uparams is valid. Fall back to the default values if it is
67242         not.
67243
67244 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
67245
67246         * modules/argp (Files): Add argp-pin.c
67247         (Depends-on): dirname
67248         (lib_SOURCES): Add argp-pin.c
67249
67250 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
67251
67252         * m4/argp.m4:  Check if program_invocation_name and
67253         program_invocation_short_name are declared and define appropriate
67254         macros if they are not.
67255
67256 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
67257
67258         * lib/argp-help.c (__argp_base_name): New function
67259         (__argp_short_program_name): Rewrite using __argp_base_name
67260         * lib/argp-namefrob.h: Define program_invocation_name and
67261         program_invocation_short_name if requested
67262         (__argp_base_name): Add prototype
67263         * lib/argp-parse.c (argp_def): Use gettext wrappers
67264         (argp_default_parser): Use __argp_base_name
67265         * lib/argp-pin.c: New file. Defines program_invocation_name and
67266         program_invocation_short_name on systems that lack them.
67267
67268 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
67269
67270         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
67271         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
67272         porting problem reported by Georg Schwarz in
67273         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
67274
67275 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
67276
67277         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
67278         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
67279         porting problem reported by Georg Schwarz in
67280         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
67281
67282 2005-12-05  Bruno Haible  <bruno@clisp.org>
67283
67284         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
67285         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
67286         Reported by Mark Junker <mjscod@gmx.de>.
67287
67288 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
67289
67290         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
67291         Use implementation from Albert Chin, with some
67292         comments/corrections by Stepan Kasal and myself.
67293
67294 2005-12-02  Bruno Haible  <bruno@clisp.org>
67295
67296         * gnulib-tool (func_import): Accept GPLed build tool modules when
67297         --lgpl is given.
67298         * modules/csharpcomp-script: New file.
67299         * modules/csharpcomp: Depend on it.
67300         * modules/javacomp-script: New file.
67301         * modules/javacomp: Depend on it.
67302         Suggested by Simon Josefsson.
67303
67304 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
67305
67306         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
67307         statement, to work around an HP-UX 10.20 compiler bug reported by
67308         Peter O'Gorman.
67309
67310 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
67311
67312         * modules/savedir (Depends-on): Add openat.
67313
67314 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
67315
67316         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
67317         (uintmax_t) [defined uintmax_t]: Do not declare.
67318         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
67319         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
67320         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
67321         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
67322         sake of portability to weird hosts that C allows (though we don't
67323         know of any practical examples).
67324
67325         * lib/savedir.h (fdsavedir): New decl.
67326         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
67327         contains most of the former guts of savedir.
67328         (savedir): Use savedirstream.
67329         Include "openat.h".
67330
67331 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
67332
67333         * modules/obstack (Files): Add m4/ulonglong.m4.
67334         Problem reported by Davide Angelocola.
67335
67336 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
67337
67338         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
67339         coreutils no longer futzes with rounding modes.
67340
67341 2005-11-14  Jim Meyering  <jim@meyering.net>
67342
67343         * lib/mkstemp-safer.c: Include <config.h>, required for possible
67344         replacement of mkstemp.
67345
67346 2005-11-10  Simon Josefsson  <jas@extundo.com>
67347
67348         * lib/readline.c: Remove EOL.
67349
67350 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
67351
67352         * modules/gethrxtime (Depends-on): Add gettime.
67353
67354 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
67355
67356         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
67357         or gettimeofday; no longer needed.
67358
67359 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
67360
67361         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
67362         time business.
67363         (gethrxtime) [! (HAVE_NANOUPTIME
67364         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
67365         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
67366         our own approximation.
67367
67368 2005-11-08  Eric Blake  <ebb9@byu.net>
67369
67370         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
67371
67372 2005-11-08  Eric Blake  <ebb9@byu.net>
67373
67374         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
67375
67376 2005-11-04  Bruno Haible  <bruno@clisp.org>
67377
67378         * gnulib-tool: Implement --update mode.
67379
67380 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
67381
67382         Fix porting problem reported by Theodoros V. Kalamatianos.
67383         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
67384         Don't assume that futimes failing means we must fail.
67385
67386 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
67387
67388         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
67389         variables to suggest the intended function of the PATH_MAX check.
67390
67391 2005-10-30  Kean Johnston  <jkj@sco.com>
67392
67393         Trivial changes to support SCO systems.
67394         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
67395         as PATH_MAX.
67396         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
67397         where __ptr is null when no I/O is pending.
67398
67399 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
67400
67401         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
67402         leave errno alone.  Problem reported by Dmitry V. Levin.
67403
67404 2005-10-28  Simon Josefsson  <jas@extundo.com>
67405
67406         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
67407         Test more.
67408
67409         * tests/test-gc-md2.c, tests/test-md2.c: New files.
67410
67411         * modules/md2, modules/md2-tests: New files.
67412
67413 2005-10-28  Simon Josefsson  <jas@extundo.com>
67414
67415         * m4/inet_ntop.m4: More tests.
67416
67417         * m4/gc-md2.m4, md2.m4: New file.
67418
67419 2005-10-28  Simon Josefsson  <jas@extundo.com>
67420
67421         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
67422         "restrict" keywords, as per POSIX.  Protect the function
67423         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
67424         Don't use K&R prototypes.  Check the sprintf return values.
67425         Re-define EAFNOSUPPORT if not present.  Indent.
67426
67427         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
67428         suggested by Bruno Haible <bruno@clisp.org>.
67429
67430         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
67431
67432         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
67433
67434         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
67435         libgcrypt).
67436
67437         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
67438
67439         * lib/md2.h, lib/md2.c: New files.
67440
67441 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
67442
67443         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
67444         errno alone.  Problem reported by Frederic Jolliton.
67445
67446 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
67447
67448         * modules/verify (License): Change from GPL to LGPL.  This is a
67449         tiny module and there are apparently near-equivalents that are
67450         under the BSD license.
67451
67452 2005-10-24  Simon Josefsson  <jas@extundo.com>
67453
67454         * modules/sha1: Relicense to LGPL.
67455
67456 2005-10-24  Simon Josefsson  <jas@extundo.com>
67457
67458         * lib/md4.h: Shrink buffer size, now that we changed the type.
67459
67460 2005-10-23  Simon Josefsson  <jas@extundo.com>
67461
67462         * gnulib-tool (func_import): Fix --tests-base.
67463
67464 2005-10-22  Simon Josefsson  <jas@extundo.com>
67465
67466         * modules/arcfour (Depends-on): Need stdint.
67467
67468 2005-10-22  Simon Josefsson  <jas@extundo.com>
67469
67470         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
67471         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
67472
67473 2005-10-22  Simon Josefsson  <jas@extundo.com>
67474
67475         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
67476         suggested by Bruno Haible <bruno@clisp.org>.
67477
67478 2005-10-22  Simon Josefsson  <jas@extundo.com>
67479
67480         * lib/crc.h: Include stddef.h, for size_t.
67481
67482 2005-10-22  Simon Josefsson  <jas@extundo.com>
67483
67484         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
67485         arcfour_context struct (simplify test vector testing in GNU
67486         Shishi).
67487
67488 2005-10-21  Simon Josefsson  <jas@extundo.com>
67489
67490         * modules/des, modules/des-tests: New files.
67491
67492         * modules/gc-des, modules/gc-des-tests: New files.
67493
67494         * tests/test-des.c, tests/test-gc-des.c: New file.
67495
67496 2005-10-21  Simon Josefsson  <jas@extundo.com>
67497
67498         * modules/arctwo, modules/arctwo-tests: New files.
67499
67500         * tests/test-arctwo.c: New file.
67501
67502         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
67503
67504         * tests/test-gc-arctwo.c: New file.
67505
67506 2005-10-21  Simon Josefsson  <jas@extundo.com>
67507
67508         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
67509         Bruno Haible <bruno@clisp.org>.
67510
67511         * m4/gc-des.m4: New file.
67512
67513 2005-10-21  Simon Josefsson  <jas@extundo.com>
67514
67515         * m4/arctwo.m4: New file.
67516
67517         * m4/gc-arctwo.m4: New file.
67518
67519 2005-10-21  Simon Josefsson  <jas@extundo.com>
67520
67521         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
67522         block.
67523
67524 2005-10-21  Simon Josefsson  <jas@extundo.com>
67525
67526         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
67527         <bruno@clisp.org>.
67528
67529         * lib/hmac-sha1.c (hmac_sha1): Likewise.
67530
67531         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
67532         Bruno Haible <bruno@clisp.org>.
67533
67534         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
67535         <bruno@clisp.org>.
67536
67537 2005-10-21  Simon Josefsson  <jas@extundo.com>
67538
67539         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
67540
67541 2005-10-21  Simon Josefsson  <jas@extundo.com>
67542
67543         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
67544
67545 2005-10-21  Simon Josefsson  <jas@extundo.com>
67546
67547         * lib/des.h, lib/des.c: New files.
67548
67549         * lib/gc-gnulib.c: Support DES.c
67550
67551 2005-10-21  Simon Josefsson  <jas@extundo.com>
67552
67553         * lib/arctwo.h, lib/arctwo.c: New files.
67554
67555         * lib/gc-gnulib.c: Support ARCTWO.
67556
67557 2005-10-21  Simon Josefsson  <jas@extundo.com>
67558
67559         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
67560         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
67561
67562 2005-10-21  Simon Josefsson  <jas@extundo.com>
67563
67564         * gnulib-tool (func_import, func_create_testdir): Define automake
67565         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
67566         Makefile.am snippet),
67567         suggested by Bruno Haible <bruno@clisp.org>.
67568
67569         * modules/gc (Makefile.am): Use it.
67570
67571 2005-10-21  Bruno Haible  <bruno@clisp.org>
67572
67573         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
67574         patch.
67575
67576 2005-10-19  Simon Josefsson  <jas@extundo.com>
67577
67578         * tests/test-gc-rijndael.c: New file.
67579
67580         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
67581
67582 2005-10-19  Simon Josefsson  <jas@extundo.com>
67583
67584         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
67585         interface too.
67586
67587 2005-10-19  Simon Josefsson  <jas@extundo.com>
67588
67589         * tests/test-gc-arcfour.c: New file.
67590
67591         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
67592
67593 2005-10-19  Simon Josefsson  <jas@extundo.com>
67594
67595         * modules/gc-md4, modules/gc-md4-tests: New file.
67596
67597         * tests/test-gc-md4.c: New file.
67598
67599 2005-10-19  Simon Josefsson  <jas@extundo.com>
67600
67601         * m4/gc-md4.m4: New file.
67602
67603 2005-10-19  Simon Josefsson  <jas@extundo.com>
67604
67605         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
67606         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
67607         <kasal@ucw.cz>.
67608
67609 2005-10-19  Simon Josefsson  <jas@extundo.com>
67610
67611         * m4/gc-arcfour.m4: New file.
67612
67613         * m4/gc-rijndael.m4: New file.
67614
67615 2005-10-19  Simon Josefsson  <jas@extundo.com>
67616
67617         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
67618
67619 2005-10-19  Simon Josefsson  <jas@extundo.com>
67620
67621         * lib/gc-gnulib.c: Support ARCFOUR.
67622
67623 2005-10-19  Simon Josefsson  <jas@extundo.com>
67624
67625         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
67626         support.
67627
67628         * lib/gc.h: Add ECB enum type.
67629
67630         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
67631
67632 2005-10-18  Simon Josefsson  <jas@extundo.com>
67633
67634         * tests/test-md5.c: New file.
67635
67636         * modules/md5-tests: New file.
67637
67638 2005-10-18  Simon Josefsson  <jas@extundo.com>
67639
67640         * tests/test-md4.c: New file.
67641
67642         * modules/md4, modules/md4-tests: New files.
67643
67644 2005-10-18  Simon Josefsson  <jas@extundo.com>
67645
67646         * m4/md4.m4: New file.
67647
67648 2005-10-18  Simon Josefsson  <jas@extundo.com>
67649
67650         * lib/md4.h, lib/md4.c: New files, based on md5.?.
67651
67652 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
67653
67654         * gnulib-tool (func_create_testdir): Omit the second check whether
67655         BUILT_SOURCES in nonempty.
67656
67657 2005-10-17  Simon Josefsson  <jas@extundo.com>
67658
67659         * tests/test-rijndael.c: New file.
67660
67661 2005-10-17  Simon Josefsson  <jas@extundo.com>
67662
67663         * modules/sha1: Depend on stdint instead of md5.
67664
67665         * modules/md5: Depend on stdint, remove uint32_t.
67666
67667 2005-10-17  Simon Josefsson  <jas@extundo.com>
67668
67669         * modules/gc-sha1-tests: New file.
67670
67671         * tests/test-gc-sha1.c: New file.
67672
67673 2005-10-17  Simon Josefsson  <jas@extundo.com>
67674
67675         * m4/md5.m4: Remove call to uint32_t.m4.
67676
67677 2005-10-17  Simon Josefsson  <jas@extundo.com>
67678
67679         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
67680
67681         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
67682         md5.h.
67683
67684         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
67685
67686         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
67687
67688 2005-10-17  Simon Josefsson  <jas@extundo.com>
67689
67690         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
67691
67692 2005-10-17  Simon Josefsson  <jas@extundo.com>
67693
67694         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
67695
67696 2005-10-17  Simon Josefsson  <jas@extundo.com>
67697
67698         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
67699
67700         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
67701
67702 2005-10-17  Bruno Haible  <bruno@clisp.org>
67703
67704         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
67705         that it can also be used in a test.
67706
67707 2005-10-16  Bruno Haible  <bruno@clisp.org>
67708
67709         * gnulib-tool (func_emit_tests_Makefile_am): Also define
67710         TESTS_ENVIRONMENT, so that individual tests can augment it.
67711
67712         * gnulib-tool (func_create_testdir): Use an intermediate target for
67713         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
67714         macros, like $(ALLOCA_H), which cannot be passed through the command
67715         line.
67716
67717 2005-10-15  Simon Josefsson  <jas@extundo.com>
67718
67719         * modules/rijndael-tests: New file.
67720
67721         * modules/rijndael: New file.
67722
67723 2005-10-15  Simon Josefsson  <jas@extundo.com>
67724
67725         * m4/rijndael.m4: New file.
67726
67727 2005-10-15  Simon Josefsson  <jas@extundo.com>
67728
67729         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
67730
67731         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
67732
67733 2005-10-14  Simon Josefsson  <jas@extundo.com>
67734
67735         * tests/test-arcfour.c: New file.
67736
67737         * modules/arcfour, modules/arcfour-tests: New files.
67738
67739 2005-10-14  Simon Josefsson  <jas@extundo.com>
67740
67741         * m4/arcfour.m4: New file.
67742
67743 2005-10-14  Simon Josefsson  <jas@extundo.com>
67744
67745         * lib/arcfour.h, lib/arcfour.c: New files.
67746
67747 2005-10-14  Roland McGrath  <roland@redhat.com>
67748
67749         Import from libc.  [BZ #1331]
67750         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
67751         macro argument.
67752         Reported by Matej Vela <vela@debian.org>.
67753
67754 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
67755
67756         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
67757         include <wchar.h>; no longer needed.
67758
67759 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
67760
67761         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
67762
67763 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
67764         and  Ulrich Drepper  <drepper@redhat.com>
67765
67766         Import from libc.
67767         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
67768         instead of inline stream orientation test and two separate
67769         function calls.  Pay no attention to USE_IN_LIBIO.
67770
67771 2005-10-13  Simon Josefsson  <jas@extundo.com>
67772
67773         * modules/gc-hmac-md5-tests: New file.
67774
67775         * tests/test-gc-hmac-sha1.c: New file.
67776
67777         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
67778
67779         * modules/gc-hmac-md5-tests: New file.
67780
67781         * tests/test-gc-md5.c: New file.
67782
67783         * modules/gc-md5-tests: New file.
67784
67785 2005-10-13  Simon Josefsson  <jas@extundo.com>
67786
67787         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
67788         Move memory allocation outside of loop.
67789
67790 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
67791
67792         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
67793         intermediate directory is in a read-only file system.  Problem
67794         reported by Eric Blake.
67795
67796 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
67797
67798         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
67799
67800 2005-10-12  Simon Josefsson  <jas@extundo.com>
67801
67802         * tests/test-hmac-sha1.c: New file.
67803
67804         * modules/hmac-sha1-tests: New file.
67805
67806         * modules/hmac-sha1: New file.
67807
67808 2005-10-12  Simon Josefsson  <jas@extundo.com>
67809
67810         * modules/gc-sha1: New file.
67811
67812 2005-10-12  Simon Josefsson  <jas@extundo.com>
67813
67814         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
67815
67816         * tests/test-gc-pbkdf2-sha1.c: New file.
67817
67818 2005-10-12  Simon Josefsson  <jas@extundo.com>
67819
67820         * modules/gc-md5, modules/gc-hmac-md5: New files.
67821
67822         * modules/gc (Files): Remove md5, memxor and hmac files.
67823
67824 2005-10-12  Simon Josefsson  <jas@extundo.com>
67825
67826         * m4/gc-pbkdf2-sha1.m4: New file.
67827
67828         * m4/gc-hmac-sha1.m4: New file.
67829
67830         * m4/gc-sha1: New file.
67831
67832         * m4/hmac-sha1.m4: New file.
67833
67834 2005-10-12  Simon Josefsson  <jas@extundo.com>
67835
67836         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
67837
67838         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
67839
67840 2005-10-12  Simon Josefsson  <jas@extundo.com>
67841
67842         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
67843         suggested by Bruno Haible <bruno@clisp.org>.
67844
67845 2005-10-12  Simon Josefsson  <jas@extundo.com>
67846
67847         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
67848
67849 2005-10-12  Simon Josefsson  <jas@extundo.com>
67850
67851         * lib/gc-pbkdf2-sha1.c: New file.
67852
67853         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
67854
67855 2005-10-12  Simon Josefsson  <jas@extundo.com>
67856
67857         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
67858
67859         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
67860
67861 2005-10-12  Simon Josefsson  <jas@extundo.com>
67862
67863         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
67864         GC_USE_HMAC_MD5, respectively.
67865
67866         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
67867         (gc_md5): Fix typo.
67868
67869         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
67870
67871         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
67872
67873         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
67874
67875 2005-10-12  Bruno Haible  <bruno@clisp.org>
67876
67877         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
67878         Reported by Stepan Kasal <kasal@ucw.cz>.
67879
67880 2005-10-11  Simon Josefsson  <jas@extundo.com>
67881
67882         * tests/test-crc.c: New file.
67883
67884         * modules/crc, modules/crc-tests: New files.
67885
67886 2005-10-11  Simon Josefsson  <jas@extundo.com>
67887
67888         * m4/crc.m4: New file.
67889
67890 2005-10-11  Simon Josefsson  <jas@extundo.com>
67891
67892         * lib/gc.h: Add gc_hash and gc_hash_buffer.
67893
67894         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
67895
67896         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
67897
67898 2005-10-11  Simon Josefsson  <jas@extundo.com>
67899
67900         * lib/crc.h, lib/crc.c: New files.
67901
67902         * lib/gc.h (gc_hash_buffer): Add doc.
67903
67904 2005-10-11  Bruno Haible  <bruno@clisp.org>
67905
67906         * modules/c-strcasestr: New file.
67907         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
67908
67909 2005-10-11  Bruno Haible  <bruno@clisp.org>
67910
67911         * modules/c-strcase: New file.
67912         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
67913
67914 2005-10-11  Bruno Haible  <bruno@clisp.org>
67915
67916         * lib/strcasecmp.c: Include limits.h.
67917         (strcasecmp): Avoid integer overflow on exotic platforms.
67918         * lib/strncasecmp.c: Include limits.h.
67919         (strncasecmp): Avoid integer overflow on exotic platforms.
67920         Reported by Paul Eggert.
67921
67922 2005-10-11  Bruno Haible  <bruno@clisp.org>
67923
67924         * lib/c-strcasestr.h: New file, from GNU gettext.
67925         * lib/c-strcasestr.c: New file, from GNU gettext.
67926
67927 2005-10-11  Bruno Haible  <bruno@clisp.org>
67928
67929         * lib/c-strcase.h: New file, from GNU gettext.
67930         * lib/c-strcasecmp.c: New file, from GNU gettext.
67931         * lib/c-strncasecmp.c: New file, from GNU gettext.
67932
67933 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
67934
67935         * modules/mempcpy (License): GPL -> LGPL.
67936         * modules/strchrnul (License): Likewise.
67937         * modules/sysexits (License): Likewise.
67938
67939 2005-10-08  Simon Josefsson  <jas@extundo.com>
67940
67941         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
67942
67943 2005-10-07  Simon Josefsson  <jas@extundo.com>
67944
67945         * m4/memxor.m4: Remove gl_C_RESTRICT call.
67946
67947 2005-10-06  Simon Josefsson  <jas@extundo.com>
67948
67949         * tests/test-hmac-md5.c: New file.
67950
67951         * modules/hmac-md5-tests: New file.
67952
67953         * modules/hmac-md5: New file.
67954
67955 2005-10-06  Simon Josefsson  <jas@extundo.com>
67956
67957         * m4/hmac-md5.m4: New file.
67958
67959         * m4/memxor.m4: Require gl_C_RESTRICT.
67960
67961 2005-10-06  Simon Josefsson  <jas@extundo.com>
67962
67963         * lib/memxor.c (memxor): Avoid casts and warnings.
67964
67965 2005-10-06  Simon Josefsson  <jas@extundo.com>
67966
67967         * lib/hmac-md5.c: New file.
67968
67969         * lib/hmac.h: New file.
67970
67971 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
67972
67973         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
67974         promotes to int, not unsigned int, to catch the AIX 5.3
67975         compiler bug.
67976
67977 2005-10-05  Simon Josefsson  <jas@extundo.com>
67978
67979         * modules/memxor: New file.
67980
67981         * modules/iconv (Files): Move config.rpath to havelib, it is used
67982         there.
67983
67984         * modules/havelib (Files): Add config.rpath.
67985
67986 2005-10-05  Simon Josefsson  <jas@extundo.com>
67987
67988         * m4/memxor.m4: New file.
67989
67990 2005-10-05  Simon Josefsson  <jas@extundo.com>
67991
67992         * lib/memxor.c (memxor): Fix compiler error.
67993
67994         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
67995         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
67996
67997         * lib/memxor.h, lib/memxor.c: New files.
67998
67999         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
68000         we assume all systems have it, suggested by Jim Meyering
68001         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
68002         any systems lack sys/socket.h; mingw32 is known to lack it, but we
68003         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
68004         same reasons.
68005
68006 2005-10-05  Simon Josefsson  <jas@extundo.com>
68007
68008         * config/srclist.txt: Add glibc bug 1423 for md5.h.
68009
68010 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
68011
68012         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
68013         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
68014         needed, since the source code now assumes these .h files.
68015
68016 2005-10-05  Derek Price  <derek@ximbiot.com>
68017
68018         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
68019
68020 2005-10-05  Bruno Haible  <bruno@clisp.org>
68021
68022         * modules/stdint (License): Change to LGPL.
68023
68024 2005-10-04  Simon Josefsson  <jas@extundo.com>
68025
68026         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
68027         D. Baushke" <mdb@gnu.org>.
68028
68029 2005-10-04  Bruno Haible  <bruno@clisp.org>
68030
68031         * lib/verify.h (verify_true): Provide alternative definition for C++.
68032
68033 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
68034
68035         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
68036         (SSIZE_MAX): New macro, if not already defined.
68037         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
68038         than 2 GiB.
68039
68040 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
68041
68042         Sync from coreutils.
68043         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
68044         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
68045         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
68046         ULLONG_MAX doesn't work with 2.7.2.1.
68047
68048 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
68049
68050         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
68051         From Ben Pfaff.
68052
68053         * modules/exclude (Depends-on): Depend on verify.
68054         * modules/strtoimax (Depends-on): Likewise.
68055         * modules/utimecmp (Depends-on): Likewise.
68056
68057 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
68058
68059         * lib/exclude.c: Include verify.h.
68060         (verify): Remove.  All callers changed to use verify.h's version.
68061         * lib/strtoimax.c: Likewise.
68062         * lib/utimecmp.c: Likewis.e
68063
68064         Sync from coreutils.
68065         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
68066         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
68067         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
68068         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
68069         bother returning ENOSYS if settimeofday or stime fails; just let
68070         them return whatever errno they want to return.
68071         * lib/utimens.c: Include unistd.h, for dup2.
68072         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
68073         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
68074
68075 2005-10-02  Jim Meyering  <jim@meyering.net>
68076
68077         Sync from coreutils.
68078         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
68079         from glibc-2.2.5 that fails for read-only files.
68080
68081 2005-10-02  Jim Meyering  <jim@meyering.net>
68082
68083         Sync from coreutils.
68084         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
68085         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
68086         `#if HAVE_CONFIG_H'.
68087         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
68088         Remove AT_FDCWD test.
68089         Do not consume the fd unless successful.
68090         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
68091         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
68092         block, so that we don't even try to compile it if settimeofday is
68093         available.  This works around a compilation failure on OSF1 V5.1,
68094         due to stime requiring a `long int*' while tv_sec is `int'.
68095
68096 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
68097
68098         Sync from coreutils.
68099         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
68100         against `yes', rather than just testing for nonempty.
68101
68102 2005-10-01  Simon Josefsson  <jas@extundo.com>
68103
68104         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
68105         and Darwin.
68106
68107         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
68108         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
68109         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
68110         freeaddrinfo and gai_strerror are declared by the POSIX headers.
68111         Check if struct addrinfo is declared.
68112
68113 2005-10-01  Simon Josefsson  <jas@extundo.com>
68114
68115         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
68116         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
68117         AI_* and EAI_* definitions.  Protect function declarations.
68118
68119 2005-10-01  Jim Meyering  <jim@meyering.net>
68120
68121         Sync from coreutils.
68122
68123         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
68124         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
68125         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
68126         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
68127         in the inet and nsl libraries.  Required on Solaris 5.7.
68128
68129 2005-10-01  Jim Meyering  <jim@meyering.net>
68130
68131         Sync from coreutils.
68132         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
68133         in the inet and nsl libraries.  Required on Solaris 5.7.
68134
68135 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
68136
68137         * lib/getdelim.c (getdelim): Remove unused variables.
68138
68139 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
68140
68141         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
68142         so that the code works even with ancient cpp.  Portability problem
68143         with GCC 2.7.2.1 reported by Thomas M.Ott.
68144
68145 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
68146
68147         * modules/regex (Depends-on): Add strcase.
68148
68149         * modules/gethostname (Licence): Change from GPL to LGPL, since
68150         gethostname.c is a trivial implementation of a standard library
68151         function.
68152         * modules/poll (License): Change from GPL to LGPL, since it's
68153         derived from LGPL code.
68154
68155 2005-09-27  Jim Meyering  <jim@meyering.net>
68156
68157         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
68158         HAVE_CONFIG_H.
68159
68160         * lib/intprops.h (signed_type_or_expr__): Define.
68161         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
68162         for unsigned types.
68163
68164 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
68165
68166         * lib/verify.h (verify_expr): Remove, replacing with:
68167         (verify_true): New macro that returns true instead of void.
68168         (verify_type__): Remove.
68169         (verify): Use verify_true rather than verify_type__.
68170
68171 2005-09-26  Bruno Haible  <bruno@clisp.org>
68172
68173         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
68174         is necessary.
68175         (lib_SOURCES): Remove mbchar.c.
68176         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
68177         (Files): Add m4/mbrtowc.m4.
68178         * modules/mbiter: Likewise.
68179         * modules/mbuiter: Likewise.
68180
68181 2005-09-26  Bruno Haible  <bruno@clisp.org>
68182
68183         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
68184         compile mbchar.c if they are not both present.
68185         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
68186         * m4/mbiter.m4 (gl_MBITER): Likewise.
68187         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
68188         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
68189         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
68190
68191 2005-09-25  Jim Meyering  <jim@meyering.net>
68192
68193         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
68194         also uses socklen_t.
68195
68196 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
68197
68198         * lib/utimens.c (ENOSYS): Define if not already defined.
68199         (futimens): Support having a null PATH if the file descriptor
68200         is nonnegative.
68201
68202         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
68203         Remove.
68204         (__attribute): Define to empty unless GCC 3.1 or later.
68205         This works around a core dump on OpenBSD 3.4, which has GCC
68206         2.95.3, which dumps core when given __attribute__(()).  It also
68207         simplifies other tests, since we really don't want to bother with
68208         worrying about which ancient version of GCC supported what.
68209         Original problem reported by Yoann Vandoorselaere, with part of
68210         the fix suggested by Derek Price.
68211
68212 2005-09-24  Jim Meyering  <jim@meyering.net>
68213
68214         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
68215         so we can once again use a positive bitfield width of 1 -- now we
68216         don't have to explain why we were using a bitfield width of 2.
68217
68218 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
68219
68220         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
68221         and similarly for the other external symbols.  Problem reported
68222         by James Gallager.
68223
68224         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
68225         bug reported by Jim Meyering.
68226
68227         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
68228         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
68229         not needed, since socklen is a prerequisite module.
68230
68231 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
68232
68233         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
68234         Problem reported by Eric Blake.
68235         (getaddrinfo): Initialize se so that it's not garbage.
68236         Redo internal storage allocation so that it doesn't make unportable
68237         assumptions about alignment.
68238         Fix a memory leak.
68239
68240         * lib/utimens.c (futimens): Use futimesat if available.
68241         Prefer it to futimes since it doesn't have the futimes bug.
68242
68243         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
68244         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
68245         Instead, declare a function that returns a pointer to an array,
68246         and use verify_type__ to declare the size of the array.
68247         Problem and germ of a solution reported by Bruno Haible.
68248         (verify_type__): Use 2, not 1, for bitfield size, to avoid
68249         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
68250
68251 2005-09-23  Jim Meyering  <jim@meyering.net>
68252
68253         Sync from coreutils.
68254         Correct build failure (socklen_t not defined) on at least
68255         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
68256         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
68257
68258 2005-09-23  Jim Meyering  <jim@meyering.net>
68259
68260         * modules/getaddrinfo (Depends-on): Add socklen.
68261
68262 2005-09-23  Bruno Haible  <bruno@clisp.org>
68263
68264         * tests/test-verify.c: New file.
68265
68266 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
68267
68268         Sync from coreutils.
68269
68270         * modules/argmatch (Depends-on): Add verify.
68271         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
68272         unistd-safer.
68273         * modules/save-cwd (Depends-on): Likewise.
68274
68275         * modules/openat (Files): Add lib/openat-die.c.
68276         (Depends-on): Remove error, exitfail.
68277         Add dirname.
68278
68279         * modules/verify: New file.
68280         * MODULES.html.sh (Diagnostics <assert.h>): New section,
68281         with "verify" module.
68282
68283 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
68284
68285         Sync from coreutils.
68286
68287         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
68288         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
68289         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
68290         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
68291         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
68292         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
68293         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
68294         Don't bother checking for string.h, stdlib.h, unistd.h.
68295         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
68296         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
68297         module's job.
68298         * m4/jm-macros.m4 (gl_MACROS): Likewise.
68299         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
68300
68301         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
68302         (gl_GETDATE): Use it.
68303
68304         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
68305
68306 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
68307
68308         Sync from coreutils.
68309
68310         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
68311         stat-time.h.
68312         * lib/argmatch.h: Include verify.h
68313         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
68314         (ARGMATCH_ASSERT): Remove; unused.
68315         * lib/canonicalize.c: Assume STDC_HEADERS.
68316         * lib/exclude.c: Include "strcase.h".
68317         * lib/regex_internal.h [!defined _LIBC]: Likewise.
68318         * lib/getusershell.c: Include stdio--.h rather than stdio.h
68319         and stdio-safer.h.
68320         (getusershell): Call fopen, not fopen_safer.
68321         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
68322         Do not include unistd-safer.h.
68323         (save_cwd): Don't call fd_safer; no longer needed
68324         now that we include fcntl--.h.
68325
68326         * lib/getdate.y (relative_time): New type.
68327         (RELATIVE_TIME_0): New constant.
68328         (parser_control): Use relative_time instead of doing it ourselves.
68329         (%union): Add new relative_time rel member.
68330         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
68331         Now typeless.
68332         (relunit, relunit_snumber): Now of type rel.
68333         (zone, rel, relunit, get_date): Adjust to above changes.
68334
68335         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
68336         Do not include unistd-safer.h.
68337         (getloadavg): Don't call fd_safer; no longer needed
68338         now that we include fcntl--.h.
68339
68340         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
68341         (make_dir_parents): Treat ENOSYS like EEXIST.
68342
68343         Improve quality of diagnostics on restore_cwd failure.
68344         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
68345         (make_dir_parents): Last arg is now int * (for errno), not bool *.
68346         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
68347         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
68348         each time through the loop.  Do not diagnose restore_cwd failure;
68349         that is the caller's job (and perhaps the caller does not care).
68350
68351         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
68352         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
68353         If the file already exists but is not a directory, don't bother
68354         to try to make its parents.
68355         Close potential file descriptor leak if we can't chdir("/") (!).
68356         Don't always return true if chdir($PWD) fails; return true only
68357         if the requested action was done successfully (except for the
68358         chdir($PWD)).
68359         Don't log final directory unless we actually made it.
68360         Refactor to avoid duplicate code to fix up permissions.
68361         Don't attempt to fix up parent permissions if chdir($PWD) fails.
68362
68363         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
68364         to make it a bit faster and (I hope) clearer.
68365         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
68366         Fix bug in formats like %2N.
68367
68368         * lib/verify.h: New file.
68369
68370 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
68371
68372         Sync from coreutils.
68373         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
68374
68375 2005-09-22  Jim Meyering  <jim@meyering.net>
68376
68377         Sync from coreutils.
68378
68379         * m4/lstat.m4 (gl_FUNC_LSTAT):
68380         Use AC_LIBSOURCES to require lstat.c and lstat.h.
68381         Remove obsolete comment.
68382         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
68383         * m4/xstrtod.m4: Likewise.
68384
68385         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
68386
68387 2005-09-22  Jim Meyering  <jim@meyering.net>
68388
68389         Sync from coreutils.
68390
68391         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
68392
68393         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
68394         the .tm_year member, since otherwise gcc-4.0 would now warn about
68395         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
68396
68397         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
68398         order to avoid an unsuppressible warning from gcc on 64-bit systems.
68399
68400         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
68401         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
68402         when run in a time zone for which daylight savings time is in effect
68403         for the starting date.
68404
68405         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
68406         stop us from restricting permissions of just-created absolute-named
68407         directories.
68408         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
68409         to restore initial working directory.
68410         * lib/mkdir-p.c (make_dir_parents): New parameter:
68411         different_working_dir, to tell caller if/when we change the working
68412         directory and are unable to return to the initial one.
68413         * lib/mkdir-p.h (make_dir_parents): Update prototype.
68414         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
68415         `return false'.  This fixes a bug introduced on 2004-07-30.
68416
68417         * lib/openat.c (fdopendir): Be sure to close the supplied
68418         file descriptor before returning.  This makes our replacement
68419         implementation a little closer to Solaris's, where fdopendir
68420         ties the file descriptor to the returned DIR* pointer.
68421         * lib/openat.c (unlinkat): New function.
68422         * lib/openat.h (unlinkat): Add prototype.
68423         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
68424         (openat_restore_fail): Rename from openat_restore_die.
68425         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
68426
68427         Provide an alternative to exiting immediately upon save_cwd or
68428         restore_cwd failure.  Now, an application can arrange e.g.,
68429         to perform a longjump in that case.
68430         * lib/openat.c: Include dirname.h.
68431         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
68432         (rpl_openat, fdopendir, fstatat): Call openat_save_die
68433         and openat_restore_die rather than calling error directly.
68434         Don't include "error.h" or "exitfail.h"; they're no longer needed.
68435
68436         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
68437         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
68438         define.
68439
68440         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
68441         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
68442                             int utc, int nanoseconds);
68443         Background:
68444         date should not have to allocate a megabyte of virtual memory to
68445         handle a format argument like +%1048575T.  When implemented with
68446         strftime, it must allocate such a buffer, use strftime to fill it
68447         in, print it, then free it.
68448         With fprintftime, it simply prints everything and exits.
68449         With no need for memory allocation, that's one fewer way to fail.
68450         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
68451         optional field width, not before, so we accept %9:z, not %:9z.
68452         (my_strftime): Be sure to use L_('x') for literals.
68453
68454         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
68455         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
68456         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
68457         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
68458         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
68459         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
68460         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
68461         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
68462         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
68463         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
68464         * lib/xgethostname.c, lib/xreadlink.c:
68465         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
68466
68467         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
68468         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
68469         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
68470         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
68471         and don't include <sys/file.h>).
68472
68473 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
68474
68475         Sync from coreutils.
68476
68477         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
68478         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
68479         [!LDAV_DONE]: Avoid unused variable warning.
68480
68481 2005-09-21  Bruno Haible  <bruno@clisp.org>
68482
68483         * lib/unicodeio.h (unicode_to_mb): New declaration.
68484
68485 2005-09-20  Derek Price  <derek@ximbiot.com>
68486
68487         * lib/getaddrinfo.c: Don't include <netdb.h> included from
68488         getaddrinfo.h.
68489
68490 2005-09-20  Bruno Haible  <bruno@clisp.org>
68491
68492         * gnulib-tool: Remove trailing slashes from the values specified for
68493         --source-base, --m4-base, --tests-base, --aux-dir.
68494         Suggested by Simon Josefsson <jas@extundo.com>.
68495
68496 2005-09-20  Bruno Haible  <bruno@clisp.org>
68497
68498         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
68499         func_modules_to_filelist, func_import, func_create_testdir): Make all
68500         sorting results locale-independent, so that gnulib-cache.m4 doesn't
68501         change when gnulib-tool is invoked in a different locale.
68502
68503 2005-09-19  Simon Josefsson  <jas@extundo.com>
68504
68505         * m4/socklen.m4: Fix typo.
68506
68507 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68508
68509         Use a consistent style for including <config.h>.
68510         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
68511         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
68512         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
68513         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
68514         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
68515         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
68516         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
68517         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
68518         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
68519         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
68520         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
68521         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
68522         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
68523         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
68524         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
68525         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
68526         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
68527         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
68528         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
68529         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
68530         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
68531         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
68532         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
68533         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
68534         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
68535         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
68536         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
68537         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
68538         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
68539         lib/xstrtoumax.c, lib/yesno.c:
68540         Standardize inclusion of config.h.
68541         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
68542         lib/inttostr.h:  Removed inclusion of config.h from header files.
68543         * lib/inttostr.c:  Adjusted in-tree users.
68544         * lib/timespec.h: Remove superfluous warning to include config.h.
68545         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
68546         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
68547         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
68548         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
68549         config.h with HAVE_CONFIG_H.
68550
68551 2005-09-19  Jim Meyering  <jim@meyering.net>
68552
68553         * modules/pathmax (License): Change to LGPL.
68554
68555 2005-09-19  Derek Price  <derek@ximbiot.com>
68556
68557         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
68558
68559 2005-09-19  Bruno Haible  <bruno@clisp.org>
68560
68561         * gnulib-tool (import): Provide default for --tests-base.
68562
68563 2005-09-19  Bruno Haible  <bruno@clisp.org>
68564
68565         * doc/quote.texi: New file, extracted from gnulib.texi.
68566         * doc/ctime.texi: New file, extracted from gnulib.texi.
68567         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
68568         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
68569         * doc/gnulib.texi: Include them.
68570
68571 2005-09-18  Bruno Haible  <bruno@clisp.org>
68572
68573         Portability fix.
68574         * gnulib-tool (func_readlink): New function.
68575         (func_ln_if_changed): Use it.
68576
68577 2005-09-18  Bruno Haible  <bruno@clisp.org>
68578
68579         * gnulib-tool: Support --with-tests also with --import.
68580         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
68581         (func_import): Use variables $testsbase and $inctests. Emit a
68582         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
68583         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
68584         SUBDIRS += $testsdir.
68585         (func_create_testdir): Update.
68586
68587 2005-09-18  Bruno Haible  <bruno@clisp.org>
68588
68589         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
68590         instead of $dry_run.
68591         (func_cp_if_changed, func_mv_if_changed): Remove functions.
68592         (func_ln_if_changed): Don't handle dry-run here.
68593         (func_import): In dry-run mode, detect more precisely which actions
68594         would be performed, and don't use "...ing" verbs.
68595
68596 2005-09-18  Bruno Haible  <bruno@clisp.org>
68597
68598         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
68599         (func_import): Use join on two temporary files instead of three nested
68600         loops, in order to determine which files are new or old.
68601
68602 2005-09-18  Bruno Haible  <bruno@clisp.org>
68603
68604         * gnulib-tool (func_import): Comment out code that spits out the
68605         new files with --dry-run.
68606
68607 2005-09-18  Bruno Haible  <bruno@clisp.org>
68608
68609         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
68610
68611 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
68612
68613         * lib/stat-time.h: New file.
68614         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
68615         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
68616         in a different way.
68617         (timespec_cmp): New function.
68618         * lib/utimecmp.c: Include stat-time.h.
68619         (SYSCALL_RESOLUTION): Depend on whether various struct stat
68620         members exist, not on the obsolescent ST_MTIM_NSEC.
68621         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
68622
68623 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
68624
68625         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
68626
68627 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
68628
68629         * MODULES.html.sh (File system functions): Add stat-time.
68630         * modules/stat-time: New file.
68631         * modules/timespec (Files): Remove m4/st_mtim.m4; this
68632         is now done in a different way, by the stat-time module.
68633         * modules/utimecmp (Depends-on): Add stat-time.
68634
68635 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
68636
68637         * m4/st_mtim.m4: Remove.  Superseded by...
68638         * m4/stat-time.m4: New file.
68639         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
68640         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
68641
68642 2005-09-15  Derek Price  <derek@ximbiot.com>
68643
68644         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
68645
68646 2005-09-15  Derek Price  <derek@ximbiot.com>
68647
68648         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
68649         * lib/regex_internal.c: Ditto, using this...
68650         (__GNUC_PREREQ): ...new macro.
68651         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
68652         using...
68653         (__GNUC_PREREQ): ...this new macro.
68654
68655         * lib/strstr.h: Include string.h. Define strstr as a macro here.
68656
68657 2005-09-15  Derek Price  <derek@ximbiot.com>
68658             Paul Eggert  <eggert@cs.ucla.edu>
68659
68660         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
68661         changes, consolidating in...
68662         * lib/regex_internal.h: ...this file.
68663
68664 2005-09-13  Jim Meyering  <jim@meyering.net>
68665
68666         * lib/canon-host.c: Filter through gnu indent and reword comments
68667         slightly.
68668         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
68669
68670 2005-09-13  Derek Price  <derek@ximbiot.com>
68671
68672         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
68673         failure.
68674         Reported by Jim Meyering  <jim@meyering.net>.
68675
68676 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
68677
68678         * lib/base64.c: Typo.
68679         (base64_encode): Put b64str in initialized data section.
68680
68681 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
68682
68683         Merge glibc and coreutils changes into gnulib, plus a few
68684         extra fixes.
68685         * lib/md5.c: Use #error rather than a string.
68686         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
68687         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
68688         (__attribute__): Define to empty for non recent-GCC.
68689         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
68690         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
68691         Renamed from their non-__ counterparts, with new macros replacing
68692         them if not _LIBC.  Add __THROW attribute.
68693         (rol): Remove.
68694         (struct md5_ctx): Align buffer if using GCC.
68695         * lib/sha1.h (struct sha1_ctx): Likewise.
68696         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
68697         The old name was backwards.
68698         (NOTSWAP): Remove; not used.
68699         (rol): New macro, moved here from md5.h.
68700         (sha1_process_block): Remove a FIXME that doesn't make sense.
68701
68702 2005-09-12  Derek Price  <derek@ximbiot.com>
68703
68704         Return usable errors from canon-host.
68705         * lib/canon-host.h: New file.
68706         * lib/canon-host.c (canon_host): Wrap...
68707         (canon_host_r): ...this new function, which now relies exclusively on
68708         getaddrinfo.
68709         (ch_strerror): New function.
68710         (last_cherror): New global.
68711         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
68712         interface.
68713         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
68714         void *.
68715         (freeaddrinfo): Free ai->ai_canonname when set.
68716
68717 2005-09-12  Derek Price  <derek@ximbiot.com>
68718
68719         Make canon-host require getaddrinfo.
68720         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
68721         AC_LIBSOURCE canon-host.h.  Call...
68722         (gl_PREREQ_CANON_HOST): ...this new function, which requires
68723         gl_GETADDRINFO.
68724         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
68725
68726 2005-09-12  Derek Price  <derek@ximbiot.com>
68727
68728         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
68729         LGPL.
68730         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
68731
68732 2005-09-12  Derek Price  <derek@ximbiot.com>
68733
68734         * lib/gai_strerror.c: Include config.h when available.  Include
68735         getaddrinfo.h before other headers to test interface.
68736         Reported by Larry Jones <lawrence.jones@ugs.com>.
68737
68738 2005-09-12  Derek Price  <derek@ximbiot.com>
68739             Paul Eggert  <eggert@cs.ucla.edu>
68740
68741         * modules/glob (Files): Add glob-libc.h.
68742
68743 2005-09-12  Derek Price  <derek@ximbiot.com>
68744             Paul Eggert  <eggert@cs.ucla.edu>
68745
68746         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
68747         glob_.h, glob-libc.h.
68748         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
68749
68750 2005-09-12  Derek Price  <derek@ximbiot.com>
68751             Paul Eggert  <eggert@cs.ucla.edu>
68752
68753         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
68754         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
68755         protecting things that should be done only in gnulib contexts.
68756         * lib/glob_.h: New file, containing only the glob things needed for
68757         gnulib.
68758         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
68759         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
68760         (glob, globfree, glob_pattern_p): Now defined simply in terms of
68761         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
68762         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
68763         and to respect the namespace rules better.
68764
68765 2005-09-08  Simon Josefsson  <jas@extundo.com>
68766
68767         * modules/socklen: New file.
68768
68769 2005-09-08  Simon Josefsson  <jas@extundo.com>
68770
68771         * m4/socklen.m4: New file.
68772
68773 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
68774
68775         * modules/utimens (Files): Add m4/utimbuf.m4, since
68776         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
68777         Reported by Sergey Poznyakoff.
68778
68779 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
68780
68781         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
68782         definitions, since that's the preferred style in glibc.
68783         Fix a minor spacing issue, and update copyright notice to match
68784         glibc's.
68785
68786 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
68787
68788         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
68789
68790 2005-09-06  Simon Josefsson  <jas@extundo.com>
68791
68792         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
68793         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
68794
68795 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
68796
68797         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
68798         warning.
68799
68800 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
68801
68802         * config/srclist.txt: Add glibc bug 1302.
68803
68804 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
68805
68806         Change bitset word type from unsigned int to unsigned long int,
68807         as this has better performance on typical 64-bit hosts.
68808         Port bitset code to hosts with unusual word sizes.
68809         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
68810         (build_collating_symbol):
68811         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
68812         argument is a bitset.  This is merely a style issue, but it makes
68813         it clearer that an entire array is expected.
68814         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
68815         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
68816         Port to the case where bitset_word is not the same as unsigned int.
68817         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
68818         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
68819         Likewise.
68820         * lib/regexec.c (check_dst_limits_calc_pos_1,
68821         check_subexp_matching_top):
68822         (build_trtable, group_nodes_into_DFAstates):
68823         Likewise.
68824         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
68825         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
68826         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
68827         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
68828         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
68829         * lib/regcomp.c (optimize_subexps, lower_subexp):
68830         Work even if bitset_word has holes in its bitwise representation.
68831         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
68832         * lib/regexec.c (check_dst_limits_calc_pos_1,
68833         check_subexp_matching_top):
68834         Likewise.
68835         * lib/regex_internal.c (re_string_reconstruct):
68836         Don't assume UCHAR_MAX == 255.
68837         * lib/regex_internal.h (bitset_set_all): Likewise.
68838         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
68839         All uses changed.
68840         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
68841         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
68842         All uses changed.
68843         (BITSET_WORD_MAX): New macro.
68844         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
68845         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
68846         (bitset_empty, bitset_copy):
68847         Prefer sizeof (bitset) to multiplying it out ourselves.
68848         (bitset_not_merge): Remove; unused.
68849         (bitset_contain): Return bool, not unsigned int with one bit on.
68850         All callers changed.
68851         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
68852         alignment than re_node_set; do this by defining a new internal
68853         type struct dests_alloc and using it to allocate memory.
68854
68855 2005-09-05  Bruno Haible  <bruno@clisp.org>
68856
68857         * gnulib-tool (func_import): Fix comparison in handling of symbolic
68858         links.
68859
68860 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
68861
68862         * modules/size_max (Makefile.am): Add size_max.h
68863
68864 2005-09-04  Derek Price  <derek@ximbiot.com>
68865
68866         * gnulib-tool (func_import): Fix reversed $symbolic logic.
68867
68868 2005-09-03  Simon Josefsson  <jas@extundo.com>
68869
68870         * gnulib-tool: Fix typo.
68871
68872 2005-09-03  Simon Josefsson  <jas@extundo.com>
68873
68874         * config/srclist.txt: Add glibc bug 1293.
68875
68876 2005-09-03  Derek Price  <derek@ximbiot.com>
68877
68878         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
68879         From Larry Jones <lawrence.jones@ugs.com>.
68880
68881 2005-09-02  Simon Josefsson  <jas@extundo.com>
68882
68883         * modules/socklen: New file.
68884
68885 2005-09-02  Simon Josefsson  <jas@extundo.com>
68886
68887         * modules/havelib: New module.
68888
68889         * modules/gettext, modules/iconv, modules/lock, modules/readline:
68890         Use havelib.
68891
68892 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
68893
68894         Check for arithmetic overflow when calculating sizes, to prevent
68895         some buffer-overflow issues.  These patches are conservative, in the
68896         sense that when I couldn't determine whether an overflow was possible,
68897         I inserted a run-time check.
68898         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
68899         macros.
68900         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
68901         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
68902         (re_xnrealloc, re_x2nrealloc): New inline functions.
68903         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
68904         parse_bracket_exp):
68905         (build_equiv_class, build_charclass): Check for arithmetic overflow
68906         in size expression calculations.
68907         * lib/regex_internal.c (re_string_realloc_buffers):
68908         (build_wcs_upper_buffer, re_node_set_add_intersect):
68909         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
68910         (re_dfa_add_node, register_state): Likewise.
68911         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
68912         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
68913         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
68914         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
68915
68916 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
68917
68918         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
68919         m4/ulonglong.m4.  Problem reported by Martin Lambers.
68920
68921 2005-09-02  Bruno Haible  <bruno@clisp.org>
68922
68923         Support for lib vs. lib64 distinction on biarch platforms.
68924         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
68925         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
68926         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
68927
68928 2005-09-02  Bruno Haible  <bruno@clisp.org>
68929
68930         * gnulib-tool (import): In the other first-use case, provide defaults
68931         as well.
68932
68933 2005-09-02  Bruno Haible  <bruno@clisp.org>
68934
68935         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
68936         patches not yet found in the latest gettext release.
68937
68938 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
68939
68940         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
68941         to avoid a collision with bits/local_lim.h in glibc.
68942         All uses changed.  Problem reported by Dmitry V. Levin in
68943         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
68944
68945         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
68946         bugs in int versus size_t comparisons.
68947         (re_string_context_at): Fix bug where the code assumed that
68948         Idx is signed.
68949
68950         Use bool where appropriate.
68951         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
68952         All callers changed.
68953         (calc_eclosure_iter): Likewise, for ROOT arg.
68954         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
68955         (build_charclass_op): Likewise, for NON_MATCH arg.
68956         * lib/regex_internal.c (re_string_allocate, re_string_construct):
68957         (re_string_construct_common): Likewise, for ICASE arg.
68958         * lib/regexec.c (re_search_2_stub, re_search_stub):
68959         Likewise, for RET_LEN arg.
68960         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
68961         (set_regs): Likewise, for FL_BACKTRACK arg.
68962         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
68963         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
68964         (calc_eclosure_iter, parse_bracket_exp):
68965         Use bool for internal variables that are booleans.
68966         * lib/regexec.c (re_search_internal, check_matching,
68967         proceed_next_node):
68968         (set_regs, build_sifted_states, sift_states_bkref):
68969         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
68970         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
68971         (find_collation_sequence_value):
68972         Likewise.
68973         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
68974         (re_node_set_compare):
68975         Return bool, not int. All callers changed.
68976         * lib/regexec.c (check_halt_node_context, check_dst_limits):
68977         (build_trtable, check_node_accept): Likewise.
68978         * lib/regex_internal.h: Include stdbool.h.
68979
68980         Fix bugs uncovered when converting to bool.
68981         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
68982         failure instead of charging ahead blindly.
68983         * lib/regex_internal.c (register_state): Likewise.
68984         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
68985         for freeing internal storage.
68986         (group_nodes_into_DFA_states): Use unsigned int, not int, for
68987         bitset pieces used as boolean, to avoid undefined behavior
68988         on hosts that do int overflow checking.
68989
68990 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
68991
68992         * config/srclist.txt: Add glibc bugs 1285-1287.
68993
68994 2005-09-01  Jim Meyering  <jim@meyering.net>
68995
68996         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
68997         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
68998         Require gl_STAT_MACROS, too.
68999
69000 2005-09-01  Bruno Haible  <bruno@clisp.org>
69001
69002         * gnulib-tool (import): In the first-use case, provide defaults.
69003
69004 2005-09-01  Bruno Haible  <bruno@clisp.org>
69005
69006         * gnulib-tool (func_import): Remove the .tmp files.
69007
69008 2005-09-01  Bruno Haible  <bruno@clisp.org>
69009
69010         * gnulib-tool (func_import): Fix handling of symbolic links.
69011
69012 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
69013
69014         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
69015         old glibc regex code mishandles strings longer than 2**31 bytes.
69016         This patch fixes this when the regex code is used in gnulib
69017         (i.e., outside glibc).
69018
69019         This patch should not affect the use of the regex code inside
69020         glibc.  No doubt this problem also needs to be handled for glibc
69021         as well, but the result will be an incompatible change to the
69022         glibc ABI, and the old ABI will have to be supported too.  That
69023         can be the the subject for another patch.
69024
69025         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
69026         governing whether the rest of this patch is active.  By default,
69027         the macro is disabled and the patch has no effect.
69028         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
69029         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
69030         (struct re_pattern_buffer, re_search, re_search_2, re_match):
69031         (re_match_2, re_set_registers): Use the new types.
69032         * lib/regex_internal.h (Idx, re_hashval_t): New types.
69033         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
69034         New macros.
69035         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
69036         (re_string_context_at, bin_tree_t, re_dfastate_t):
69037         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
69038         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
69039         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
69040         (re_string_char_size_at, re_string_wchar_at):
69041         (re_string_elem_size_at):
69042         Use the new types and macros to port to 64-bit hosts.
69043         Use unsigned types for internal values, so that the code
69044         mostly works even for arrays larger than SSIZE_MAX.
69045         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
69046         (search_duplicated_node, calc_eclosure_iter, fetch_number):
69047         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
69048         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
69049         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
69050         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
69051         (calc_inveclosure, parse_dup_op, build_range_exp):
69052         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
69053         (fetch_number, create_token_tree, mark_opt_subexp):
69054         Likewise.
69055         * lib/regex_internal.c (re_string_construct_common,
69056         create_ci_newstate):
69057         (create_cd_newstate, re_string_allocate, re_string_construct):
69058         (re_string_realloc_buffers, build_wcs_upper_buffer):
69059         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
69060         (re_string_reconstruct, re_string_peek_byte_case):
69061         (re_string_fetch_byte_case, re_string_context_at):
69062         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
69063         (re_node_set_init_copy, re_node_set_add_intersect):
69064         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
69065         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
69066         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
69067         (re_acquire_state, re_acquire_state_context, register_state):
69068         Likewise.
69069         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
69070         search_cur_bkref_entry):
69071         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
69072         (re_search_internal, re_search_2_stub, re_search_stub)
69073         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
69074         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
69075         (update_cur_sifted_state, check_dst_limits):
69076         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
69077         (check_subexp_limits, sift_states_bkref, merge_state_array):
69078         (check_subexp_matching_top, get_subexp, get_subexp_sub):
69079         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
69080         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
69081         (expand_bkref_cache, check_node_accept_bytes):
69082         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
69083         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
69084         (acquire_init_state_context, check_halt_node_context):
69085         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
69086         (sift_states_backward, clean_state_log_if_needed):
69087         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
69088         (find_recover_state, transit_state_sb, transit_state_mb):
69089         (transit_state_bkref, build_trtable, match_ctx_clean):
69090         Likewise.
69091         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
69092         to work around an assumption that REG_MISSING is negative.
69093
69094         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
69095         (seek_collating_symbol_entry) [defined _LIBC]:
69096         (lookup_collation_sequence_value) [defined _LIBC]:
69097         (build_range_exp, build_collating_symbol) [defined _LIBC]:
69098         Use prototypes rather than old-style function definitions.
69099         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
69100         (transit_state_sb) [0]:
69101         (find_collation_sequence_value) [defined _LIBC]: Likewise.
69102
69103         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
69104         rm_eo.
69105
69106         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
69107         (optimize_subexps, lower_subexp):
69108         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
69109         since the signed shift might overflow.  Use 1u<<31 instead.
69110         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
69111         Likewise.
69112         * lib/regexec.c (check_dst_limits_calc_pos_1,
69113         check_subexp_matching_top): Likewise.
69114
69115         * lib/regcomp.c (optimize_subexps, lower_subexp):
69116         Use CHAR_BIT rather than 8, for clarity.
69117         * lib/regexec.c (check_dst_limits_calc_pos_1):
69118         (check_subexp_matching_top): Likewise.
69119         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
69120         have to worry about portability issues when shifting it left.
69121         Remove no-longer-needed test for table_size > 0.
69122         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
69123         in a word, as the resulting behavior is undefined.
69124         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
69125         in one case, a <= should have been an <, and in another case the
69126         whole test was missing.
69127         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
69128         the standard name CHAR_BIT.
69129         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
69130         this is not true on one's complement and signed-magnitude hosts.
69131
69132         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
69133         next_last_offset.
69134         (struct re_dfa_t): Remove unused member states_alloc.
69135         * lib/regcomp.c (init_dfa): Don't initialize unused members.
69136
69137 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
69138
69139         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
69140         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
69141         and large-file glibc and in 32-bit large-file Solaris.
69142
69143 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
69144
69145         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
69146         lengths fit in regoff_t; this isn't true if regoff_t is the same
69147         width as size_t.
69148         * lib/regex.c (re_search_internal): 5th arg is LAST_START
69149         (= START + RANGE) instead of RANGE.  This avoids overflow
69150         problems when regoff_t is the same width as size_t.
69151         All callers changed.
69152         (re_search_2_stub): Check for overflow when adding the
69153         sizes of the two strings.
69154         (re_search_stub): Check for overflow when adding START
69155         to RANGE; if it occurs, substitute the extreme value.
69156
69157 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
69158
69159         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
69160
69161 2005-08-31  Jim Meyering  <jim@meyering.net>
69162
69163         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
69164         a pointer-to-const.
69165         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
69166         (register_state): Likewise.
69167         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
69168         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
69169         (group_nodes_into_DFAstates): Likewise.
69170
69171 2005-08-31  Jim Meyering  <jim@meyering.net>
69172
69173         * check-module: Add a FIXME comment.
69174
69175 2005-08-31  Eric Blake  <ebb9@byu.net>
69176
69177         * modules/unistd-safer (Files): Add unistd--.h.
69178         * modules/stdio-safer (Files): Add stdio--.h.
69179
69180 2005-08-31  Derek Price  <derek@ximbiot.com>
69181
69182         * lib/getdelim.c (getdelim): Return EOF on EOF.
69183         Reported by Larry Jones <lawrence.jones@ugs.com>.
69184
69185 2005-08-31  Bruno Haible  <bruno@clisp.org>
69186
69187         Avoid unnecessary diffs in the generated lib/Makefile.am.
69188         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
69189         the generated files.
69190         (func_import): Don't set cmd.
69191
69192 2005-08-31  Bruno Haible  <bruno@clisp.org>
69193
69194         * lib/strstr.c: Include <stddef.h>, for NULL.
69195         * lib/strcasestr.c: Likewise.
69196         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
69197
69198 2005-08-31  Bruno Haible  <bruno@clisp.org>
69199
69200         * gnulib-tool: New option --macro-prefix.
69201         (func_import): Use macro_prefix.
69202         (import): Handle option --macro-prefix.
69203
69204 2005-08-31  Bruno Haible  <bruno@clisp.org>
69205
69206         * gnulib-tool (import): Rename most ac_* variables to cached_*.
69207         Also use new variables cached_lgpl, cached_libtool.
69208
69209 2005-08-31  Bruno Haible  <bruno@clisp.org>
69210
69211         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
69212         always instantiating them.
69213
69214 2005-08-31  Bruno Haible  <bruno@clisp.org>
69215
69216         * gnulib-tool (func_import): Read the previous cached settings
69217         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
69218         earlier added by gnulib but are now dropped. Warn when a gnulib file
69219         overwrites a non-gnulib file.
69220
69221 2005-08-31  Bruno Haible  <bruno@clisp.org>
69222
69223         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
69224         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
69225         projects that don't keep autogenerated files in CVS. Put into
69226         actioncmd only the specified modules, not the transitive closure.
69227
69228 2005-08-31  Bruno Haible  <bruno@clisp.org>
69229
69230         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
69231         Create directories that shall be filled.
69232         (import): Don't look for gl_* macros in configure.ac. Recurse across
69233         all directories containing a gnulib-cache.m4 files, if meaningful.
69234
69235 2005-08-31  Bruno Haible  <bruno@clisp.org>
69236
69237         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
69238         (import): Set seen_libtool when we see gl_LIBTOOL.
69239
69240 2005-08-31  Bruno Haible  <bruno@clisp.org>
69241
69242         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
69243         declaration macro definitions from generated gnulib.m4.
69244
69245 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
69246
69247         * lib/iconvme.h: Add prototype for iconv_alloc.
69248
69249 2005-08-29  Simon Josefsson  <jas@extundo.com>
69250
69251         * lib/iconvme.c: Fix errno.
69252
69253 2005-08-29  Bruno Haible  <bruno@clisp.org>
69254
69255         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
69256         that it works when the directory contains spaces.
69257
69258 2005-08-29  Bruno Haible  <bruno@clisp.org>
69259
69260         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
69261
69262 2005-08-29  Bruno Haible  <bruno@clisp.org>
69263
69264         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
69265         Emit more advice.
69266
69267 2005-08-29  Bruno Haible  <bruno@clisp.org>
69268         and Stepan Kasal  <kasal@ucw.cz>
69269
69270         * check-module: If more parameters are given, check each of them
69271         separately; add more exceptions, as noted by Jim Meyering.
69272         (check_module): New procedure.
69273         (%exempt_header): Now contains all exceptions.
69274
69275 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
69276
69277         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
69278
69279 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
69280
69281         * lib/iconvme.c: Split iconv_string into iconv_alloc.
69282
69283 2005-08-28  Bruno Haible  <bruno@clisp.org>
69284
69285         * m4/gnulib-tool.m4: New file.
69286
69287 2005-08-27  Jim Meyering  <jim@meyering.net>
69288
69289         * modules/unistd-safer (Files): Add pipe-safer.c.
69290         * modules/fcntl-safer (Files): Add creat-safer.c.
69291
69292 2005-08-27  Jim Meyering  <jim@meyering.net>
69293
69294         * m4/stdlib-safer.m4: New file.  From coreutils.
69295         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
69296         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
69297         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
69298         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
69299         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
69300
69301 2005-08-27  Jim Meyering  <jim@meyering.net>
69302
69303         * lib/fopen-safer.c: Merge minor changes from coreutils.
69304         * lib/dup-safer.c: Likewise.
69305         * lib/fd-safer.c: Likewise.
69306
69307         Merge from coreutils.
69308         * lib/stdio--.h: New file.
69309         * lib/stdlib--.h: New file.
69310         * lib/mkstemp-safer.c: New file.
69311
69312         GNU tar needs these.
69313         * lib/pipe-safer.c: New file.
69314         * lib/creat-safer.c: New file.
69315         * lib/fcntl--.h (creat): Define to creat_safer.
69316         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
69317         * lib/unistd--.h (pipe): Define to pipe_safer.
69318         * lib/unistd-safer.h: Declare pipe_safer.
69319
69320 2005-08-26  Simon Josefsson  <jas@extundo.com>
69321
69322         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
69323         Haible <bruno@clisp.org>.
69324
69325 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
69326
69327         * lib/regex_internal.h: Remove all references to
69328         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
69329         or better.
69330         (bitset_not, bitset_merge, bitset_not_merge):
69331         (bitset_mask, re_string_allocate, re_string_construct):
69332         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
69333         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
69334         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
69335         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
69336         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
69337         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
69338         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
69339         (re_acquire_state_context):
69340         Remove unnecessary forward decls.
69341         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
69342         Put __attribute at function definition,
69343         now that the function decl has been removed.
69344         * lib/regex_internal.c (re_string_peek_byte_case):
69345         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
69346         Likewise.
69347
69348 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
69349
69350         * m4/regex.m4: Add AC_PREREQ(2.50).
69351         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
69352
69353 2005-08-25  Simon Josefsson  <jas@extundo.com>
69354
69355         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
69356         __fsetlocking.
69357
69358 2005-08-25  Simon Josefsson  <jas@extundo.com>
69359
69360         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
69361         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
69362         GLIBC specific code.
69363
69364 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
69365
69366         Make regex safe for g++.  This fixes one real bug (an "err"
69367         that should have been "*err").  g++ problem reported by
69368         Sam Steingold.
69369         * lib/regex_internal.h (re_calloc): New macro, consistent with
69370         re_malloc etc.  All callers of calloc changed to use re_calloc.
69371         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
69372         not int.  All callers changed.
69373         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
69374         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
69375         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
69376         (find_recover_state): Change "err" to "*err"; this fixes what
69377         appears to be a real bug.
69378         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
69379         versus int.
69380
69381 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
69382
69383         * modules/regex (Depends-on): Add malloc, since the code
69384         assumes that !malloc(0) means failure.
69385
69386 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
69387
69388         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
69389
69390         alloca modernization/simplification for regex.
69391         * lib/regex.c: Remove portability cruft for alloca.  This no longer
69392         needs to be at the start of the file, and can be moved into
69393         regex_internal.h and simplified.
69394         * lib/regex_internal.h: Include <alloca.h>.
69395         (__libc_use_alloca) [!defined _LIBC]: New macro.
69396         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
69397         now works outside glibc.
69398
69399 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
69400
69401         * config/srclist.txt: Add glibc bugs 1241, 1245.
69402
69403 2005-08-25  Jim Meyering  <jim@meyering.net>
69404
69405         * lib/open-safer.c: Include <config.h>.
69406         Otherwise, we'd lose LARGEFILE support in any file using
69407         e.g. "fcntl--.h"
69408
69409 2005-08-25  Bruno Haible  <bruno@clisp.org>
69410
69411         * m4/minmax.m4: Require autoconf 2.52.
69412         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
69413         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
69414         alternatives of translit over the alphabet.
69415         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
69416
69417 2005-08-24  Simon Josefsson  <jas@extundo.com>
69418
69419         * tests/test-getpass.c: New file.
69420
69421 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
69422
69423         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
69424         for GNU regex features.
69425
69426 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
69427
69428         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
69429         * lib/regex.h (regerror): Likewise.
69430
69431         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
69432         requires this.  (The code never needed it.)
69433
69434         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
69435         All uses of recently-renamed identifiers changed to use the new,
69436         POSIX-compliant names.  The code will build and run just fine
69437         without these changes, but it's better to eat our own dog food
69438         and use the standard-conforming names.
69439
69440         * lib/regex.h: Fix a multitude of POSIX name space violations.
69441         These changes have an effect only for programs that define
69442         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
69443         do not change anything for programs compiled in the normal way.
69444         Also, there is no effect on the ABI.
69445
69446         (_REGEX_SOURCE): New macro.
69447         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
69448         defined and _GNU_SOURCE is not; this fixes a name space violation.
69449
69450         Rename the following macros to obey POSIX requirements.
69451         The old names are still visible as macros if _REGEX_SOURCE is defined.
69452         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
69453         RE_BACKSLASH_ESCAPE_IN_LISTS.
69454         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
69455         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
69456         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
69457         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
69458         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
69459         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
69460         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
69461         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
69462         (REG_INTERVALS): renamed from RE_INTERVALS.
69463         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
69464         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
69465         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
69466         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
69467         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
69468         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
69469         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
69470         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
69471         RE_UNMATCHED_RIGHT_PAREN_ORD.
69472         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
69473         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
69474         (REG_DEBUG): renamed from RE_DEBUG.
69475         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
69476         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
69477         unusual, since we can't clash with the POSIX REG_ICASE.
69478         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
69479         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
69480         (REG_NO_SUB): renamed from RE_NO_SUB.
69481         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
69482         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
69483         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
69484         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
69485         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
69486         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
69487         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
69488         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
69489         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
69490         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
69491         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
69492         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
69493         RE_SYNTAX_POSIX_MINIMAL_BASIC.
69494         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
69495         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
69496         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
69497         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
69498         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
69499         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
69500         (REG_FIXED): Renamed from REGS_FIXED.
69501         (REG_NREGS): Renamed from RE_NREGS.
69502
69503         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
69504         of other REG_* macros, since POSIX says the user is allowed to
69505         #undef these macros selectively.
69506
69507         (reg_errcode_t): Update comment stating what other tables need
69508         to be consistent.
69509
69510         Rename the following enum values to obey POSIX requirements.
69511         The old names are still visible as macros.
69512         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
69513         is not defined, since GNU is supposed to be a superset of POSIX as
69514         much as possible, and since we want reg_errcode_t to be a signed
69515         type for implementation consistency.
69516         (_REG_NOERROR): Renamed from REG_NOERROR.
69517         (_REG_NOMATCH): Renamed from REG_NOMATCH.
69518         (_REG_BADPAT): Renamed from REG_BADPAT.
69519         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
69520         (_REG_ECTYPE): Renamed from REG_ECTYPE.
69521         (_REG_EESCAPE): Renamed from REG_EESCAPE.
69522         (_REG_ESUBREG): Renamed from REG_ESUBREG.
69523         (_REG_EBRACK): Renamed from REG_EBRACK.
69524         (_REG_EPAREN): Renamed from REG_EPAREN.
69525         (_REG_EBRACE): Renamed from REG_EBRACE.
69526         (_REG_BADBR): Renamed from REG_BADBR.
69527         (_REG_ERANGE): Renamed from REG_ERANGE.
69528         (_REG_ESPACE): Renamed from REG_ESPACE.
69529         (_REG_BADRPT): Renamed from REG_BADRPT.
69530         (_REG_EEND): Renamed from REG_EEND.
69531         (_REG_ESIZE): Renamed from REG_ESIZE.
69532         (_REG_ERPAREN): Renamed from REG_ERPAREN.
69533         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
69534         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
69535         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
69536         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
69537
69538         (_REG_RE_NAME, _REG_RM_NAME): New macros.
69539         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
69540         changed.  But support the old name if the new one is not defined
69541         and if _REGEX_SOURCE.
69542
69543         Change the following member names in struct re_pattern_buffer.
69544         The old names are still supported if !_REGEX_SOURCE.
69545         The new names are always supported, regardless of _REGEX_SOURCE.
69546         (re_buffer): Renamed from buffer.
69547         (re_allocated): Renamed from allocated.
69548         (re_used): Renamed from used.
69549         (re_syntax): Renamed from syntax.
69550         (re_fastmap): Renamed from fastmap.
69551         (re_translate): Renamed from translate.
69552         (re_can_be_null): Renamed from can_be_null.
69553         (re_regs_allocated): Renamed from regs_allocated.
69554         (re_fastmap_accurate): Renamed from fastmap_accurate.
69555         (re_no_sub): Renamed from no_sub.
69556         (re_not_bol): Renamed from not_bol.
69557         (re_not_eol): Renamed from not_eol.
69558         (re_newline_anchor): Renamed from newline_anchor.
69559
69560         Change the following member names in struct re_registers.
69561         The old names are still supported if !_REGEX_SOURCE.
69562         The new names are always supported, regardless of _REGEX_SOURCE.
69563         (rm_num_regs): Renamed from num_regs.
69564         (rm_start): Renamed from start.
69565         (rm_end): Renamed from end.
69566
69567         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
69568         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
69569         Prepend __ to parameter names.
69570
69571         Undo yesterday's changes.
69572
69573 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
69574
69575         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
69576         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
69577         lib/regex.c.
69578
69579 2005-08-24  Jim Meyering  <jim@meyering.net>
69580
69581         Sync from coreutils.
69582         * m4/fcntl-safer.m4: New file.
69583
69584         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
69585         and object files for this module.
69586
69587 2005-08-24  Jim Meyering  <jim@meyering.net>
69588
69589         Sync from coreutils.
69590         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
69591
69592 2005-08-24  Jim Meyering  <jim@meyering.net>
69593
69594         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
69595         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
69596
69597 2005-08-24  Jim Meyering  <jim@meyering.net>
69598
69599         * modules/fcntl-safer: New module.
69600         * modules/fts (Depends-on): Add fcntl-safer.
69601         * MODULES.html.sh (File descriptor based Input/Output):
69602         Add fcntl-safer.
69603
69604 2005-08-24  Bruno Haible  <bruno@clisp.org>
69605
69606         Support for unit test modules.
69607         * modules/README: Mention tests modules.
69608         * modules/TEMPLATE-TESTS: New file.
69609         * gnulib-tool: New options --extract-tests-module, --with-tests and
69610         --tests-base (unused for the moment).
69611         (testsbase, inctests): New variables.
69612         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
69613         (func_verify_module): Exclude TEMPLATE-TESTS.
69614         (func_verify_nontests_module, func_verify_tests_module): New functions.
69615         (func_get_dependencies): Add implicit dependency for tests modules.
69616         (func_get_tests_module): New function.
69617         (func_modules_transitive_closure): When --with-tests was specified,
69618         include the unit tests as well, unless explicitly avoided.
69619         (func_emit_lib_Makefile_am): Ignore the tests modules here.
69620         (func_emit_tests_Makefile_am): New function.
69621         (func_create_testdir): When --with-tests was specified, emit a
69622         tests/ directory.
69623         * MODULES.html.sh (Future developments): Update.
69624
69625 2005-08-24  Bruno Haible  <bruno@clisp.org>
69626
69627         * modules/tls-tests: New file.
69628         * tests/test-tls.c: New file, from GNU gettext.
69629
69630 2005-08-24  Bruno Haible  <bruno@clisp.org>
69631
69632         * modules/lock-tests: New file.
69633         * tests/test-lock.c: New file, from GNU gettext.
69634
69635 2005-08-24  Bruno Haible  <bruno@clisp.org>
69636
69637         * lib/lock.h: Add multiple inclusion guard.
69638         * lib/tls.h: Add multiple inclusion guard.
69639
69640 2005-08-24  Bruno Haible  <bruno@clisp.org>
69641
69642         * gnulib-tool: Add support for the --aux-dir option to
69643         --create-testdir, --create-megatestdir, --test, --megatest.
69644         (func_create_testdir, func_create_megatestdir): Optionally emit a
69645         AC_CONFIG_AUX_DIR directive.
69646         (create-testdir, create-megatestdir, test, megatest): Provide a
69647         default value for $auxdir.
69648
69649 2005-08-24  Bruno Haible  <bruno@clisp.org>
69650
69651         * gnulib-tool (import): Use compound statement instead of subshell
69652         where possible.
69653
69654 2005-08-24  Bruno Haible  <bruno@clisp.org>
69655
69656         * gnulib-tool (import): Change --aux-dir default to "build-aux".
69657
69658 2005-08-24  Bruno Haible  <bruno@clisp.org>
69659
69660         * gnulib-tool (func_version): Update.
69661
69662 2005-08-24  Bruno Haible  <bruno@clisp.org>
69663
69664         * gnulib-tool (func_import, func_create_testdir,
69665         func_create_megatestdir): Quote all autoconf macro arguments.
69666
69667 2005-08-24  Bruno Haible  <bruno@clisp.org>
69668
69669         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
69670         option --force, because --force causes the aclocal.m4 of each
69671         subdirectory to be newer than the corresponding config.h.in.
69672
69673 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
69674
69675         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
69676         All contents moved to gl_REGEX.
69677         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
69678         assume that it does.
69679
69680 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
69681
69682         * lib/regex.h (REG_NOSYS)
69683         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
69684         Define, since POSIX requires it as of 2001.
69685         (_REG_ENOSYS)
69686         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
69687         New private symbol, used to keep the enum signed in all cases.
69688         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
69689         Youngman in
69690         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
69691
69692         * lib/regex_internal.c (re_string_skip_chars, register_state):
69693         (calc_state_hash):
69694         Remove forward decls; no longer needed now that we use prototypes.
69695         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
69696         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
69697         (clean_state_log_if_needed): Likewise.
69698
69699 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
69700
69701         * config/srclist.txt: Add glibc bugs 1231-1233.
69702
69703 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
69704
69705         Fix problems reported by Sam Steingold in
69706         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
69707         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
69708         assumed that reg_errcode_t is a signed type, which is not
69709         necessarily true if _XOPEN_SOURCE is not defined.
69710         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
69711         since some compilers warn about it otherwise.
69712
69713 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
69714
69715         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
69716         (init_word_char, create_initial_state, duplicate_node_closure):
69717         (fetch_token, peek_token_bracket, build_range_exp):
69718         (build_collating_symbol): Remove forward decls; no longer needed
69719         now that we use prototypes.
69720
69721         * lib/regcomp.c:
69722         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
69723         (re_compile_fastmap_iter, regcomp, regerror, regfree):
69724         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
69725         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
69726         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
69727         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
69728         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
69729         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
69730         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
69731         (build_range_exp, build_collating_symbol, parse_bracket_exp):
69732         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
69733         (build_charclass, build_charclass_op, fetch_number, create_tree):
69734         (create_token_tree, mark_opt_subexp, duplicate_tree):
69735         Use prototypes rather than old-style definitions.
69736
69737         * lib/regex_internal.c:
69738         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
69739         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
69740         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
69741         (re_string_reconstruct, re_string_peek_byte_case):
69742         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
69743         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
69744         (re_node_set_init_copy, re_node_set_add_intersect):
69745         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
69746         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
69747         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
69748         (re_acquire_state, re_acquire_state_context, register_state):
69749         (create_ci_newstate, create_cd_newstate, free_state):
69750         Likewise.
69751         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
69752         re_search_2):
69753         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
69754         (re_search_internal, prune_impossible_nodes):
69755         (acquire_init_state_context, check_matching, static):
69756         (check_halt_node_context, check_halt_state_context, proceed_next_node):
69757         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
69758         (update_regs, sift_states_backward, build_sifted_states):
69759         (clean_state_log_if_needed, merge_state_array):
69760         (update_cur_sifted_state, add_epsilon_src_nodes):
69761         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
69762         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
69763         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
69764         (find_recover_state, check_subexp_matching_top, transit_state_mb):
69765         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
69766         (check_arrival, check_arrival_add_next_nodes):
69767         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
69768         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
69769         (check_node_accept_bytes, check_node_accept, extend_buffers):
69770         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
69771         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
69772         (sift_ctx_init):
69773         Likewise.
69774
69775         * lib/regex_internal.h:
69776         (re_string_allocate, re_string_construct, re_string_reconstruct):
69777         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
69778         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
69779         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
69780         (re_string_context_at, re_string_peek_byte_case):
69781         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
69782         is defined, since we now use prototypes always.
69783
69784         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
69785         C89 or better.  All uses removed.
69786
69787 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
69788
69789         * config/srclist.txt: Add glibc bugs 1220-1227.
69790
69791 2005-08-20  Jim Meyering  <jim@meyering.net>
69792
69793         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
69794         of unused local, dfa.
69795
69796 2005-08-20  Bruno Haible  <bruno@clisp.org>
69797
69798         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
69799
69800 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
69801
69802         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
69803         (re_node_set_insert_last, re_dfa_add_node):
69804         Rename local variables to avoid GCC shadowing warnings.
69805
69806 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
69807
69808         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
69809         [defined lint]: Suppress bogus uninitialized-variable warnings.
69810
69811         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
69812         and let the caller return REG_ESPACE if out of space.  This
69813         removes an uninitialied-variable warning with GCC 4.0.1, and also
69814         avoids taking the address of a local variable.  All callers
69815         changed.
69816
69817 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
69818
69819         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
69820         $LIBCSRC/posix/regexec.c.
69821         Add glibc bug 1217 for regcomp.c.
69822
69823 2005-08-19  Jim Meyering  <jim@meyering.net>
69824
69825         * lib/regexec.c (proceed_next_node): Redo local variables to
69826         avoid GCC shadowing warnings.
69827
69828 2005-08-18  Bruno Haible  <bruno@clisp.org>
69829
69830         * lib/strstr.c (strstr): Fix return value in multibyte case.
69831         * lib/strcasestr.c (strcasestr): Likewise.
69832
69833 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
69834
69835         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
69836
69837 2005-08-17  Jim Meyering  <jim@meyering.net>
69838
69839         Make the %s format (seconds since the epoch) work for a negative
69840         number and when used with a zero-padded field width, e.g. %015s.
69841
69842         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
69843         label so that it precedes the code to set `digits'.  Otherwise,
69844         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
69845         print `00-22'.  Now, it prints `-0022', as it should.
69846
69847 2005-08-17  Bruno Haible  <bruno@clisp.org>
69848
69849         * modules/strstr (Files): Add m4/mbrtowc.m4.
69850         (Depends-on): Add mbuiter.
69851
69852 2005-08-17  Bruno Haible  <bruno@clisp.org>
69853
69854         * modules/strcasestr: New file.
69855         * MODULES.html.sh (String handling, based on ANSI C 89): Add
69856         strcasestr.
69857
69858 2005-08-17  Bruno Haible  <bruno@clisp.org>
69859
69860         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
69861
69862 2005-08-17  Bruno Haible  <bruno@clisp.org>
69863
69864         * modules/mbuiter: New file.
69865         * MODULES.html.sh (Extended multibyte and wide character utilities):
69866         Add mbuiter.
69867
69868 2005-08-17  Bruno Haible  <bruno@clisp.org>
69869
69870         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
69871         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
69872
69873 2005-08-17  Bruno Haible  <bruno@clisp.org>
69874
69875         * m4/strcasestr.m4: New file.
69876
69877 2005-08-17  Bruno Haible  <bruno@clisp.org>
69878
69879         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
69880         * lib/strstr.c: Completely rewritten, with multibyte locale support.
69881
69882 2005-08-17  Bruno Haible  <bruno@clisp.org>
69883
69884         * lib/strcasestr.h: New file.
69885         * lib/strcasestr.c: New file.
69886
69887 2005-08-17  Bruno Haible  <bruno@clisp.org>
69888
69889         * lib/strcasecmp.c: Use mbuiter.h.
69890
69891 2005-08-17  Bruno Haible  <bruno@clisp.org>
69892
69893         * lib/mbuiter.h: New file.
69894
69895 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
69896
69897         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
69898         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
69899         and gl_GETOPT are both invoked via different paths (as happens
69900         with GNU tar CVS because it uses both argp and getopt), the former
69901         wins.
69902
69903 2005-08-16  Bruno Haible  <bruno@clisp.org>
69904
69905         * modules/tls: New file.
69906         * MODULES.html.sh (Multithreading): Add tls.
69907
69908 2005-08-16  Bruno Haible  <bruno@clisp.org>
69909
69910         * modules/strnlen1: New file.
69911         * MODULES.html.sh (String handling): Add strnlen1.
69912
69913 2005-08-16  Bruno Haible  <bruno@clisp.org>
69914
69915         * modules/strcase (Files): Add m4/mbrtowc.m4.
69916         (Depends-on): Add strnlen1, mbchar.
69917
69918 2005-08-16  Bruno Haible  <bruno@clisp.org>
69919
69920         * modules/mbiter: New file.
69921         * MODULES.html.sh (Extended multibyte and wide character utilities):
69922         Add mbiter.
69923
69924 2005-08-16  Bruno Haible  <bruno@clisp.org>
69925
69926         * modules/mbfile: New file.
69927         * MODULES.html.sh (Extended multibyte and wide character utilities):
69928         Add mbfile.
69929
69930 2005-08-16  Bruno Haible  <bruno@clisp.org>
69931
69932         * modules/mbchar: New file.
69933         * MODULES.html.sh (Extended multibyte and wide character utilities):
69934         New section.
69935
69936 2005-08-16  Bruno Haible  <bruno@clisp.org>
69937
69938         * m4/tls.m4: New file, from GNU gettext.
69939
69940 2005-08-16  Bruno Haible  <bruno@clisp.org>
69941
69942         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
69943         always.
69944         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
69945
69946 2005-08-16  Bruno Haible  <bruno@clisp.org>
69947
69948         * m4/mbiter.m4: New file.
69949
69950 2005-08-16  Bruno Haible  <bruno@clisp.org>
69951
69952         * m4/mbfile.m4: New file.
69953
69954 2005-08-16  Bruno Haible  <bruno@clisp.org>
69955
69956         * m4/mbchar.m4: New file.
69957
69958 2005-08-16  Bruno Haible  <bruno@clisp.org>
69959
69960         * lib/tls.h: New file, from GNU gettext.
69961         * lib/tls.c: New file, from GNU gettext.
69962
69963 2005-08-16  Bruno Haible  <bruno@clisp.org>
69964
69965         * lib/strnlen1.h: New file.
69966         * lib/strnlen1.c: New file.
69967
69968 2005-08-16  Bruno Haible  <bruno@clisp.org>
69969
69970         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
69971         (mbi_init): Update.
69972         (mbi_avail, mbi_advance): Let the iteration end before the terminating
69973         NUL byte, not after it.
69974
69975 2005-08-16  Bruno Haible  <bruno@clisp.org>
69976
69977         * lib/strcase.h (strcasecmp): Add note in comments.
69978         * lib/strncasecmp.c: Use code from strcasecmp.c.
69979         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
69980         (strcasecmp): Work correctly in multibyte locales.
69981
69982 2005-08-16  Bruno Haible  <bruno@clisp.org>
69983
69984         * lib/mbiter.h: New file.
69985
69986 2005-08-16  Bruno Haible  <bruno@clisp.org>
69987
69988         * lib/mbfile.h: New file.
69989
69990 2005-08-16  Bruno Haible  <bruno@clisp.org>
69991
69992         * lib/mbchar.h: New file.
69993         * lib/mbchar.c: New file.
69994
69995 2005-08-16  Bruno Haible  <bruno@clisp.org>
69996
69997         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
69998         the valid ones. Makes the comparison operations transitive:
69999         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
70000         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
70001
70002 2005-08-15  Simon Josefsson  <jas@extundo.com>
70003
70004         * modules/ssize_t (License): Change to 'unlimited'.
70005
70006         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
70007
70008 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
70009
70010         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
70011         Add comments for each pending glibc patch.
70012
70013 2005-08-15  Bruno Haible  <bruno@clisp.org>
70014
70015         * lib/regex.h (__restrict_arr): Don't define to __restrict if
70016         __cplusplus is defined.
70017
70018 2005-08-14  Jim Meyering  <jim@meyering.net>
70019
70020         Sync from coreutils.
70021
70022         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
70023         Use the hash-table-based cycle-detection code not just when
70024         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
70025         Reported by James Youngman in
70026         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
70027         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
70028         FTS_TIGHT_CYCLE_CHECK.
70029         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
70030         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
70031         once again.
70032         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
70033         * lib/fts.c (fd_safer): Remove decl.
70034         Include fcntl--.h rather than unistd-safer.h
70035         (fts_safe_changedir): Don't call fd_safer; no longer needed
70036         now that we include fcntl--.h.
70037
70038 2005-08-12  Simon Josefsson  <jas@extundo.com>
70039
70040         * modules/getndelim2: Use ssize_t module.
70041         * modules/getnline: Likewise.
70042         * modules/safe-read: Likewise.
70043         * modules/xreadlink: Likewise.
70044
70045         * modules/ssize_t: New file.
70046
70047 2005-08-12  Simon Josefsson  <jas@extundo.com>
70048
70049         * m4/readline.m4: Look for termcap, curses or ncurses if required.
70050
70051 2005-08-12  Simon Josefsson  <jas@extundo.com>
70052
70053         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
70054         ssize_t.
70055
70056 2005-08-12  Simon Josefsson  <jas@extundo.com>
70057
70058         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
70059         readline, getdelim and check_version.
70060         (Support for systems lacking ISO C 99: Sizes of integer types):
70061         Add size_max.
70062
70063 2005-08-12  Bruno Haible  <bruno@clisp.org>
70064
70065         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
70066
70067 2005-08-11  Simon Josefsson  <jas@extundo.com>
70068
70069         * modules/readline: New file.
70070
70071         * modules/strnlen (Files): Add strnlen.h.
70072
70073 2005-08-11  Simon Josefsson  <jas@extundo.com>
70074
70075         * m4/readline.m4: New file.
70076
70077 2005-08-11  Simon Josefsson  <jas@extundo.com>
70078
70079         * lib/readline.h, readline.c: New file.
70080
70081 2005-08-11  Simon Josefsson  <jas@extundo.com>
70082
70083         * doc/gnulib.texi (Initial import, Finishing touches): Mention
70084         gl_AVOID.
70085
70086 2005-08-11  Bruno Haible  <bruno@clisp.org>
70087
70088         * lib/strnlen.h (strnlen): Change parameter name to match comment.
70089
70090 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
70091
70092         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
70093
70094 2005-08-10  Simon Josefsson  <jas@extundo.com>
70095
70096         * tests/test-iconvme.c: New file.
70097
70098 2005-08-10  Simon Josefsson  <jas@extundo.com>
70099
70100         * m4/strnlen.m4: New file.
70101
70102         * m4/strndup.m4: Don't check for strnlen declaration, done in
70103         strnlen.m4.
70104
70105 2005-08-10  Simon Josefsson  <jas@extundo.com>
70106
70107         * lib/strndup.c: Use strnlen.h.
70108
70109         * lib/strnlen.h: New file.
70110
70111 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
70112
70113         * README: Typos.
70114
70115 2005-08-02  Simon Josefsson  <jas@extundo.com>
70116
70117         * modules/readline: New file.
70118
70119 2005-08-02  Simon Josefsson  <jas@extundo.com>
70120
70121         * modules/getdelim: New file.
70122
70123         * modules/getline: Rewrite, don't use getndelim2.
70124
70125 2005-08-02  Simon Josefsson  <jas@extundo.com>
70126
70127         * m4/getline.m4: Separate out getdelim stuff into separate module.
70128
70129         * m4/getdelim.m4: New file.
70130
70131 2005-08-02  Simon Josefsson  <jas@extundo.com>
70132
70133         * lib/getline.h, getline.c: Rewrite.
70134
70135         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
70136
70137 2005-07-31  Bruno Haible  <bruno@clisp.org>
70138
70139         * lib/lock.h (gl_lock_initializer): New macro.
70140         (gl_lock_define_initialized): Use it.
70141         (gl_rwlock_initializer): New macro.
70142         (gl_rwlock_define_initialized): Use it.
70143         (gl_recursive_lock_initializer): New macro.
70144         (gl_recursive_lock_define_initialized): Use it.
70145
70146 2005-07-30  Karl Berry  <karl@gnu.org>
70147
70148         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
70149         Report from Ben Pfaff, regarding getopt.
70150
70151 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
70152
70153         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
70154         normal way.
70155         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
70156         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
70157         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
70158         (gl_GETOPT): Use the new macros.  Most of the implementation
70159         is moved to the new macros.  This is for programs like Emacs
70160         that don't want all the functionality of gl_GETOPT.
70161
70162 2005-07-26  Bruno Haible  <bruno@clisp.org>
70163
70164         * m4/lock.m4: Update from GNU gettext.
70165
70166 2005-07-26  Bruno Haible  <bruno@clisp.org>
70167
70168         * lib/lock.h: Update from GNU gettext.
70169         * lib/lock.c: Update from GNU gettext.
70170
70171 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
70172
70173         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
70174         obsolescent AC_TRY_RUN.  Include the default includes files, for
70175         'exit'.
70176
70177 2005-07-24  Bruno Haible  <bruno@clisp.org>
70178
70179         * modules/visibility: New file.
70180         * MODULES.html.sh (Misc): Add visibility.
70181
70182 2005-07-24  Bruno Haible  <bruno@clisp.org>
70183
70184         * m4/visibility.m4: New file.
70185
70186 2005-07-24  Bruno Haible  <bruno@clisp.org>
70187
70188         * doc/visibility.texi: New file.
70189
70190 2005-07-22  Bruno Haible  <bruno@clisp.org>
70191
70192         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
70193         $(ALLOCA_H), redundant through BUILT_SOURCES.
70194         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
70195         redundant through BUILT_SOURCES.
70196         * modules/byteswap (Makefile.am): Remove explicit dependency on
70197         $(BYTESWAP_H), redundant through BUILT_SOURCES.
70198         * modules/fnmatch (Makefile.am): Remove explicit dependency on
70199         $(FNMATCH_H), redundant through BUILT_SOURCES.
70200         * modules/getopt (Makefile.am): Remove explicit dependency on
70201         $(GETOPT_H), redundant through BUILT_SOURCES.
70202         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
70203         redundant through BUILT_SOURCES.
70204         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
70205         redundant through BUILT_SOURCES.
70206         * modules/stdbool (Makefile.am): Remove explicit dependency on
70207         $(STDBOOL_H), redundant through BUILT_SOURCES.
70208         * modules/stdint (Makefile.am): Remove explicit dependency on
70209         $(STDINT_H), redundant through BUILT_SOURCES.
70210         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
70211         Remove explicit dependency on $(SYSEXITS_H).
70212         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
70213
70214 2005-07-18  Simon Josefsson  <jas@extundo.com>
70215
70216         * lib/check-version.c (check_version): Accept identical versions too.
70217
70218 2005-07-18  Bruno Haible  <bruno@clisp.org>
70219
70220         * modules/lock: New file.
70221         * MODULES.html.sh (Multithreading): New section.
70222
70223 2005-07-18  Bruno Haible  <bruno@clisp.org>
70224
70225         * m4/lock.m4: New file, from GNU gettext.
70226
70227 2005-07-18  Bruno Haible  <bruno@clisp.org>
70228
70229         * lib/lock.h: New file, from GNU gettext.
70230         * lib/lock.c: New file, from GNU gettext.
70231
70232 2005-07-18  Bruno Haible  <bruno@clisp.org>
70233
70234         * lib/lock.h (gl_once_t): New type.
70235         (gl_once_define, gl_once): New macros.
70236         * lib/lock.c (fresh_once): New variable.
70237         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
70238         functions.
70239
70240 2005-07-16  Simon Josefsson  <jas@extundo.com>
70241
70242         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
70243         workaround, suggested by Bruno.
70244
70245 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
70246
70247         * modules/xalloc (Depends-on): Add xalloc-die.
70248         * modules/xvasprintf (Depends-on): Add xalloc-die.
70249
70250 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
70251
70252         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
70253         with a minor change.
70254
70255 2005-07-15  Bruno Haible  <bruno@clisp.org>
70256
70257         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
70258         When using lib/poll.c, define poll as rpl_poll.
70259
70260 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
70261
70262         * modules/argp (Depends-on): Remove unlocked-io.
70263
70264 2005-07-14  Derek Price  <derek@ximbiot.com>
70265
70266         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
70267         for glob symlink bug.
70268
70269 2005-07-14  Bruno Haible  <bruno@clisp.org>
70270
70271         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
70272         Instead, test for *_unlocked function declarations directly.
70273
70274 2005-07-11  Simon Josefsson  <jas@extundo.com>
70275
70276         * modules/size_max: New file.
70277
70278         * modules/xsize: Depend on size_max module for size_max.m4.
70279
70280 2005-07-11  Simon Josefsson  <jas@extundo.com>
70281
70282         * lib/size_max.h: New file.
70283
70284 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
70285
70286         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
70287         copyright symbol and the year.
70288         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
70289         (version_etc_va): Use parameterized copyright notice.
70290         Reword to conform to the current GNU coding standards.
70291
70292 2005-07-11  Karl Berry  <karl@gnu.org>
70293
70294         * doc/gnulib.texi (Quoting): new node.
70295         (Initial import): more info, from Patrice.
70296
70297 2005-07-11  Bruno Haible  <bruno@clisp.org>
70298
70299         * gnulib-tool (func_usage): Document option --avoid.
70300         (Command line options): Handle --avoid.
70301         (func_acceptable): New function.
70302         (func_modules_transitive_closure): Use it.
70303
70304 2005-07-11  Bruno Haible  <bruno@clisp.org>
70305
70306         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
70307         Reported by Jim Meyering.
70308
70309 2005-07-10  Bruno Haible  <bruno@clisp.org>
70310
70311         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
70312         Needed when size_t is smaller than 'unsigned int'.
70313         Reported by Paul Eggert.
70314
70315 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
70316
70317         * modules/argp (Depends-on): Add unlocked-io
70318
70319 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
70320
70321         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
70322         block of defines.
70323
70324 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
70325
70326         * config/srclist.txt: Comment out regcomp.c, since we have a porting
70327         fix now.
70328
70329 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
70330         and Paul Eggert  <eggert@cs.ucla.edu>
70331
70332         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
70333         in wint_t, not wchar_t.  Remove now-unnecessary cast.
70334
70335 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
70336
70337         * modules/regex (Files): Add lib/regex_internal.c,
70338         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
70339         (Depends-on): Add extensions.
70340         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
70341
70342 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
70343
70344         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
70345         pathconf.
70346         * m4/same.m4 (gl_SAME): Likewise.
70347         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
70348
70349         * m4/regex.m4: Adjust to new libc regex implementation.
70350         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
70351         all the .c and .h parts of (the new) regex.
70352         Quote the m4 stuff better.
70353         Check for RE_ICASE bug of old gnulib.
70354         Check for REG_STARTEND of recent libc.
70355         Rename local variables from jm_* to gl_*.
70356         Quote operand of "test -f".
70357         Say "recent enough" version of libc, not "version 2".
70358         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
70359         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
70360         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
70361         Remove check for btowc, isascii.
70362         Require AM_LANGINFO_CODESET.
70363
70364 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
70365
70366         * lib/regex.c, regex.h: Sync from libc.
70367         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
70368         * lib/regexec.c:
70369         New files, synced from libc, except that regex_internal.h
70370         currently has a small porting fix.
70371
70372 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
70373
70374         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
70375         regex_internal.c, regexec.c.
70376         Add regex_internal.h too, but as a comment, since the libc version
70377         is currently broken in gnulib mode.
70378
70379 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
70380
70381         Support programs like Emacs that use gnulib but not gettext.
70382         * MODULES.html.sh (Internationalization functions): Add gettext-h.
70383         * modules/gettext-h: New file.
70384         * modules/gettext (Files): Remove lib/gettext.h.
70385         (Depends-on): Add gettext-h.
70386         (Makefile.am): Remove lib_SOURCES.
70387         * modules/argmatch, modules/c-stack, modules/closeout:
70388         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
70389         * modules/execute, modules/file-type, modules/getaddrinfo:
70390         * modules/getopt, modules/human, modules/javacomp:
70391         * modules/javaexec, modules/mkdir-p, modules/obstack:
70392         * modules/openat, modules/pagealign_alloc, modules/pipe:
70393         * modules/quotearg, modules/regex, modules/rpmatch:
70394         * modules/unicodeio, modules/userspec, modules/version-etc:
70395         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
70396         * modules/xsetenv:
70397         Depend on gettext-h, not gettext.
70398
70399 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
70400
70401         * gnulib-tool (func_import): Add support for 'public domain' license.
70402         * modules/alloca, modules/atexit, modules/memmove:
70403         Now public domain, not GPL.
70404         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
70405         * modules/realloc, modules/strerror, modules/strtod:
70406         Now LGPL, not GPL.
70407
70408 2005-07-05  Bruno Haible  <bruno@clisp.org>
70409
70410         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
70411         autoconf CVS. Needed for mingw.
70412
70413 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
70414
70415         Remove the dependency of the strftime module on the tzset module.
70416         * modules/strftime (Depends-on): Remove dependency on tzset.
70417
70418 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
70419
70420         Remove the dependency of the strftime module on the tzset module.
70421         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
70422         gl_FUNC_TZSET_CLOBBER.
70423
70424 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
70425
70426         Remove the dependency of the strftime module on the tzset module.
70427         * lib/strftime.c (my_strftime)
70428         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
70429         Copy the input structure, to work around some of the bug with
70430         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
70431         Solaris releases, you should also use the tzset module, but we won't
70432         require it as a dependency any more since we don't want LGPLed code
70433         to depend on GPLed code.
70434
70435 2005-07-02  Jim Meyering  <jim@meyering.net>
70436
70437         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
70438         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
70439         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
70440         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
70441
70442 2005-07-02  Jim Meyering  <jim@meyering.net>
70443
70444         * lib/backupfile.c (backup_args): Change a `0' to NULL.
70445
70446 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
70447
70448         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
70449         declares only 'struct timespec;' (!).
70450
70451 2005-07-01  Jim Meyering  <jim@meyering.net>
70452
70453         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
70454         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
70455         * lib/save-cwd.c, tempname.c:
70456         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
70457         and don't include <sys/file.h>).
70458
70459 2005-06-29  Jim Meyering  <jim@meyering.net>
70460
70461         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
70462         type name.  Use the variable name instead.
70463         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
70464         Likewise.
70465
70466 2005-06-28  Simon Josefsson  <jas@extundo.com>
70467
70468         * modules/check-version (Files): Add check-version.m4.
70469
70470 2005-06-28  Simon Josefsson  <jas@extundo.com>
70471
70472         * m4/check-version.m4: New file, suggested by Jim Meyering
70473         <jim@meyering.net>.
70474
70475 2005-06-28  Simon Josefsson  <jas@extundo.com>
70476
70477         * lib/check-version.h, lib/check-version.c: New files.
70478
70479 2005-06-28  Simon Josefsson  <jas@extundo.com>
70480
70481         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
70482         collision with global variable.  Better indentation.  Don't
70483         increment buffer pointer beyond buffer end.  Based on comments
70484         from Paul Eggert <eggert@cs.ucla.edu>.
70485
70486         * lib/base64.h: Indent.
70487
70488 2005-06-28  Simon Josefsson  <jas@extundo.com>
70489
70490         * doc/gnulib.texi (Library version handling): New section.
70491
70492 2005-06-28  Jim Meyering  <jim@meyering.net>
70493
70494         * check-module (find_included_lib_files): Hard-code another
70495         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
70496         but modules/fts-lgpl (correctly) does not list those files.
70497
70498         * modules/canonicalize (Files): Add lib/pathmax.h.
70499
70500 2005-06-25  Simon Josefsson  <jas@extundo.com>
70501
70502         * modules/check-version: New file.
70503
70504 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
70505
70506         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
70507         initializer of struct addrinfo, as an indication that we don't
70508         care how many members the structure has.
70509
70510 2005-06-24  Derek Price  <derek@ximbiot.com>
70511         and Bruno Haible  <bruno@clisp.org>
70512
70513         Remove stat module & update lstat.
70514         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
70515         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
70516         * m4/stat.m4: Remove this file.
70517
70518 2005-06-24  Derek Price  <derek@ximbiot.com>
70519         and Bruno Haible  <bruno@clisp.org>
70520
70521         Remove stat module & update lstat.
70522         * lib/stat.c: Remove this file...
70523         (slash_aware_lstat): ...moving this content and its support...
70524         * lib/lstat.c (rpl_lstat): ...into here.
70525         * lib/lstat.h: New file.
70526
70527 2005-06-24  Derek Price  <derek@ximbiot.com>
70528         and Bruno Haible  <bruno@clisp.org>
70529
70530         Remove stat module & update lstat.
70531         * config/srclist.txt (libc sources): Remove stat.
70532
70533 2005-06-24  Derek Price  <derek@ximbiot.com>
70534         and Bruno Haible  <bruno@clisp.org>
70535
70536         Remove stat module & update lstat.
70537         * MODULES.html.sh (stat): Remove.
70538         * MODULES.html: Regenerated.
70539         * modules/lstat (Description): Correct function name.
70540         (Files): Add "lstat.h".
70541         (Depends-on): Remove stat, add xalloc, stat-macros.
70542         * modules/stat: Remove this file.
70543         (Include): Add "lstat.h", remove <sys/stat.h>.
70544
70545 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
70546
70547         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
70548         (ranged_convert): Don't save conversion in a temporary struct.
70549         This causes a warning with GCC 4.0.0, and anyway in the typical
70550         case it's not worth the extra 100 bytes or so of code.
70551         (ranged_convert, __mktime_internal): When calling a function via a
70552         pointer P, use P () rather than (*P) (), as we now assume C89 or
70553         better.
70554
70555 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
70556
70557         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
70558         "who -r" failed to give output.  Problem reported by Tim Waugh.
70559
70560         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
70561         (xcalloc): Use it to avoid needless tests.
70562         Problem reported by Jim Meyering.
70563
70564 2005-06-20  Derek Price  <derek@ximbiot.com>
70565
70566         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
70567         unnecessary for Autoconfs > 2.59c.
70568
70569 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
70570
70571         * lib/argp.h (__option_is_short): Check upper limit of
70572         __key. Isprint() requires its argument to have the value
70573         of an unsigned char or EOF.
70574
70575 2005-06-16  Jim Meyering  <jim@meyering.net>
70576
70577         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
70578         when either N or S is zero.
70579
70580 2005-06-16  Derek Price  <derek@ximbiot.com>
70581
70582         * m4/bison.m4: Declare YACC & YFLAGS precious.
70583
70584 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
70585
70586         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
70587         multibyte string or pattern, fall back on unibyte matching.
70588         Problem reported by James Youngman.
70589
70590 2005-06-08  Bruno Haible  <bruno@clisp.org>
70591
70592         * modules/csharpcomp: New file.
70593         * MODULES.html.sh (C#): Add csharpcomp.
70594
70595 2005-06-08  Bruno Haible  <bruno@clisp.org>
70596
70597         * m4/csharpcomp.m4: New file, from GNU gettext.
70598
70599 2005-06-08  Bruno Haible  <bruno@clisp.org>
70600
70601         * lib/csharpcomp.h: New file, from GNU gettext.
70602         * lib/csharpcomp.c: New file, from GNU gettext.
70603         * lib/csharpcomp.sh.in: New file, from GNU gettext.
70604
70605 2005-06-08  Bruno Haible  <bruno@clisp.org>
70606
70607         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
70608         warning on mingw.
70609
70610 2005-06-07  Derek Price  <derek@ximbiot.com>
70611
70612         Sync from CVS.
70613         * lib/glob_.h: Indent nested #ifdef.
70614
70615 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
70616
70617         Sync from coreutils.
70618         Use "file name" when talking about file names, instead of "filename"
70619         or "path", as per the GNU coding standards.
70620         * lib/mkdir-p.c: Renamed from makepath.c.
70621         (make_dir_parents): Renamed from make_path.  All callers changed.
70622         * lib/mkdir-p.h: Likewise.  All includers changed.
70623         * lib/filenamecat.c: Renamed from path-concat.c.
70624         (file_name_concat): Renamed from path_concat.  All callers changed.
70625         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
70626         * lib/filenamecat.h: Likewise.  All includers changed.
70627         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
70628         in comments or local variable names.
70629         * lib/basename.c: Likewise.
70630         * lib/canonicalize.c, canonicalize.h: Likewise.
70631         * lib/dirname.c, dirname.h: Likewise.
70632         * lib/euidaccess.c: Likewise.
70633         * lib/exclude.c: Likewise
70634         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
70635         * lib/fsusage.c, fsuage.h: Likewise.
70636         * lib/fts.c, fts_.h: Likewise.
70637         * lib/getcwd.c: Likewise.
70638         * lib/getloadavg.c: Likewise.
70639         * lib/mkstemp.c: Likewise.
70640         * lib/mountlist.c, mountlist.h: Likewise.
70641         * lib/openat.c, openat.h: Likewise.
70642         * lib/readlink-stub.c: Likewise.
70643         * lib/readutmp.c, readutmp.h: Likewise.
70644         * lib/rename.c: Likewise.
70645         * lib/rmdir.c: Likewise.
70646         * lib/same.c: Likewise.
70647         * lib/savedir.c: Likewise.
70648         * lib/stripslash.c: Likewise.
70649         * lib/tempname.c: Likewise.
70650         * lib/xreadlink.c: Likewise.
70651         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
70652         All uses changed.
70653         * lib/exclude.h: Likewise.
70654
70655         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
70656         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
70657         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
70658         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
70659         * lib/pathmax.h: Include <limits.h> unconditionally, since other
70660         files have been getting away with it for years (MORE/BSD 4.3
70661         is extinct now).
70662         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
70663         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
70664
70665         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
70666         Define to 256, not 255, as per modern POSIX.
70667
70668 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
70669
70670         Sync from coreutils.
70671         Use "file name" when talking about file names, instead of "filename"
70672         or "path", as per the GNU coding standards.
70673         * MODULES.html.sh: mkdir-p renamed from makepath.
70674         filenamecat renamed from path-concat.
70675         * modules/filenamecat: Renamed from modules/path-concat.
70676         (Files): filenamecat.h and filenamecat.c renamed from
70677         path-concat.h and path-concat.c.
70678         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
70679         (Include): filenamecat.h, not path-concat.h.
70680         * modules/mkdir-p: Renamed from modules/makepath.
70681         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
70682         makepath.c.
70683         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
70684         (Include): mkdir-p.h, not makepath.h.
70685
70686 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
70687
70688         Sync from coreutils.
70689         * m4/mkdir-p.m4: Renamed from makepath.m4.
70690         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
70691         Rename files from makepath.c to mkdir-p.c, and from
70692         makepath.h to mkdir-p.h.
70693         * m4/filenamecat.m4: Renamed from path-concat.m4.
70694         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
70695         Rename files from path-concat.c to filenamecat.c,
70696         and from path-concat.h to filenamecat.h.
70697         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
70698         "file name" in local variables or comments.
70699         * m4/rename.m4: Likewise.
70700
70701 2005-06-01  Bruno Haible  <bruno@clisp.org>
70702
70703         * modules/csharpexec: New file.
70704         * MODULES.html.sh (C#): New section.
70705
70706 2005-06-01  Bruno Haible  <bruno@clisp.org>
70707
70708         * m4/csharp.m4: New file, from GNU gettext.
70709         * m4/csharpexec.m4: New file, from GNU gettext.
70710
70711 2005-06-01  Bruno Haible  <bruno@clisp.org>
70712
70713         * lib/csharpexec.h: New file, from GNU gettext.
70714         * lib/csharpexec.c: New file, from GNU gettext.
70715         * lib/csharpexec.sh.in: New file, from GNU gettext.
70716
70717 2005-05-31  Derek Price  <derek@ximbiot.com>
70718             Paul Eggert  <eggert@cs.ucla.edu>
70719
70720         Sync from cvs.
70721         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
70722
70723 2005-05-31  Derek Price  <derek@ximbiot.com>
70724             Paul Eggert  <eggert@cs.ucla.edu>
70725
70726         Sync from cvs.
70727         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
70728
70729 2005-05-29  Derek Price  <derek@ximbiot.com>
70730
70731         * config/srclist.txt (glob_.h, glob.c): Add these files.
70732
70733 2005-05-29  Derek Price  <derek@ximbiot.com>
70734
70735         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
70736         * modules/glob: New file.
70737         * modules/getlogin_r: Add link to POSIX spec in description.
70738
70739 2005-05-29  Derek Price  <derek@ximbiot.com>
70740             Paul Eggert  <eggert@cs.ucla.edu>
70741
70742         * m4/glob.m4: New file.
70743
70744 2005-05-29  Derek Price  <derek@ximbiot.com>
70745             Paul Eggert  <eggert@cs.ucla.edu>
70746
70747         * lib/glob_.h, lib/glob.c: New files.
70748
70749 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
70750
70751         * modules/fts (Files): Remove m4/inttypes-pri.m4.
70752         * modules/fts-lgpl (Depends-on): Remove gettext.
70753
70754 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
70755
70756         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
70757         and don't require gt_INTTYPES_PRI.
70758
70759 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
70760
70761         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
70762
70763         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
70764         the configuration hassle isn't worth it.
70765         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
70766         (LONGEST_MODIFIER, PRIuMAX): Remove.
70767
70768 2005-05-27  Bruno Haible  <bruno@clisp.org>
70769
70770         * lib/getlogin_r.h: Remove second include of <stddef.h>.
70771
70772 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
70773
70774         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
70775         _POSIX_PTHREAD_SEMANTICS for Solaris.
70776
70777 2005-05-25  Derek Price  <derek@ximbiot.com>
70778
70779         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
70780
70781 2005-05-25  Derek Price  <derek@ximbiot.com>
70782             Paul Eggert  <eggert@cs.ucla.edu>
70783
70784         * modules/getlogin_r, m4/getlogin_r.m4: New files.
70785         * lib/getlogin_r.c, getlogin_r.h: New files.
70786
70787 2005-05-25  Bruno Haible  <bruno@clisp.org>
70788             Derek Price  <derek@ximbiot.com>
70789
70790         * lib/getlogin_r.h: Simplify API documentation.
70791
70792 2005-05-23  Derek Price  <derek@ximbiot.com>
70793
70794         * modules/minmax (Files): Add m4/minmax.m4.
70795         (configure.ac): Add gl_MINMAX.
70796
70797 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
70798
70799         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
70800         so that unistd-safer.h (GPL'ed code) need not be included.
70801
70802 2005-05-22  Bruno Haible  <bruno@clisp.org>
70803
70804         * m4/minmax.m4: New file.
70805         Based on a patch by Derek Price <derek@ximbiot.com>.
70806
70807 2005-05-22  Bruno Haible  <bruno@clisp.org>
70808
70809         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
70810         (INT64_MIN): Fix definition.
70811         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
70812
70813         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
70814         NEED_SIGNED_INT_TYPES.
70815
70816         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
70817         HAVE_SYSTEM_INTTYPES.
70818
70819 2005-05-22  Bruno Haible  <bruno@clisp.org>
70820
70821         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
70822         Also include <sys/param.h> if it defines MIN, MAX.
70823         Based on a patch by Derek Price <derek@ximbiot.com>.
70824
70825 2005-05-21  Jim Meyering  <jim@meyering.net>
70826
70827         * modules/fts (Files): Add m4/inttypes-pri.m4.
70828         (Depends-on): Add lstat and remove gettext.  Alphabetize.
70829
70830 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
70831
70832         New fts module.
70833         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
70834         (setup_dir, free_dir): New functions.
70835         (enter_dir, leave_dir): Define trivial
70836         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
70837         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
70838         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
70839         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
70840         Move to fts-cycle.c.
70841         (fts_open): Use setup_dir.
70842         (fts_close): Use free_dir.
70843         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
70844         This adds a label and some gotos, but the alternatives were messier.
70845         Check for memory allocation failure when entering a dir.
70846         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
70847         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
70848         (FTS): New member fts_cycle, that is a union that contains the
70849         old active_dir_ht and cycle_state.  All uses changed to mention
70850         fts_cycle.ht and fts_cycle.state.
70851         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
70852         fts.c, with the following changes:
70853         (setup_dir, free_dir): New functions.
70854         (enter_dir): Now returns bool.  Return true if successful, false
70855         if memory exhausted.  All callers changed.
70856         Do not bother partly cleaning up on
70857         memory allocation failure; that is free_dir's job.
70858         However, free ad if hash_insert fails, to avoid memory leak.
70859         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
70860         fts->fts_options to see which union member to use.
70861
70862 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
70863
70864         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
70865         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
70866
70867 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
70868
70869         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
70870
70871 2005-05-20  Jim Meyering  <jim@meyering.net>
70872
70873         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
70874         Now a macro, to pacify GCC.
70875
70876 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
70877
70878         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
70879         of -1.
70880
70881 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
70882
70883         * lib/chown.c (rpl_chown): Return -1 on failure.
70884
70885 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
70886
70887         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
70888         Don't check for stddef.h.
70889         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
70890         don't use its results.
70891         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
70892         since we include them unconditionally.  Don't require
70893         AM_STDBOOL_H, since stdbool is a prerequisite.
70894         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
70895         since we assume C89 or better.
70896         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
70897         as we don't use their results.
70898         Don't check for fchdir, memmove, memset, strrchr, as we use
70899         them unconditionally.
70900         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
70901         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
70902
70903 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
70904
70905         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
70906         Include <stddef.h> unconditionally, since we assume C89 now.
70907         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
70908         * lib/fts.c: Include fts_.h first, to check interface.
70909         Do not include intprops.h; no longer needed.
70910         Include cycle-check.h and hash.h, since fts_.h no longer does.
70911         Remove unnecessary casts of closedir to void.
70912         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
70913         decide whether to decrement nlinks.
70914         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
70915         (FTS): Use struct hash_table * instead of Hash_table, so that
70916         we no longer need to include hash.h here.
70917
70918 2005-05-18  Jim Meyering  <jim@meyering.net>
70919
70920         * modules/dirfd (License): Change to LGPL.  Most of the code
70921         is already in the public domain.
70922
70923 2005-05-18  Jim Meyering  <jim@meyering.net>
70924
70925         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
70926         Reported by Yoann Vandoorselaere.
70927
70928 2005-05-17  Jim Meyering  <jim@meyering.net>
70929
70930         * m4/fts.m4: New file, from coreutils.
70931
70932 2005-05-17  Jim Meyering  <jim@meyering.net>
70933
70934         * lib/fts.c, lib/fts_.h: New files, from coreutils.
70935
70936 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
70937
70938         Sync from coreutils.
70939         * m4/unlinkdir.m4: New file.
70940
70941 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
70942
70943         Sync from coreutils.
70944         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
70945         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
70946         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
70947         White space changes only.
70948         * lib/makepath.c (make_path): Port to hosts where leading "//" is
70949         special.
70950         * lib/yesno.c: Include getline.h, not ctype.h.
70951         (yesno): Don't remove leading white space; POSIX doesn't allow it.
70952         Use getline to remove arbitrary restriction on response length.
70953
70954 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
70955
70956         * config/srclist-update: Spell out "Street" in FSF postal
70957         mail address; this is the style the FSF seems to prefer.
70958
70959         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
70960         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
70961         this updates FSF postal mail address.
70962
70963         Sync from coreutils.
70964         * modules/unlinkdir: New file.
70965         * modules/yesno (Depends-on): Add getline.
70966         * MODULES.html.sh (File system functions): Add unlinkdir.
70967
70968 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
70969
70970         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
70971         lib/strsep.h:
70972         Change the initial comment to refer to GPL, not LGPL.
70973         gnulib-tool will change it to LGPL as needed.
70974
70975         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
70976         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
70977         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
70978         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
70979         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
70980         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
70981         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
70982         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
70983         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
70984         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
70985         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
70986         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
70987         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
70988         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
70989         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
70990         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
70991         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
70992         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
70993         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
70994         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
70995         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
70996         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
70997         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
70998         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
70999         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
71000         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
71001         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
71002         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
71003         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
71004         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
71005         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
71006         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
71007         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
71008         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
71009         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
71010         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
71011         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
71012         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
71013         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
71014         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
71015         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
71016         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
71017         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
71018         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
71019         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
71020         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
71021         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
71022         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
71023         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
71024         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
71025         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
71026         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
71027         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
71028         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
71029         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
71030         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
71031         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
71032         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
71033         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
71034         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
71035         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
71036         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
71037         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
71038         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
71039         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
71040         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
71041         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
71042         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
71043         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
71044         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
71045         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
71046         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
71047         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
71048         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
71049         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
71050         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
71051         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
71052         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
71053         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
71054         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
71055         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
71056         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
71057         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
71058         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
71059         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
71060         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
71061         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
71062         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
71063         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
71064         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
71065         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
71066         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
71067         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
71068         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
71069         lib/yesno.c, lib/yesno.h:
71070         Update FSF postal mail address.
71071
71072 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
71073
71074         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
71075         tests/test-memmem.c, tests/test-stpncpy.c:
71076         Update FSF postal mail address.
71077
71078 2005-05-13  Bruno Haible  <bruno@clisp.org>
71079
71080         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
71081         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
71082         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
71083         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
71084         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
71085         Add support for 64-bit integers in the MSVC compiler.
71086
71087 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
71088
71089         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
71090
71091 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
71092
71093         * gnulib-tool (func_import): Sort and uniquify recommended includes.
71094
71095 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
71096
71097         * doc/getdate.texi (General date syntax): Don't say that date
71098         date --iso-8601=ns generates acceptable dates; it doesn't yet.
71099         Problem reported by Nic Ferrier.
71100
71101 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
71102
71103         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
71104         specified in ai_socktype. Fix invalid ai_protocol
71105         check. ai_protocol is usually set to 0 or depending on
71106         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
71107         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
71108         ai_socktype / ai_protocol in the returned addrinfo structure.
71109
71110 2005-05-10  Simon Josefsson  <jas@extundo.com>
71111
71112         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
71113         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
71114
71115 2005-05-10  Karl Berry  <karl@gnu.org>
71116
71117         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
71118         (from http://www.gnu.org/licenses).
71119         * doc/COPYING.LIB: also rename to COPYING.LESSER.
71120         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
71121         fdl.texi suffices.
71122
71123 2005-05-10  Karl Berry  <karl@gnu.org>
71124
71125         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
71126         (COPYING.DOC): remove.
71127
71128         * config/srclist-update: new FSF address.
71129
71130 2005-05-10  Derek Price  <derek@ximbiot.com>
71131
71132         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
71133         possible.
71134
71135 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
71136             Bruno Haible  <bruno@clisp.org>
71137
71138         * modules/inet_ntop: New file.
71139         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
71140         inet_ntop.
71141
71142 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
71143             Bruno Haible  <bruno@clisp.org>
71144
71145         * m4/inet_ntop.m4: New file.
71146
71147 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
71148             Bruno Haible  <bruno@clisp.org>
71149
71150         * lib/inet_ntop.h: New file.
71151         * lib/inet_ntop.c: New file, from glibc with modifications.
71152
71153 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
71154
71155         * modules/time_r (License): Change to LGPL.
71156         * modules/extensions (License): Change to LGPL.  Actually,
71157         the license is more permissive than that, but currently gnulib-tool
71158         doesn't know how to handle more-permissive licenses.
71159
71160         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
71161         Problem reported by Dave Love.
71162
71163 2005-05-08  Jim Meyering  <jim@meyering.net>
71164
71165         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
71166         blank.
71167
71168 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
71169
71170         * modules/argmatch (Depends-on): Add stdbool.
71171         * modules/backupfile (Depends-on): Likewise.
71172         * modules/chdir-long (Depends-on): Likewise.
71173         * modules/closeout (Depends-on): Likewise.
71174         * modules/cycle-check (Depends-on): Likewise.
71175         * modules/dirname (Depends-on): Likewise.
71176         * modules/fnmatch (Depends-on): Likewise.
71177         * modules/fsusage (Depends-on): Likewise.
71178         * modules/fwriteerror (Depends-on): Likewise.
71179         * modules/getcwd (Depends-on): Likewise.
71180         * modules/getloadavg (Depends-on): Likewise.
71181         * modules/hard-locale (Depends-on): Likewise.
71182         * modules/makepath (Depends-on): Likewise.
71183         * modules/mountlist (Depends-on): Likewise.
71184         * modules/nanosleep (Depends-on): Likewise.
71185         * modules/posixtm (Depends-on): Likewise.
71186         * modules/quotearg (Depends-on): Likewise.
71187         * modules/readtokens (Depends-on): Likewise.
71188         * modules/readtokens0 (Depends-on): Likewise.
71189         * modules/readutmp (Depends-on): Likewise.
71190         * modules/save-cwd (Depends-on): Likewise.
71191         * modules/strftime (Depends-on): Likewise.
71192         * modules/userspec (Depends-on): Likewise.
71193         * modules/utimecmp (Depends-on): Likewise.
71194         * modules/xgetcwd (Depends-on): Likewise.
71195         * modules/xnanosleep (Depends-on): Likewise.
71196         * modules/xstrtod (Depends-on): Likewise.
71197         * modules/yesno (Depends-on): Likewise.
71198
71199 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
71200
71201         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
71202         needless checks.
71203
71204 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
71205
71206         Merge from coreutils.  Among other things,
71207         add bulletproofing for cases where stdin, stdout, or stderr are closed.
71208         * lib/fd-safer.c: New file.
71209         * lib/fcntl-safer.h, open-safer.c: Remove.
71210         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
71211         * lib/dup-safer.c: Include unistd-safer.h first.
71212         Don't include errno.h.
71213         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
71214         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
71215         * lib/file-type.c: Rely on file-type.h change.
71216         * lib/getloadavg.c: Include unistd-safer.h.
71217         (getloadavg): Use safer open.
71218         * lib/getusershell.c: Include "stdio-safer.h".
71219         (getusershell): Use safer fopen.
71220         * lib/long-options.c (long_options): Use NULL rather than 0.
71221         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
71222         'free'.
71223         * lib/modechange.c: Likewise.
71224         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
71225         (MODE_DONE): New constant.
71226         (struct mode_change): Remove 'next' member.
71227         (make_node_op_equals): New function; like the old one of the
71228         same name, except it allocates an array.
71229         (mode_compile, mode_create_from_ref): Use it.
71230         (mode_compile): Allocate result as an array, not a linked list.
71231         Parse octal string ourself, so that we catch mistakes like "+0".
71232         (mode_adjust): Arg is an array, not a linked list.
71233         * lib/modechange.c: Include stat-macros.h, xalloc.h.
71234         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
71235         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
71236         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
71237         Remove.  This is now stat-macros.h's job.
71238         (talloc): Remove.  All callers replaced by xalloc, so that
71239         our invokers don't have to worry about reporting memory failures.
71240         (make_node_op_equals): Remove.
71241         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
71242         New constants.
71243         (struct mode_change): Moved here from modechange.h.
71244         (mode_append_entry): Remove.
71245         (mode_compile): Remove MASKED_OPS arg, since it encouraged
71246         apps to have incorrect behavior.  Use simpler algorithm for head
71247         and tail.  Don't futz with umask; that's now the job of mode_adjust.
71248         Detect more invalid usages rather than having somewhat-random behavior.
71249         Don't insert an "a=" action, as that leads to incorrect behavior.
71250         (mode_compile, mode_create_from_ref): Return NULL on error instead
71251         of an enum, since now there's only one way to have an error.  All
71252         callers changed.
71253         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
71254         at the correct time.  Simplify calculation of "+u" and its ilk.
71255         Don't mishandle "+X".
71256         (mode_free): Remove "register" and localize decls.
71257         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
71258         (struct mode_change): Move to modechange.c; callers don't
71259         need to see this stuff.
71260         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
71261         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
71262         (mode_change, mode_adjust): Reflect the new signatures noted above.
71263         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
71264         that might redefine system include files.
71265         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
71266         (my_usleep): Use NULL rather than (void *) 0.
71267         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
71268         Use siginterrupt to specify that system calls should be interrupted.
71269         (rpl_nanosleep): Move initialization of suspended closer to call of
71270         my_usleep.
71271         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
71272         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
71273         (desirable_utmp_entry): New function.
71274         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
71275         using x2nrealloc, to simplify logic.
71276         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
71277         size calculation.  Do not assume utmp file is a regular file.
71278         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
71279         (READ_UTMP_CHECK_PIDS): New constant.
71280         * lib/save-cwd.c: Include unistd-safer.h.
71281         (save_cwd): Use fd_safer.
71282         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
71283         [!_LIBC] Include "stat-macros.h" instead.
71284         * lib/unistd-safer.h (fd_safer): New decl.
71285
71286 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
71287
71288         * modules/getloadavg (Depends-on): Add unistd-safer.
71289         * modules/getusershell (Depends-on): Add stdio-safer.
71290         * modules/lstat (Depends-on): Remove xalloc.
71291         * modules/mkstemp (Depends-on): Add stat-macros.
71292         * modules/modechange (Depends-on): Remove xstrtol.
71293         Add stat-macros, xalloc.
71294         * modules/save-cwd (Depends-on): Add unistd-safer.
71295         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
71296         * modules/unistd-safer (Files): Add lib/fd-safer.c
71297         (Makefile.am): Remove lib_SOURCES.
71298
71299         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
71300         Remove fcntl-safer; unistd-safer supersedes it.
71301
71302 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
71303
71304         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
71305         AC_HEADER_STAT.
71306         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
71307         (gl_PREREQ_CHOWN): Remove.
71308         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
71309         it.  Don't require AC_HEADER_STAT.
71310         (gl_PREREQ_LSTAT): Remove.
71311         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
71312         Don't require AC_HEADER_STAT.
71313         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
71314         (gl_PREREQ_RMDIR): Remove.
71315         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
71316         mention stat-macros.h or AC_HEADER_STAT, since we'll make
71317         the stat-macros module a prerequisite.
71318         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
71319         * m4/filemode.m4 (gl_FILEMODE): Likewise.
71320         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
71321         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
71322         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
71323         variable names.
71324         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
71325         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
71326         variable prefixes.
71327         * m4/fcntl-safer.m4: Remove.
71328         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
71329         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
71330         Invoke gl_PREREQ_FD_SAFER.
71331         (gl_PREREQ_FD_SAFER): New macro.
71332         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
71333         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
71334         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
71335         Remove duplicate call to AC_LIBOBJ(readutmp).
71336         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
71337
71338         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
71339         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
71340
71341 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
71342
71343         * MODULES.html.sh (Misc): Add byteswap.
71344
71345 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
71346
71347         * modules/getcwd (Depends-on): Add extensions.
71348         * modules/openat (Depends-on): Likewise.
71349
71350 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
71351
71352         * modules/byteswap: New file.
71353
71354 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
71355
71356         * m4/byteswap.m4: New file.
71357
71358 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
71359
71360         * lib/byteswap_.h: New file.
71361
71362 2005-04-25  Karl Berry  <karl@gnu.org>
71363
71364         * m4/gettext.m4: Update from GNU gettext 0.14.4.
71365
71366 2005-04-25  Albert Chin  <china@thewrittenword.com>
71367
71368         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
71369         Toolkit C bug.
71370
71371 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
71372
71373         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
71374         (func_ln_if_changed): Remove forcibly for no error message
71375         in case file does not exist.
71376
71377 2005-04-19  Simon Josefsson  <jas@extundo.com>
71378
71379         * gnulib-tool (Options): Make --symlink mean --symbolic.
71380
71381 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
71382
71383         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
71384
71385 2005-04-16  Simon Josefsson  <jas@extundo.com>
71386
71387         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
71388
71389 2005-04-15  Simon Josefsson  <jas@extundo.com>
71390
71391         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
71392
71393 2005-04-15  Simon Josefsson  <jas@extundo.com>
71394
71395         * gnulib-tool: Rename --symlink to --symbolic.
71396
71397 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
71398
71399         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
71400         symbolic links to files instead of copying/moving.  Add --aux-dir,
71401         specifying directory relative --dir where auxiliary build tools
71402         are placed.
71403
71404 2005-04-14  Bruno Haible  <bruno@clisp.org>
71405
71406         * modules/allocsa (License): Change to LGPL.
71407         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
71408
71409 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
71410
71411         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
71412         that "UTC +1 second" continues to work.  Problem reported
71413         by Dmitry V. Levin.
71414         (relunit_snumber): New rule.
71415         (relunit): Use it.
71416
71417 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
71418
71419         * lib/getdate.y (universal_time_zone_table): New constant.
71420         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
71421         universal_time_zone_table.
71422         (lookup_zone): Prefer universal_time_zone_table to
71423         local_time_zone_table, so that "GMT" time stamps are allowed in
71424         London during the summer.  Problem reported by Ian Abbott.
71425
71426 2005-04-12  Jim Meyering  <jim@meyering.net>
71427
71428         * lib/human.c (humblock): Set *options even when returning due to
71429         xstrtoumax conversion failure.  Thanks to a used-uninitialized
71430         warning from gcc-4.
71431
71432 2005-04-09  Jim Meyering  <jim@meyering.net>
71433
71434         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
71435         -Wuninitialized: initialize tm0.tm_year.
71436
71437 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
71438
71439         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
71440         count, since there's no maximum.  All uses changed.
71441         Add member dsts_seen.
71442         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
71443         not being INT_MAX.
71444         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
71445         Use pc_rels_seen to decide whther a date is absolute.
71446
71447         * lib/getdate.y (number): Don't overwrite year.
71448         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
71449         check.
71450
71451 2005-04-02  Simon Josefsson  <jas@extundo.com>
71452
71453         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
71454         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
71455
71456 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
71457
71458         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
71459         where no absolute path name can be longer than PATH_MAX.
71460
71461 2005-03-27  Jim Meyering  <jim@meyering.net>
71462
71463         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
71464
71465 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
71466
71467         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
71468         "one's complement" -> "ones' complement" in comment, as per Knuth.
71469         "value of type" -> "type or expression" in comment.
71470         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
71471
71472 2005-03-26  Jim Meyering  <jim@meyering.net>
71473
71474         Comment nits.
71475         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
71476         Correct typos: s/or/of/.
71477
71478 2005-03-26  Jim Meyering  <jim@meyering.net>
71479
71480         * modules/check-include-files: Move to ../ and rename to...
71481         * check-module: ...this.
71482
71483 2005-03-25  Jim Meyering  <jim@meyering.net>
71484
71485         * modules/xvasprintf (Files): Add xalloc.h.
71486
71487 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
71488
71489         * modules/gettext (Files): config/config.rpath ->
71490         build-aux/config.rpath
71491         * modules/iconv (Files): Likewise.
71492         Problem reported by Oskar Liljeblad.
71493
71494 2005-03-23  Jim Meyering  <jim@meyering.net>
71495
71496         * modules/check-include-files: New script to check for
71497         missing dependencies, multiple includes, etc.
71498
71499         * modules/c-strtold (Depends-on): Add xalloc.
71500         * modules/c-strtod (Depends-on): Add xalloc.
71501         * modules/hash (Depends-on): Add xalloc.
71502         (Files): Remove lib/xalloc.h.
71503
71504         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
71505         * modules/userspec (Files): Add lib/inttostr.h.
71506
71507 2005-03-23  Jim Meyering  <jim@meyering.net>
71508
71509         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
71510
71511 2005-03-22  Jim Meyering  <jim@meyering.net>
71512
71513         * modules/stat-macros: New module.
71514         * modules/canonicalize, modules/euidaccess, modules/file-type,
71515         * modules/filemode, modules/lchown, modules/makepath,
71516         * modules/rmdir, modules/stat: Depend on new stat-macros module
71517         rather than listing lib/stat-macros.h manually.
71518         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
71519
71520 2005-03-22  Jim Meyering  <jim@meyering.net>
71521
71522         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
71523
71524 2005-03-22  Bruno Haible  <bruno@clisp.org>
71525
71526         * config/srclist.txt: Replace target directory 'config' with
71527         'build-aux'.
71528         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
71529         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
71530         ../build-aux/.
71531
71532 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
71533
71534         * modules/chdir-long (Depends-on): Add mempcpy.
71535
71536         * modules/acl, modules/backupfile, modules/c-strtod,
71537         modules/c-strtold, modules/canon-host, modules/canonicalize,
71538         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
71539         modules/exclude, modules/exitfail, modules/file-type,
71540         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
71541         modules/getdate, modules/getline, modules/getpagesize,
71542         modules/getpass, modules/getugroups, modules/group-member,
71543         modules/hard-locale, modules/hash, modules/human, modules/idcache,
71544         modules/inttostr, modules/long-options, modules/makepath,
71545         modules/md5, modules/memcasecmp, modules/memcoll,
71546         modules/modechange, modules/mountlist, modules/path-concat,
71547         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
71548         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
71549         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
71550         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
71551         modules/strftime, modules/strndup, modules/strverscmp,
71552         modules/timespec, modules/unlocked-io, modules/userspec,
71553         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
71554         modules/yesno:
71555         Remove lib_SOURCES line from Makefile.am section, as this is now
71556         done automatically by the corresponding Autoconf macro.
71557
71558 2005-03-21  Jim Meyering  <jim@meyering.net>
71559
71560         Changes imported from coreutils.
71561
71562         * lib/cycle-check.c: Don't include xalloc.h.
71563
71564         * lib/path-concat.c: Don't include assert.h.
71565         (path_concat): Remove assertion that would have triggered
71566         for ABASE starting with more than one slash.
71567         Reported by Andreas Schwab.
71568
71569         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
71570         properly when ABASE is an absolute file name.
71571         Correct the description of this function.
71572         Include <assert.h>.
71573         Add an assertion and a test driver.
71574         This fixes a bug introduced on 2004-07-02.
71575         Andreas Schwab reported the resulting failure of cp --parents:
71576         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
71577
71578 2005-03-21  Jim Meyering  <jim@meyering.net>
71579
71580         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
71581         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
71582
71583 2005-03-21  Jim Meyering  <jim@meyering.net>
71584         and  Paul Eggert  <eggert@cs.ucla.edu>
71585
71586         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
71587         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
71588         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
71589         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
71590         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
71591         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
71592         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
71593         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
71594         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
71595         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
71596         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
71597         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
71598         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
71599         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
71600         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
71601         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
71602         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
71603         for these modules.
71604
71605 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
71606
71607         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
71608         (which shouldn't happen), generate nothing instead of returning 0
71609         immediately, so that nstrftime (NULL, ...) doesn't return 0.
71610
71611 2005-03-16  Bruno Haible  <bruno@clisp.org>
71612
71613         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
71614         HAVE_LONGLONG_64BIT.
71615
71616 2005-03-16  Bruno Haible  <bruno@clisp.org>
71617
71618         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
71619         HAVE_LONGLONG_64BIT.
71620
71621 2005-03-16  Bruno Haible  <bruno@clisp.org>
71622
71623         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
71624         HAVE_LONGLONG_64BIT.
71625
71626 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
71627
71628         * lib/strftime.c (my_strftime): Prepend space to format so that we can
71629         reliably distinguish strftime failure from empty output on POSIX
71630         hosts.
71631
71632 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
71633
71634         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
71635         (iconv_string): Don't guess a size-zero buffer, as that might cause
71636         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
71637         result would be 'too large', where 'too large' is (heuristically)
71638         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
71639         overflow concerns.  This will prevent some unwanted malloc failures
71640         when the inputs are very large.
71641
71642 2005-03-15  Karl Berry  <karl@gnu.org>
71643
71644         * config/srclist.txt (config.rpath): from gettext.
71645         * config/config.rpath: update.
71646
71647 2005-03-15  Bruno Haible  <bruno@clisp.org>
71648
71649         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
71650         to 'negate'.
71651
71652         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
71653         variable.
71654
71655         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
71656         results.
71657
71658 2005-03-14  Simon Josefsson  <jas@extundo.com>
71659
71660         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
71661         <fx@gnu.org>.
71662
71663 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
71664
71665         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
71666         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
71667         intprops.h.
71668         * lib/strtol.c: Likewise.
71669
71670 2005-03-14  Jim Meyering  <jim@meyering.net>
71671
71672         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
71673         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
71674         to be nonzero so that we (and caller) can detect the difference
71675         between a valid zero-length expansion and an error return, even
71676         when the underlying strftime fails before writing anything into
71677         that location.
71678
71679 2005-03-14  Bruno Haible  <bruno@clisp.org>
71680
71681         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
71682         Update from GNU gettext 0.14.3.
71683
71684 2005-03-10  Jim Meyering  <jim@meyering.net>
71685
71686         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
71687
71688 2005-03-10  Jim Meyering  <jim@meyering.net>
71689
71690         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
71691         so that this module works on systems without fchdir.
71692
71693 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
71694
71695         Factor int-properties macros into a single file, except for
71696         glibc-related files.
71697         * lib/intprops.h: New file.
71698         * lib/getloadavg.c: Include it instead of limits.h.
71699         (INT_STRLEN_BOUND): Remove.
71700         * lib/human.c: Include intprops.h.
71701         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
71702         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
71703         302/1000.
71704         * lib/inttostr.h: Include intprops.h instead of limits.h.
71705         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
71706         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
71707         for consistency with intprops.h.
71708         (time_t_is_integer, twos_complement_arithmetic): Use them.
71709         * lib/sig2str.h: Include <signal.h>, intprops.h.
71710         (INT_STRLEN_BOUND): Remove.
71711         * lib/strftime.c (TYPE_SIGNED): Remove.
71712         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
71713         * lib/strtol.c: Adjust comments to match intprops.h.
71714         * lib/userspec.c: Include intprops.h.
71715         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
71716         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
71717         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
71718         instead of rolling our own expressions.
71719         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
71720
71721         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
71722         instead of int.
71723         (my_strftime): Do not mishandle years close to INT_MAX, by doing
71724         the right thing even if adding 1900 would overflow.  Similarly
71725         for tm_mon + 1 and tm_yday + 1.
71726         Make %Y always equivalent to %C%y, and similarly for %G and %g.
71727         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
71728         (DO_SIGNED_NUMBER): New macro.
71729         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
71730
71731 2005-03-07  Bruno Haible  <bruno@clisp.org>
71732
71733         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
71734
71735 2005-03-07  Bruno Haible  <bruno@clisp.org>
71736
71737         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
71738
71739 2005-03-04  Derek R. Price  <derek@ximbiot.com>
71740
71741         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
71742         (func_import): Only replace files via --import when they have actually
71743         changed.
71744
71745 2005-03-03  Derek R. Price  <derek@ximbiot.com>
71746
71747         * m4/mmap-anon.m4: New file.
71748         * m4/pagealign_alloc.m4: New file.
71749
71750 2005-03-03  Derek R. Price  <derek@ximbiot.com>
71751             Bruno Haible  <bruno@clisp.org>
71752
71753         * modules/pagealign_alloc: New file.
71754         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
71755
71756 2005-03-03  Derek R. Price  <derek@ximbiot.com>
71757             Bruno Haible  <bruno@clisp.org>
71758
71759         * lib/pagealign_alloc.h: New file.
71760         * lib/pagealign_alloc.c: New file.
71761
71762 2005-03-03  Bruno Haible  <bruno@clisp.org>
71763
71764         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
71765         Use an all-permissive copyright notice, recommended by RMS.
71766
71767 2005-03-02  Bruno Haible  <bruno@clisp.org>
71768
71769         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
71770         of AIX, the replacement has to be done only after <string.h> is
71771         included, therefore not in config.h. stpncpy.h does the replacement,
71772         and stpncpy.c uses it.
71773
71774 2005-03-02  Bruno Haible  <bruno@clisp.org>
71775
71776         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
71777         stpncpy.c uses it.
71778
71779 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
71780
71781         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
71782         The workaround isn't strictly needed for POSIX conformance, and
71783         it's too much of a pain to configure and maintain.  We'll ask
71784         people to fix their kernels instead.
71785         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
71786         (NANOSLEEP_BUG_WORKAROUND): Remove.
71787         (xnanosleep): Remove the workaround.
71788
71789 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
71790
71791         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
71792         Reported by Derek Price.
71793         (Include): Add "timespec.h".
71794
71795         * modules/xnanosleep (Depends-on): Remove gethrxtime.
71796
71797 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
71798
71799         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
71800         to detect nanosleep bug.
71801
71802 2005-03-01  Bruno Haible  <bruno@clisp.org>
71803
71804         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
71805
71806 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
71807
71808         * modules/gethrxtime: New file.
71809         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
71810         (Depends-on): Add gethrxtime.
71811         (configure.ac): Add gl_XNANOSLEEP.
71812         (Makefile.am): Remove lib_SOURCES line.
71813
71814 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
71815
71816         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
71817         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
71818
71819 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
71820
71821         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
71822         * lib/timespec.h (gettime): Return void, since it always
71823         succeeds now.  All uses changed.
71824         * lib/gettime.c (gettime): Likewise.
71825         [HAVE_NANOTIME]: Prefer nanotime.
71826         Assume gettimeofday succeeds, as POSIX requires.
71827         Assime time () succeeds, since other code already does.
71828         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
71829         (timespec_subtract): Remove.
71830         (NANOSLEEP_BUG_WORKAROUND): New constant.
71831         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
71832         things considerably.  Use it only on GNU/Linux hosts, since the
71833         workaround shouldn't be needed elsewhere.
71834
71835 2005-02-24  Bruno Haible  <bruno@clisp.org>
71836
71837         * modules/gettext (Files): Add m4/glibc2.m4.
71838
71839 2005-02-24  Bruno Haible  <bruno@clisp.org>
71840
71841         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
71842         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
71843         * m4/progtest.m4:
71844         Update from GNU gettext 0.14.2.
71845         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
71846
71847 2005-02-24  Bruno Haible  <bruno@clisp.org>
71848
71849         * lib/localcharset.c: Update from GNU gettext 0.14.2.
71850         * lib/config.charset: Update from GNU gettext 0.14.2.
71851
71852 2005-02-24  Bruno Haible  <bruno@clisp.org>
71853
71854         * lib/gettext.h: Update from GNU gettext 0.14.2.
71855
71856 2005-02-23  Simon Josefsson  <jas@extundo.com>
71857
71858         * m4/iconvme.m4: New file.
71859
71860 2005-02-23  Jim Meyering  <jim@meyering.net>
71861
71862         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
71863         change.
71864         Thanks to Bruno Haible for catching it.
71865
71866 2005-02-22  Simon Josefsson  <jas@extundo.com>
71867
71868         * modules/iconvme: New file.
71869
71870         * MODULES.html.sh: Add iconvme.
71871
71872 2005-02-22  Simon Josefsson  <jas@extundo.com>
71873
71874         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
71875
71876 2005-02-22  Simon Josefsson  <jas@extundo.com>
71877
71878         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
71879
71880 2005-02-22  Jim Meyering  <jim@meyering.net>
71881
71882         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
71883         s/ifndef/ifdef/.
71884
71885 2005-02-20  Neil Conway  <neilc@samurai.com>
71886
71887         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
71888         returned by OSX/Darwin if the specified buffer is not large
71889         enough for the hostname.
71890
71891 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
71892
71893         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
71894         pass it to _help, otherwise the latter coredumps trying to
71895         dereference state.root_argp.
71896
71897 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
71898
71899         * modules/chdir-long (Depends-on): Add memrchr.
71900         * modules/memrchr (Files): Add lib/memrchr.h.
71901         (Include): "memrchr.h".
71902
71903 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
71904
71905         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
71906
71907 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
71908
71909         * lib/memrchr.h: New file.
71910         * lib/chdir-long.c: Include it.
71911         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
71912         Don't bother including stddef.h.
71913
71914 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
71915
71916         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
71917         inclusion.
71918         Include <sys/types.h>, for dev_t.
71919         (ME_DUMMY, ME_REMOTE): Move from here....
71920         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
71921         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
71922         Dmitry V. Levin.
71923         Include mountlist.h first, to test the interface.
71924
71925 2005-01-29  Bruno Haible  <bruno@clisp.org>
71926
71927         * lib/progname.c (program_name): Initialize.
71928         Needed when linking statically on MacOS X.
71929
71930 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
71931
71932         Sync from coreutils.
71933         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
71934         (Depends-on): Add c-strtod.
71935         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
71936
71937 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
71938
71939         Sync from coreutils.
71940         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
71941
71942         Remove files that are specific to coreutils.
71943         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
71944
71945 2005-01-28  Bruno Haible  <bruno@clisp.org>
71946
71947         * modules/javacomp: New file.
71948         * MODULES.html.sh (Java): Add javacomp.
71949
71950 2005-01-28  Bruno Haible  <bruno@clisp.org>
71951
71952         * m4/javacomp.m4: New file, from GNU gettext.
71953
71954 2005-01-28  Bruno Haible  <bruno@clisp.org>
71955
71956         * lib/javacomp.sh.in: New file, from GNU gettext.
71957         * lib/javacomp.h: New file, from GNU gettext.
71958         * lib/javacomp.c: New file, from GNU gettext.
71959
71960 2005-01-26  Simon Josefsson  <jas@extundo.com>
71961
71962         * lib/gai_strerror.c: Use GPL in header.
71963
71964 2005-01-26  Bruno Haible  <bruno@clisp.org>
71965
71966         * modules/javaexec: New file.
71967         * MODULES.html.sh (Java): Add javaexec.
71968
71969 2005-01-26  Bruno Haible  <bruno@clisp.org>
71970
71971         * m4/javaexec.m4: New file, from GNU gettext.
71972
71973 2005-01-26  Bruno Haible  <bruno@clisp.org>
71974
71975         * lib/javaexec.sh.in: New file, from GNU gettext.
71976         * lib/javaexec.h: New file, from GNU gettext.
71977         * lib/javaexec.c: New file, from GNU gettext.
71978
71979 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
71980
71981         * modules/lchown (Depends-on): Remove lchown.h
71982
71983 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
71984
71985         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
71986         must be defined if the header file was not found, in order
71987         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
71988
71989 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
71990
71991         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
71992         initializers for struct pentry_state.
71993         (__argp_error): Check return value of __asprintf
71994         (__argp_failure): Translate error message
71995
71996         * lib/argp-parse.c: Removed braces around the expansion of N_()
71997
71998 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
71999
72000         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
72001         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
72002         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
72003         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
72004         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
72005         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
72006         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
72007         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
72008         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
72009         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
72010         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
72011         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
72012         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
72013         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
72014         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
72015         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
72016         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
72017         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
72018         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
72019         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
72020         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
72021         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
72022         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
72023         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
72024         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
72025         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
72026         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
72027         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
72028         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
72029         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
72030         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
72031         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
72032         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
72033         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
72034         xstrtol.m4, xstrtoumax.m4, yesno.m4:
72035         Use an all-permissive copyright notice, recommended by RMS.
72036
72037 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
72038
72039         * modules/chdir-long (Depends-on): Remove mempcpy.
72040
72041 2005-01-21  Jim Meyering  <jim@meyering.net>
72042
72043         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
72044         same value as for Solaris 9.
72045
72046         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
72047         component length.  This included changing the parameter to be
72048         of type `char *' rather than `char const *'.
72049         * lib/chdir-long.h (chdir_long): Update prototype.
72050
72051         * lib/openat.c (fdopendir, fstatat): New functions.
72052         * lib/openat.h: Include headers required for use of DIR and struct
72053         stat.
72054         [AT_SYMLINK_NOFOLLOW]: Define.
72055         (fdopendir, fstatat): Add prototypes.
72056
72057 2005-01-21  Bruno Haible  <bruno@clisp.org>
72058
72059         * modules/classpath: New file.
72060         * MODULES.html.sh (Java): Add classpath.
72061
72062 2005-01-21  Bruno Haible  <bruno@clisp.org>
72063
72064         * lib/classpath.h: New file, from GNU gettext.
72065         * lib/classpath.c: New file, from GNU gettext.
72066
72067 2005-01-20  Simon Josefsson  <jas@extundo.com>
72068
72069         * modules/version-etc-fsf: New file.
72070
72071 2005-01-20  Simon Josefsson  <jas@extundo.com>
72072
72073         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
72074         * lib/version-etc.c: Remove version_etc_copyright.
72075         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
72076         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
72077
72078 2005-01-20  Simon Josefsson  <jas@extundo.com>
72079
72080         * lib/base64.h (isbase64): Add.
72081
72082         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
72083         using a unsigned prototype, don't inline.
72084         (base64_decode): Use it.
72085
72086 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
72087
72088         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
72089         it.
72090
72091 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
72092
72093         * lib/save-cwd.c (save_cwd): Remove code to support the case
72094         where fchdir is missing or flaky.
72095
72096 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
72097
72098         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
72099
72100 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
72101
72102         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
72103         AC_LIBSOURCES now does this.
72104         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
72105         with new ullong_max module.
72106
72107 2005-01-19  Bruno Haible  <bruno@clisp.org>
72108
72109         * modules/sh-quote: New file.
72110         * MODULES.html.sh (Executing programs): Add sh-quote.
72111
72112 2005-01-19  Bruno Haible  <bruno@clisp.org>
72113
72114         * lib/sh-quote.h: New file, from GNU gettext.
72115         * lib/sh-quote.c: New file, from GNU gettext.
72116
72117 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
72118
72119         Merge from coreutils.
72120         * m4/ullong_max.m4: New file.
72121         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
72122         (gl_MACROS): Assume localeconv exists.
72123
72124 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
72125
72126         Merge changes from coreutils, as described below in several
72127         changelogs dated today.
72128
72129         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
72130         (O_DIRECTORY): Remove; not needed here, since "." must be
72131         a directory.  All uses removed.
72132         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
72133         universal on Suns, and we also need to test for IRIX.
72134         Revamp code to use 'if' rather than '#if'.
72135         Avoid unnecessary comparison of cwd->desc to 0.
72136
72137         * lib/utimens.c (futimens): Robustify the previous patch, by checking
72138         for known valid error numbers rather than observed invalid ones.
72139
72140 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
72141
72142         * modules/ullong_max: New file.
72143
72144         * modules/chdir-long, modules/openat: New files.
72145         * modules/save-cwd (Depends-on): Depend on chdir-long.
72146         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
72147
72148 2005-01-18  Jim Meyering  <jim@meyering.net>
72149
72150         Merge from coreutils.
72151         * m4/chdir-long.m4, m4/openat.m4: New files.
72152         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
72153         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
72154         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
72155         is sane and DOES follow symlinks.  Besides, testing 20 different
72156         systems found no broken chown implementations.
72157         Prompted by a change in rsync's copy of this macro.
72158         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
72159
72160         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
72161
72162         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
72163         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
72164         NULL-means-set-to-current-time semantics.
72165         Remove temporary file immediately, rather than waiting
72166         for configure's at-exit trap code to do it.
72167
72168 2005-01-18  Jim Meyering  <jim@meyering.net>
72169
72170         * lib/version-etc.c (version_etc_copyright): Update copyright date.
72171
72172         * lib/utimens.c (futimens): Account for the fact that futimes
72173         can also fail with errno == ENOSYS or errno == ENOENT.
72174         Patch from Dmitry V. Levin.
72175
72176         Change the name of the robust chdir function from chdir to chdir_long.
72177         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
72178         (restore_cwd): Use chdir_long, not chdir.
72179         * lib/chdir-long.c: Renamed from chdir.c.
72180         * lib/chdir-long.h: Renamed from chdir.h.
72181         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
72182         Hurd.
72183
72184 2005-01-18  Bruno Haible  <bruno@clisp.org>
72185
72186         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
72187         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
72188         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
72189         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
72190         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
72191         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
72192         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
72193         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
72194         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
72195         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
72196         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
72197         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
72198         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
72199         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
72200         Use an all-permissive copyright notice, recommended by RMS.
72201
72202 2005-01-18  Bob Proulx  <bob@proulx.com>
72203
72204         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
72205         simplify offsetof() macro construct to avoid compile failure with
72206         native HP-UX 11.0 ANSI C compiler.
72207
72208 2005-01-17  Bruno Haible  <bruno@clisp.org>
72209
72210         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
72211         redundant because stpncpy.m4 takes care of it.
72212
72213 2005-01-17  Bruno Haible  <bruno@clisp.org>
72214
72215         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
72216
72217 2005-01-17  Bruno Haible  <bruno@clisp.org>
72218
72219         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
72220         used.
72221
72222 2005-01-17  Bruno Haible  <bruno@clisp.org>
72223
72224         * lib/fwriteerror.h (fwriteerror): Change specification to include
72225         fclose.
72226         * lib/fwriteerror.c: Include <stdbool.h>.
72227         (fwriteerror): At the end, close the file stream. Record whether
72228         stdout was already closed.
72229
72230 2005-01-17  Bruno Haible  <bruno@clisp.org>
72231
72232         * lib/execute.c (environ): Declare if needed.
72233         * lib/pipe.c (environ): Likewise.
72234         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
72235
72236 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
72237
72238         * modules/argp: Depend on vsnprintf
72239
72240 2005-01-10  Jim Meyering  <jim@meyering.net>
72241
72242         * modules/closeout (Depends-on): Add atexit.
72243
72244 2005-01-06  Bruno Haible  <bruno@clisp.org>
72245
72246         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
72247
72248 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
72249
72250         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
72251         definitions to be after all include files, to avoid collisions.
72252         Problem reported by Bob Proulx.
72253
72254 2005-01-04  Jim Meyering  <jim@meyering.net>
72255
72256         Changes imported from coreutils.
72257         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
72258         as the mkstemp template, use a temporary directory and an
72259         8.3-friendly template to avoid trouble on systems like DJGPP.
72260         Reported by Juan M. Guerrero via Stepan Kasal.
72261         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
72262         close. Remove the temporary directory right away, rather than waiting
72263         for configure's at-exit trap code to do it.
72264         Suggestion from Stepan Kasal.
72265
72266 2005-01-01  Simon Josefsson  <jas@extundo.com>
72267
72268         * gnulib-tool: Print #include directives when --import'ing.
72269
72270 2004-12-28  Simon Josefsson  <jas@extundo.com>
72271
72272         * tests/test-base64.c: Include required header files.  Remove
72273         unused variables.
72274
72275 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
72276
72277         * modules/error (Depends-on): Remove gettext.
72278
72279 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
72280
72281         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
72282         not needed.  This removes a dependency on the gettext module.
72283         [defined _LIBC]: Do not include <libintl.h>; not needed.
72284
72285 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
72286
72287         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
72288         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
72289
72290 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
72291
72292         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
72293         HAVE_DECL_STRTOLD.
72294
72295 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
72296
72297         * modules/getdate (Depends-on): Remove alloca-opt.
72298
72299 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
72300
72301         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
72302
72303 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
72304
72305         * lib/argp-parse.c: Include <stddef.h>.
72306         (alignof, alignto): New macros.
72307         (parser_init): Don't assume that void * is aligned sufficiently
72308         for struct option.
72309
72310         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
72311         need to extend the stack.
72312         (YYINITDEPTH): New macro, so that the initial stack isn't overly
72313         large.
72314
72315 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
72316
72317         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
72318
72319 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
72320
72321         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
72322         (2004-10-24) change.  Apparently this was a false alarm.
72323
72324         * modules/getdate: Depend on alloca-opt, not alloca.
72325
72326 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
72327
72328         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
72329         Remove now-obsolete comment about AIX.
72330         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
72331         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
72332         (YYMAXDEPTH): New macro.
72333
72334 2004-12-18  Simon Josefsson  <jas@extundo.com>
72335
72336         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
72337
72338 2004-12-18  Bruno Haible  <bruno@clisp.org>
72339
72340         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
72341
72342 2004-12-18  Bruno Haible  <bruno@clisp.org>
72343
72344         * lib/fatal-signal.c (fatal_signals): Make non-const.
72345         (init_fatal_signals): New function.
72346         (uninstall_handlers, install_handlers): Ignore signals that were set to
72347         SIG_IGN.
72348         (at_fatal_signal): Call init_fatal_signals.
72349         (init_fatal_signal_set): Likewise. Ignore signals that were set to
72350         SIG_IGN.
72351         Reported by Paul Eggert.
72352
72353 2004-12-18  Bruno Haible  <bruno@clisp.org>
72354
72355         * doc/alloca.texi: New file.
72356         * doc/alloca-opt.texi: New file.
72357
72358 2004-12-17  Jim Meyering  <jim@meyering.net>
72359
72360         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
72361         Otherwise, install-sh could exit with improper exit status when
72362         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
72363
72364 2004-12-16  Simon Josefsson  <jas@extundo.com>
72365
72366         * tests/test-base64.c: Add license.
72367
72368 2004-12-15  Stepan Kasal  <address@hidden>
72369
72370         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
72371
72372 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
72373
72374         * modules/getcwd (Files): Add m4/d-ino.m4.
72375         Suggested by Mark D. Baushke.
72376
72377 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
72378
72379         * lib/getdate.y (textint): New member "negative".
72380         (time_zone_hhmm): New function.
72381         Expect 14 shift-reduce conflicts, not 13.
72382         (o_colon_minutes): New rule.
72383         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
72384         (yylex): Set the "negative" member of signed numbers.
72385
72386 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
72387
72388         * doc/getdate.texi (Time of day items, Time zone items):
72389         Describe new formats +00:00, UTC+00:00.
72390
72391 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
72392
72393         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
72394         spurious "-l"s.  Problem reported by Stepan Kasal.
72395
72396 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
72397
72398         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
72399         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
72400
72401 2004-12-04  Simon Josefsson  <jas@extundo.com>
72402
72403         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
72404         Vandoorselaere <yoann@prelude-ids.org>.
72405
72406 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
72407
72408         Changes imported from coreutils.
72409         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
72410         exist.
72411         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
72412
72413 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
72414
72415         Changes imported from coreutils.
72416         * lib/hard-locale.c: Assume <locale.h> exists.
72417         Include "strdup.h".
72418         (GLIBC_VERSION): New macro.
72419         (hard_locale): Assume setlocale exists.
72420         Rewrite to avoid #ifdef.
72421         Use strdup rather than malloc + strcpy.
72422         * lib/human.c: Assume <locale.h> exists.
72423         (human_readable): Assume localeconv exists.
72424
72425 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
72426
72427         * modules/hard-locale (Depends-on): Add strdup.
72428
72429 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
72430
72431         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
72432         convert T2, not T.  (Imported from libc.)
72433
72434 2004-11-30  Simon Josefsson  <jas@extundo.com>
72435
72436         * modules/restrict (License): Change to LGPL.
72437
72438 2004-11-30  Simon Josefsson  <jas@extundo.com>
72439
72440         * m4/restrict.m4: Add copyright and copying conditions.
72441
72442 2004-11-30  Simon Josefsson  <jas@extundo.com>
72443
72444         * m4/base64.m4: New file.
72445
72446 2004-11-30  Simon Josefsson  <jas@extundo.com>
72447
72448         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
72449         base64.
72450
72451         * tests/test-base64.c: New file.
72452
72453         * modules/base64: New file.
72454
72455 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
72456
72457         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
72458         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
72459
72460         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
72461
72462 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
72463
72464         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
72465         (__getcwd.c): Don't restore errno; glibc doesn't.
72466         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
72467         first, falling back to our code only if its results look suspicious.
72468         Ensure that the resulting buffer is only as large as necessary.
72469
72470         * lib/readutmp.c: Include readutmp.h first.
72471         Include <errno.h>, since readutmp.h no longer does that.
72472         * lib/readutmp.h: Don't include <errno.h>,
72473         <sys/param.h>, <time.h>; not needed to establish interface.
72474         (errno): Remove decl.
72475         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
72476         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
72477         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
72478
72479 2004-11-28  Simon Josefsson  <jas@extundo.com>
72480
72481         * lib/base64.h, base64.c: New file.
72482
72483 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
72484
72485         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
72486
72487 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
72488
72489         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
72490         (Depends-on): Remove pathmax, same.  Add mempcpy.
72491         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
72492         (Makefile.am): Append getcwd.h to lib_SOURCES.
72493         (Include): Add getcwd.h.
72494         (Maintainer): Change from Jim Meyering to "all, glibc",
72495         since getdate now uses intended-for-glibc code.
72496         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
72497         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
72498
72499 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
72500
72501         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
72502         HP's ANSI C compiler.
72503         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
72504         Declaring int functions causes warnings on some modern systems and
72505         shouldn't be needed to compile on ancient ones.
72506         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
72507         defined.
72508
72509         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
72510         with the following changes.
72511         (__set_errno): Parenthesize properly.
72512         Include <stdbool.h>.
72513         (MIN, MAX, MATCHING_INO): New macros.
72514         (__getcwd): Define with prototype, not K&R form.
72515         Use heuristics to allocate default buffer on stack if possible.
72516         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
72517         behavior, and to avoid the PATH_MAX limit when computing
72518         ../../../../...
72519         Use MATCHING_INO to compare inode number to file.
72520         Check for arithmetic overflow in size calculations.
72521         Fix bug in reallocation of dot array that caused getcwd to fail
72522         on directories nested deeper than 75.
72523         Be more careful about saving errno on error.
72524         Do not use realloc; use only free+malloc, as this is a bit
72525         more flexible and avoids a needless copy operation.
72526         Do not inspect st_dev and st_ino for symbolic links; POSIX
72527         doesn't specify the latter.
72528         Check for closedir errors.
72529         Avoid needless casts.
72530         Use "#ifdef weak_alias" around weak_alias, to be like other
72531         glibc code.
72532         The following changes to getcwd.c have effect only when used in
72533         gnulib; they have no effect inside glibc proper.
72534         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
72535         as alloca isn't used.
72536         (alloca, __alloca): Likewise.
72537         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
72538         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
72539         unconditionally, as gnulib assumes C89 or better.
72540         Do not include <sys/param.h>.
72541         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
72542         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
72543         better.
72544         (NULL) [!defined NULL]: Remove; we assume C89 or better.
72545         Include <dirent.h> in a way that is compatible with modern Autoconf.
72546         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
72547         New macros, if not already defined.
72548         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
72549         Use "_LIBC", not "defined _LIBC", for consistency.
72550         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
72551         a mempcpy module.
72552         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
72553         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
72554         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
72555         credit only to Jim Meyering and adjust the copyright dates.
72556         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
72557         <stdlib.h>, <unistd.h>, "pathmax.h".
72558         Instead, include "xgetcwd.h" (first) and "getcwd.h".
72559         (INITIAL_BUFFER_SIZE): Remove.
72560         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
72561
72562 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
72563
72564         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
72565         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
72566         Use the _ONCE methods, for efficiency.
72567         Check for fcntl.h.  In test program, include <errno.h>
72568         and <fcntl.h> if available.  Remove old K&R cruft from
72569         test program.  Check for common errors in GNU/Linux,
72570         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
72571         don't do AC_LIBOBJ, as that's getcwd.m4's job.
72572         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
72573         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
72574         name accordingly.
72575         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
72576         accommodate new getcwd.c.
72577         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
72578         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
72579         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
72580         that's all we need now.
72581
72582 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
72583
72584         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
72585         argp-parse.c depends on getopt internals, that means we should
72586         always use our getopt, to be on the safe side.
72587         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
72588         order not to spoil the result of an eventual previous invocation
72589         of gl_GETOPT_SUBSTITUTE.
72590
72591 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
72592
72593         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
72594         redefinition warnings. To avoid them, include the defines
72595         in `#if !defined __need_getopt ... #endif'. The only place
72596         where __getopt_argv_const is used is in definitions
72597         of getopt_long and getopt_long_only below, which are as well
72598         protected by `#ifndef __need_getopt'.
72599         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
72600         __need_getopt after including <stdio.h> and <unistd.h> These
72601         headers might have defined it.
72602
72603 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
72604
72605         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
72606
72607 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
72608
72609         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
72610         (futimens): New function, which uses futimes if available.
72611         (futimens, utimens): Support timespec==NULL, with same semantics
72612         as utime and utimens.
72613         * lib/utimens.h (futimens): New decl.
72614
72615 2004-11-23  Jim Meyering  <jim@meyering.net>
72616
72617         * lib/getopt_.h: Remove trailing blanks.
72618
72619 2004-11-23  Jim Meyering  <jim@meyering.net>
72620
72621         * lib/__fpending.c: Add comment.
72622
72623 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
72624
72625         * modules/canonicalize (Depends-on): Add xreadlink.
72626         Problem reported by James Youngman.
72627
72628 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
72629
72630         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
72631         New macros.
72632         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
72633         optopt): Use them instead of invoking ## directly; otherwise, the
72634         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
72635
72636 2004-11-19  Bruno Haible  <bruno@clisp.org>
72637
72638         * lib/strtok_r.c: Move comments from here...
72639         * lib/strtok_r.h: ... to here.
72640
72641 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
72642
72643         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
72644         implementations that mishandle size_t overflow.
72645
72646 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
72647
72648         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
72649         might fail.  Problem reported by Yoann Vandoorselaere.
72650         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
72651         implementations that mishandle size_t overflow.
72652
72653 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
72654
72655         * modules/canon-host (Depends-on): Add strdup.
72656
72657 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
72658
72659         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
72660
72661 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
72662
72663         * lib/canon-host.c: Include "strdup.h".
72664         (canon_host): Use getaddrinfo if available, so that IPv6 works.
72665         Use strdup instead of malloc/strcpy to duplicate strings.
72666
72667         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
72668         (human_space_before_unit): New constant.
72669         * lib/human.c (human_readable): Support it.
72670
72671         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
72672         (xgetcwd): Set errno correctly when failing.
72673         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
72674         the failure is actually due to a PATH_MAX problem.
72675
72676         Further getopt changes to make it more likely that glibc will
72677         buy the changes back.
72678         * lib/getopt.c (POSIXLY_CORRECT): New constant.
72679         (getopt): Use it, so to preserve glibc semantic
72680         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
72681         when compiling for libc.
72682         * lib/getopt_.h (__getopt_argv_const): Bring it back.
72683         (getopt_long, getopt_long_only): Use it.
72684
72685         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
72686         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
72687         (getopt): Argv is now char * const *, as per standard.
72688         (_getopt_internal_r, _getopt_internal): Argv is now char **,
72689         not char *__getopt_argv_const *.
72690         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
72691         _getopt_long_only_r): Likewise.
72692         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
72693         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
72694         _getopt_long_r, _getopt_long_only_r): Likewise.
72695         * lib/getopt_.h (__getopt_argv_const): Remove.
72696         (getopt): Argv is now char * const *, as per standard.
72697
72698         * lib/getdate.y (tORDINAL): New token.
72699         (day, relunit): Allow it for relative times.
72700         (relative_time_table): Use tORDINAL for ordinals.
72701
72702 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
72703
72704         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
72705         Document that "second" isn't allowed as an ordinal number.
72706
72707 2004-11-16  Jim Meyering  <jim@meyering.net>
72708
72709         * modules/closeout (Depends-on): Add fpending.
72710
72711 2004-11-15  Jim Meyering  <jim@meyering.net>
72712
72713         * lib/closeout.c: Include "__fpending.h" once again.
72714         Include <stdbool.h>.
72715         (close_stdout): Don't fail just because stdout was closed initially,
72716         since some programs don't write to stdout in the normal course of
72717         operation (other than --version and --help), and we don't want this
72718         function to make e.g. `touch file >&-' fail.
72719         But do fail if it was closed and someone has tried to write to it.
72720         E.g., `printf foo >&-' must fail.
72721
72722 2004-11-13  Jim Meyering  <jim@meyering.net>
72723
72724         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
72725
72726 2004-11-12  Simon Josefsson  <jas@extundo.com>
72727
72728         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
72729         small doc fix is still pending.
72730
72731 2004-11-11  Simon Josefsson  <jas@extundo.com>
72732
72733         * modules/strtok_r: New file.
72734
72735         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
72736         strtok_r.
72737
72738 2004-11-11  Simon Josefsson  <jas@extundo.com>
72739
72740         * m4/strtok_r.m4: New file.
72741
72742         * m4/getopt.m4: Replace opterr.
72743
72744 2004-11-11  Simon Josefsson  <jas@extundo.com>
72745
72746         * lib/strtok_r.h, strtok_r.c: New file.
72747
72748 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
72749
72750         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
72751         of replacing opterr, getopt, etc.  This should handle the
72752         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
72753
72754 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
72755
72756         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
72757         we can stop lying to compilers about the constness of argv when we
72758         are compiled outside glibc.
72759         (getopt, getopt_long, getopt_long_only): Use it.
72760         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
72761         _getopt_internal, getopt): Likewise.
72762         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
72763         _getopt_long_only_r): Likewise.
72764         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
72765         _getopt_long_r, _getopt_long_only_r): Likewise.
72766
72767         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
72768         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
72769         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
72770         the other external symbols.
72771         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
72772         declaration, since the above renaming now works around collisions.
72773
72774 2004-11-11  Jim Meyering  <jim@meyering.net>
72775
72776         * lib/linebreak.c: Remove trailing blanks.
72777         * lib/alloca_.h: Likewise.
72778         * lib/acosl.c: Likewise.
72779         * lib/euidaccess.c: Likewise.
72780         * lib/allocsa.h: Likewise.
72781
72782 2004-11-10  Simon Josefsson  <jas@extundo.com>
72783
72784         * m4/getaddrinfo.m4: New file.
72785
72786 2004-11-10  Simon Josefsson  <jas@extundo.com>
72787
72788         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
72789
72790 2004-11-10  Simon Josefsson  <jas@extundo.com>
72791
72792         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
72793         getaddrinfo.
72794
72795         * modules/getaddrinfo: New file.
72796
72797 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
72798
72799         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
72800
72801 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
72802
72803         * lib/mktime.c (SHR): New macro, which is a portable
72804         substitute for >> that should work even on Crays.
72805         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
72806         Problem reported by Mark D. Baushke in
72807         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
72808         * lib/getdate.y (SHR): Likewise.
72809         (tm_diff): Use it.
72810         * lib/strftime.c (SHR): Likewise.
72811         (tm_diff): Use it.
72812         * lib/quotearg.c (struct quoting_options): Use unsigned int for
72813         quote_these_too, so that right shifts are well defined.  All uses
72814         changed.
72815
72816 2004-11-10  Jim Meyering  <jim@meyering.net>
72817
72818         Ensure that no close failure goes unreported.
72819         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
72820         return early when it seems there's nothing to flush.
72821         Don't include __fpending.h.
72822
72823 2004-11-10  Jim Meyering  <jim@meyering.net>
72824
72825         * modules/closeout (Depends-on): Remove fpending.
72826
72827 2004-11-10  Jim Meyering  <jim@meyering.net>
72828
72829         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
72830
72831 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
72832
72833         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
72834         gl_FUNC_STRFTIME.
72835         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
72836         and AC_REQUIRE when possible, to avoid duplicate checks.
72837         Check for <wchar.h>.
72838
72839 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
72840
72841         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
72842
72843 2004-11-09  Bruno Haible  <bruno@clisp.org>
72844
72845         * m4/sockpfaf.m4: New file.
72846
72847 2004-11-05  Bruno Haible  <bruno@clisp.org>
72848
72849         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
72850         Reported by Mark D. Baushke <mdb@cvshome.org>.
72851
72852 2004-11-04  Bruno Haible  <bruno@clisp.org>
72853
72854         2004-09-11  Bruno Haible  <bruno@clisp.org>
72855                 * allocsa.valgrind: New file.
72856         2004-02-06  Bruno Haible  <bruno@clisp.org>
72857                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
72858                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
72859                 Reported by Christopher Seip <chris.seip@hp.com>.
72860
72861 2004-11-04  Bruno Haible  <bruno@clisp.org>
72862
72863         * modules/allocsa (Files): Add lib/allocsa.valgrind.
72864         (Makefile.am): Distribute it.
72865
72866 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
72867
72868         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
72869         with errno == ERANGE if the buffer is too small.
72870         Problem reported by Mark D. Baushke.
72871
72872 2004-11-03  Albert Chin  <china@thewrittenword.com>
72873             Paul Eggert  <eggert@cs.ucla.edu>
72874
72875         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
72876         equivalent, substitute $ac_type for equivalent type rather than
72877         blindly using uint32_t *always* which won't work if uint32_t is not
72878         available.  Define _UINT32_T to work around typedef of uint32_t if
72879         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
72880         2.5.1.
72881
72882 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
72883
72884         * m4/jm-macros.m4: Sync from coreutils.
72885         (gl_MACROS): Check for mbrlen, for pathchk.
72886         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
72887
72888 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
72889
72890         * lib/xreadlink.c (MAXSIZE): New macro.
72891         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
72892         size does not exceed MAXSIZE.  Avoid cast.
72893         As suggested by Mark D. Baushke in
72894         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
72895         if readlink fails with buffer size just under MAXSIZE, try again
72896         with MAXSIZE.
72897
72898 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
72899
72900         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
72901
72902 2004-11-02  Derek R. Price  <derek@ximbiot.com>
72903         and  Paul Eggert  <eggert@cs.ucla.edu>
72904
72905         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
72906         (get_date): Overparenthesize to avoid GCC warning.
72907
72908 2004-11-02  Bruno Haible  <bruno@clisp.org>
72909
72910         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
72911         returns void.
72912
72913 2004-11-02  Bruno Haible  <bruno@clisp.org>
72914
72915         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
72916         function returns void.
72917
72918 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
72919
72920         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
72921         fflush_unlocked, flockfile, funlockfile, funlockfile,
72922         fputs_unlocked, putc_unlocked.
72923
72924 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
72925
72926         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
72927         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
72928         already declared.
72929
72930 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
72931
72932         * modules/getdate (Files): Add doc/getdate.texi.
72933         (Depends-on): Add setenv, xalloc.
72934
72935 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
72936
72937         * lib/getdate.y: Add support for TZ="foo" within a date string.
72938         Fix some bugs near time_t boundaries.  Reject dates with
72939         out-of-range components, e.g., "Sept 31".
72940         Include <stdlib.h>, "setenv.h", "xalloc.h".
72941         (ISDIGIT_LOCALE): Remove; unused.
72942         Note that the TZ and time functions used here are not reentrant.
72943         (mktime_ok, get_tz): New functions.
72944         (TZBUFSIZE): New constant.
72945         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
72946         This requires that we sometimes generate our own TZ="XXX..." setting.
72947
72948 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
72949
72950         * doc/getdate.texi: New file, from coreutils with modifications for
72951         the new TZ parsing.
72952
72953 2004-10-27  Derek R. Price  <derek@ximbiot.com>
72954
72955         * lib/mktime.c (not_equal_tm): Remove redundant check.
72956
72957 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
72958
72959         * modules/regex (lib_SOURCES): Add regex.c.
72960         Reported by James Youngman in
72961         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
72962
72963 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
72964
72965         * lib/getdate.y: Use Bison 1.875 features, and some minor
72966         code cleanups.  This change does not affect semantics.
72967         Don't include <stdlib.h>; no longer needed.
72968         Don't include unlocked-io.h; only the "#if TEST" code uses
72969         stdio, and performance isn't crucial there.
72970         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
72971         Bison 1.875 features as described below.
72972         All uses of "PC." replaced by "pc->".
72973         (YYSTYPE): Add a forward declaration.
72974         (yylex, yyerror): Use full prototypes in forward decls.
72975         Use "%pure-parser" rather than obsolescent "%pure_parser".
72976         Use %parse-param and %lex-param instead of obsolescent
72977         YYPARSE_PARAM and YYLEX_PARAM.
72978         (meridian_table, month_and_day_table, time_units_table,
72979         relative_time_table, time_zone_table, military_table,
72980         lookup_zone, lookup_word, get_date):
72981         Use NULL instead of 0 where appropriate.
72982         (to_hour): Avoid abort (), to avoid a dependency on
72983         stdlib.h.
72984         (yyerror, yylex): Now accepts parser_control * arg.
72985         (main) [TEST]: Use '\0' rather than 0 for char.
72986
72987 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
72988
72989         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
72990
72991 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
72992
72993         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
72994         It's now the caller's responsibility to handle the case where
72995         !HAVE_GETPAGESIZE && !defined getpagesize.
72996
72997         * lib/mktime.c (leapyear): Arg is long int, not int.
72998
72999 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
73000
73001         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
73002
73003 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
73004
73005         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
73006         missing.  Problem reported by James Youngman.
73007
73008 2004-10-16  Simon Josefsson  <jas@extundo.com>
73009
73010         * gnulib-tool: Fix comments.  Fix parse problem.
73011         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
73012
73013 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
73014
73015         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
73016         implementation of getopt_long.  Problem reported by Alexander Taler in:
73017         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
73018
73019 2004-10-15  Bruno Haible  <bruno@clisp.org>
73020
73021         * gnulib-tool: Untabify. Initialize supplied_libname.
73022         (func_usage): More homogenous output.
73023         (func_modules_transitive_closure, func_modules_to_filelist,
73024         func_emit_lib_Makefile_am): New functions.
73025         (func_import): New function, extracted from big case statement. Use
73026         func_get_license, func_modules_transitive_closure,
73027         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
73028         opt_lgpl. Don't use test -a, as it's not portable.
73029         (func_create_testdir): Use func_modules_transitive_closure,
73030         func_modules_to_filelist, func_emit_lib_Makefile_am.
73031
73032 2004-10-15  Bruno Haible  <bruno@clisp.org>
73033
73034         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
73035
73036 2004-10-15  Bruno Haible  <bruno@clisp.org>
73037
73038         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
73039         the portions belonging to each module.
73040         Suggested by Derek Robert Price <derek@ximbiot.com>.
73041
73042 2004-10-12  Simon Josefsson  <jas@extundo.com>
73043
73044         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
73045         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
73046         to real functions.
73047
73048 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
73049
73050         * modules/vsnprintf: New file.
73051
73052 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
73053
73054         * m4/vsnprintf.m4: New file.
73055
73056 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
73057
73058         * lib/vsnprintf.h: New file.
73059         * lib/vsnprintf.c: New file.
73060
73061 2004-10-11  Bruno Haible  <bruno@clisp.org>
73062
73063         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
73064         vsnprintf.
73065
73066 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
73067
73068         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
73069
73070 2004-10-07  Bruno Haible  <bruno@clisp.org>
73071
73072         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
73073         fits into the provided buffer.
73074
73075 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
73076
73077         * lib/diacrit.c, diacrit.h: Add GPL notice.
73078
73079         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
73080         notice.
73081         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
73082         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
73083         This avoids a potential constant-folding bug.
73084
73085 2004-10-05  Bruno Haible  <bruno@clisp.org>
73086
73087         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
73088         for the declaration of strsep.
73089
73090 2004-10-05  Bruno Haible  <bruno@clisp.org>
73091
73092         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
73093
73094 2004-10-04  Simon Josefsson  <jas@extundo.com>
73095
73096         * modules/memmem: New file.
73097         * tests/test-memmem.c: New file.
73098         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
73099
73100 2004-10-04  Simon Josefsson  <jas@extundo.com>
73101
73102         * m4/memmem.m4: New file.
73103
73104 2004-10-04  Simon Josefsson  <jas@extundo.com>
73105
73106         * lib/memmem.h: New file.
73107         * lib/memmem.c: New file, taken from glibc.
73108
73109 2004-10-04  Simon Josefsson  <jas@extundo.com>
73110
73111         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
73112         '#ifdef USE_UNLOCKED_IO'.
73113
73114 2004-10-04  Simon Josefsson  <jas@extundo.com>
73115
73116         * config/srclist.txt: Add memmem from glibc.
73117
73118 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
73119
73120         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
73121
73122         * modules/argmatch, modules/argp, modules/closeout, modules/error,
73123         modules/exclude, modules/getdate, modules/getline,
73124         modules/getndelim2, modules/getpass, modules/getpass-gnu,
73125         modules/getusershell, modules/linebuffer, modules/md5,
73126         modules/mountlist, modules/posixtm, modules/readtokens,
73127         modules/readutmp, modules/regex, modules/sha1,
73128         modules/version-etc, modules/yesno:
73129         Remove dependency on unlocked-io.
73130
73131 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
73132
73133         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
73134
73135         * m4/unlocked-io.m4: Add copyright notice.
73136         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
73137
73138 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
73139
73140         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
73141         * lib/xmalloc.c (xmemdup): Likewise.
73142         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
73143         XFREE): Remove these long-obsolescent macros.
73144         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
73145         * lib/xstrdup.c: Remove.
73146
73147         * lib/regex.c (re_comp): Cast gettext return value to char *,
73148         Problem reported by Martin Neitzel via Mark D. Baushke.
73149
73150 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
73151
73152         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
73153         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
73154         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
73155         regex.c, sha1.c, version-etc.c, yesno.c:
73156         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
73157         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
73158         the includer's responsibility.
73159
73160         Sync from coreutils.
73161
73162         * lib/modechange.c (mode_compile): Don't decrement a pointer that
73163         points to the start of a string, as the C Standard says the
73164         resulting behavior is undefined.
73165
73166         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
73167         simple -> simple_backups, numbered_existing ->
73168         numbered_existing_backups, numbered -> numbered_backups
73169         to avoid shadowing problems.  All uses changed.
73170         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
73171         * lib/backupfile.c (check_extension, numbered_backup):
73172         Rename locals to avoid shadowing 'basename'.
73173         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
73174         once.
73175
73176         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
73177         * lib/.cvsignore: Add getopt.h.
73178
73179 2004-10-04  Bruno Haible  <bruno@clisp.org>
73180
73181         * modules/README: New file.
73182         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
73183         not a module.
73184
73185 2004-10-02  Jim Meyering  <jim@meyering.net>
73186
73187         * lib/dirfd.h, getpagesize.h: Add copyright notice.
73188
73189 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
73190
73191         * modules/strsep: New file.
73192
73193 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
73194
73195         * m4/strsep.m4: New file.
73196
73197 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
73198
73199         * lib/strsep.h: New file.
73200         * lib/strsep.c: New file.
73201
73202 2004-10-01  Simon Josefsson  <jas@extundo.com>
73203
73204         * lib/snprintf.c (snprintf): Handle size==0.
73205
73206 2004-10-01  Simon Josefsson  <jas@extundo.com>
73207             Bruno Haible  <bruno@clisp.org>
73208
73209         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
73210         (snprintf): Declare 'args'.
73211
73212 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
73213
73214         * lib/snprintf.c: Remove comments as to why each header is needed.
73215
73216 2004-10-01  Bruno Haible  <bruno@clisp.org>
73217
73218         * MODULES.html.sh: Add strsep.
73219
73220 2004-09-30  Simon Josefsson  <jas@extundo.com>
73221
73222         * modules/snprintf: New file.
73223
73224 2004-09-30  Simon Josefsson  <jas@extundo.com>
73225
73226         * m4/snprintf.m4: New file.
73227
73228 2004-09-30  Simon Josefsson  <jas@extundo.com>
73229
73230         * lib/snprintf.h, lib/snprintf.c: New files.
73231
73232 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
73233
73234         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
73235         (hol_entry_help): Never translate an empty string.
73236         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
73237         * lib/argp.h (OPTION_NO_TRANS): New option.
73238
73239 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
73240
73241         * modules/argp (Maintainer): Replace Simon Josefsson
73242         by Sergey Poznyakoff.
73243
73244 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
73245
73246         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
73247         changes merged back into glibc.
73248
73249 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
73250
73251         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
73252
73253 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
73254
73255         * lib/xvasprintf.c: Include xalloc.h.
73256         (xvasprintf): Use xalloc_die, not xmalloc_die.
73257
73258 2004-09-29  Bruno Haible  <bruno@clisp.org>
73259
73260         * modules/alloca-opt: New file, derived from modules/alloca.
73261         * modules/allocsa: Depend on alloca-opt instead of alloca.
73262         * modules/setenv: Likewise.
73263         * modules/vasnprintf: Likewise.
73264         * MODULES.html.sh: Add alloca-opt.
73265
73266 2004-09-28  Simon Josefsson  <jas@extundo.com>
73267
73268         * gnulib-tool: New parameter --lgpl, to asseert that modules are
73269         LGPL, and to replace license template from GPL to LGPL.
73270
73271 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
73272
73273         * modules/dummy: Change license to LGPL.
73274
73275 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
73276
73277         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
73278
73279 2004-09-24  Simon Josefsson  <jas@extundo.com>
73280
73281         * modules/minmax (License): Change from GPL to LGPL.
73282
73283 2004-09-23  Simon Josefsson  <jas@extundo.com>
73284
73285         * gnulib-tool (--import): Typo.
73286
73287 2004-09-23  Simon Josefsson  <jas@extundo.com>
73288
73289         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
73290
73291 2004-09-22  Bruno Haible  <bruno@clisp.org>
73292
73293         * modules/*: Add 'License' field.
73294         * gnulib-tool: Accept --extract-license option.
73295         (func_get_license): New function.
73296
73297 2004-09-21  Bruno Haible  <bruno@clisp.org>
73298
73299         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
73300         Reported by Simon Josefsson.
73301
73302 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
73303
73304         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
73305         gl_AC_TYPE_LONG_LONG.
73306
73307 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
73308
73309         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
73310
73311 2004-09-18  Simon Josefsson  <jas@extundo.com>
73312         and  Paul Eggert  <eggert@cs.ucla.edu>
73313
73314         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
73315         calls with autoreconf.  Define GL_LIB.
73316
73317 2004-09-14  Karl Berry  <karl@gnu.org>
73318
73319         * config/srclist.txt: unsync setenv.c, sigh.
73320
73321 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
73322
73323         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
73324         Problem reported by Bruno Haible in:
73325         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
73326
73327 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
73328
73329         * config/srclist.txt: Comment out argp-pvh.c.
73330
73331 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
73332
73333         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
73334         in case some system header has #define'd it.  Problem reported by
73335         Soeren D. Schulze in
73336         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
73337
73338 2004-09-09  Karl Berry  <karl@gnu.org>
73339
73340         * regex.[ch]: delete from the root.  These were supposed to be
73341                 synced with emacs cvs, but this has not happened for about
73342                 a year, and anyway nothing else uses emacs regex.[ch].
73343                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
73344                 lib/regex[.ch] is untouched.
73345
73346 2004-09-09  Bruno Haible  <bruno@clisp.org>
73347
73348         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
73349
73350 2004-09-09  Bruno Haible  <bruno@clisp.org>
73351
73352         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
73353         modifications.
73354         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
73355
73356 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
73357
73358         * modules/xvasprintf: New file.
73359         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
73360
73361 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
73362
73363         * lib/xvasprintf.h: New file.
73364         * lib/xvasprintf.c: New file.
73365         * lib/xasprintf.c: New file.
73366
73367 2004-09-08  Bruno Haible  <bruno@clisp.org>
73368
73369         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
73370
73371 2004-09-08  Bruno Haible  <bruno@clisp.org>
73372
73373         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
73374         length is > INT_MAX.
73375         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
73376         more.
73377
73378 2004-09-08  Bruno Haible  <bruno@clisp.org>
73379
73380         * lib/stdint_.h: New file, taken from GNU clisp.
73381
73382 2004-09-08  Bruno Haible  <bruno@clisp.org>
73383             Oskar Liljeblad  <oskar@osk.mine.nu>
73384
73385         * modules/stdint: New file.
73386         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
73387
73388 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
73389
73390         Import from coreutils.
73391         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
73392         strings on unbounded length.  alloca's performance benefits aren't
73393         that important here.
73394         (V_STRDUP): Remove.
73395         (parse_with_separator): New function, with most of the internals
73396         of the old parse_user_spec.  Allow user to omit both user and group,
73397         for compatibility with FreeBSD.
73398         Clone only the user name, not the entire spec.
73399         Do not set *uid, *gid unless entirely successful.
73400         Avoid memory leak in some failing cases.
73401         Fix regression for USER.GROUP reported by Dmitry V. Levin in
73402         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
73403         (parse_user_spec): Rewrite to use parse_with_separator.
73404
73405 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
73406
73407         * modules/userspec: Don't depend on alloca.
73408
73409 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
73410
73411         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
73412
73413 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
73414
73415         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
73416         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
73417         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
73418
73419 2004-08-16  Simon Josefsson  <jas@extundo.com>
73420
73421         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
73422         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
73423         Add --dry-run for --import.
73424         Let user provided command line parameters override configure.ac
73425         settings.
73426
73427 2004-08-12  Simon Josefsson  <jas@extundo.com>
73428
73429         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
73430         as discussed with Paul Eggert in threads rooted at
73431         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
73432         and
73433         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
73434         Before, the test was empty, and relied on ELIDE_CODE in source
73435         code.)
73436         (gl_PREREQ_GETOPT): New macro.
73437         (gl_GETOPT): Use them.
73438
73439 2004-08-12  Simon Josefsson  <jas@extundo.com>
73440
73441         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
73442         * lib/getopt_.h: Renamed from getopt.h.
73443
73444 2004-08-12  Simon Josefsson  <jas@extundo.com>
73445
73446         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
73447         Change default library name from libfoo to libgnu.
73448         Now, if you have a configure.ac that says:
73449                 gl_SOURCE_BASE(gl)
73450                 gl_M4_BASE(gl/m4)
73451                 gl_MODULES(error getopt etcetera)
73452                 gl_INIT
73453         you can import all you need by running:
73454                 ../gnulib/gnulib-tool --import
73455
73456         * modules/getopt (Files): Rename getopt.h to getopt_.h.
73457         (Makefile.am): Rewrite, use logic from argz.
73458         (Include): Use <getopt.h> instead of "getopt.h".
73459
73460 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
73461
73462         * modules/argp (Files): Add m4/unlocked-io.m4.
73463         (Depends-on): Add extensions.
73464
73465 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
73466
73467         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
73468         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
73469         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
73470         Check for program_invocation_name, program_invocation_short_name,
73471         flockfile, funlockfile, features.h, _getopt_long_only_r.
73472
73473 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
73474
73475         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
73476         its complicated substitute.
73477         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
73478         and program_invocation_name.
73479         (__argp_basename) [!_LIBC]: Remove; the only use was
73480         replaced by its body.
73481         (__argp_short_program_name): Change condition from
73482         !defined __argp_short_program_name to
73483         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
73484         to match argp-namefrob.h.
73485         (__argp_failure): Don't assume strerror_r returns char *.
73486         * lib/argp-parse.c (N_): Define unconditionally.
73487         (argp_default_options): Fill out initializers with 0 to avoid
73488         gcc warnings.
73489
73490 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
73491
73492         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
73493         getopt1.c.
73494
73495 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
73496
73497         Merge from coreutils.
73498
73499         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
73500
73501         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
73502         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
73503
73504 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
73505
73506         Merge from coreutils.
73507
73508         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
73509         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
73510         for Reliant Unix 5.43.
73511
73512         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
73513         (union fooround): Use uintmax_t, not long int.
73514         The rest is a merge from libc:
73515         [defined _LIBC]: Include <shlib-compat.h>.
73516         (_obstack) [defined _LIBC]: Remove after 2.3.4.
73517
73518         * lib/settime.c (settime): Recode to avoid warning with
73519         Sun Forte C 6U2.
73520
73521         * lib/strverscmp.c: Convert to UTF-8.
73522
73523 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
73524
73525         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
73526         m4/uintmax_t.m4.
73527
73528 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
73529
73530         * modules/xalloc-die: New file.
73531         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
73532
73533         * modules/md5 (Files): Add m4/uint32_t.m4.
73534         * modules/sha1: Renamed from modules/sha.
73535         (Files):
73536         Rename lib/sha.h to lib/sha1.h.
73537         Rename lib/sha.c to lib/sha1.c.
73538         Rename m4/sha.m4 to m4/sha1.m4.
73539         (lib_SOURCES): Likewise.
73540         (configure.ac): Rename gl_SHA to gl_SHA1.
73541         (Include): sha.h -> sha1.h.
73542
73543 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
73544
73545         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
73546         * m4/sha1.m4: Renamed from sha.m4.
73547         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
73548
73549 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
73550
73551         * lib/obstack.h (obstack_empty_p):
73552         Don't assume that chunk->contents is suitably aligned.
73553         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
73554         Likewise. Problem reported by Benno in
73555         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
73556
73557         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
73558         readable.  This could be improved further but it'd take some work.
73559
73560 2004-08-08  Simon Josefsson  <jas@extundo.com>
73561
73562         * modules/xgethostname (Depends-on): Remove exit and error (not
73563         used).
73564
73565         * modules/getpass-gnu: Add getpass.h.
73566         (Depends-on): Add stdbool.
73567         * modules/getpass: Add getpass.h.
73568
73569 2004-08-08  Simon Josefsson  <jas@extundo.com>
73570
73571         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
73572         Check getpass declaration.
73573
73574 2004-08-08  Simon Josefsson  <jas@extundo.com>
73575
73576         * lib/xgethostname.c: Don't include error.h (not used).
73577
73578         * lib/getpass.h: Add.
73579         * lib/getpass.c: Include getpass.h first.
73580
73581 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
73582
73583         * lib/xalloc-die.c: New file.
73584         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
73585         All uses removed.
73586         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
73587         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
73588         xalloc-die.c.
73589         (_, N_, xalloc_die): Move to xalloc-die.c.
73590         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
73591         so that we needn't mess with xalloc_msg_memory_exhausted.
73592
73593         * lib/sha1.h: Renamed from sha.h.
73594         (SHA1_H): Renamed from _SHA_H.
73595         (sha1_ctx): Renamed from sha_ctx.
73596         (sha1_init_ctx): Renamed from sha_init_ctx.
73597         (sha1_process_block): Renamed from sha_process_block.
73598         (sha1_process_bytes): Renamed from sha_process_bytes.
73599         (sha1_finish_ctx): Renamed from sha_finish_ctx.
73600         (sha1_read_ctx): Renamed from sha_read_ctx.
73601         (sha1_stream): Renamed from sha_stream.
73602         (sha1_buffer): Renamed from sha_buffer.
73603         * lib/sha1.c: Likewise; renamed from sha.c.
73604         Do not include <sys/types.h>.
73605         Include <stddef.h> rather than <stdlib.h>.
73606
73607 2004-08-08  Bruno Haible  <bruno@clisp.org>
73608
73609         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
73610         FILESYSTEM_PREFIX_LEN.
73611         * lib/progreloc.c: Likewise.
73612         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
73613
73614 2004-08-06  Simon Josefsson  <jas@extundo.com>
73615
73616         * modules/progname (Depends-on): Don't depend on stdbool.
73617
73618 2004-08-06  Simon Josefsson  <jas@extundo.com>
73619
73620         * modules/getsubopt: New file.
73621         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
73622         getsubopt.
73623
73624 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
73625
73626         More merge from coreutils.
73627
73628         * m4/utimens.m4, m4/utimecmp.m4: New files.
73629         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
73630         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
73631         prereq.m4, sha.m4: Import changes from coreutils.
73632
73633 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
73634
73635         More merge from coreutils.
73636         * modules/raise, modules/readtokens0, modules/utimens:
73637         * modules/utimecmp, module/xnanosleep: New files.
73638         * modules/strftime: Add lib/strftime.h.
73639         Change include from <time.h> to "strftime.h".
73640         * modules/yesno: Add lib/yesno.h.
73641         * modules/backupfile: Remove lib/addext.c.
73642         * modules/euidaccess: Add stat-macros.h.
73643         * modules/canonicalize, modules/euidaccess,
73644         modules/filemode, modules/lchown, modules/makepath,
73645         modules/rmdir, modules/stat: Likewise.
73646
73647 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
73648
73649         Merge from tar.
73650         * lib/argp-help.c (make_hol, hol_append): Don't assume that
73651         SIZE_MAX is a valid preprocessor constant.
73652         (__argp_basename): Change from "#ifndef _LIBC"
73653         to "#ifndef __argp_short_program_name", so that
73654         we don't compile these functions for tar.
73655
73656         More merges from coreutils.
73657         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
73658         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
73659         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
73660         * lib/addext.c: Remove; no longer needed.
73661         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
73662         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
73663         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
73664         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
73665         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
73666         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
73667         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
73668         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
73669         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
73670         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
73671         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
73672         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
73673         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
73674         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
73675         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
73676         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
73677         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
73678         Import changes from coreutils.
73679
73680 2004-08-05  Simon Josefsson  <jas@extundo.com>
73681
73682         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
73683
73684 2004-08-05  Simon Josefsson  <jas@extundo.com>
73685
73686         * m4/getsubopt.m4: New file.
73687
73688 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
73689
73690         Merge from coreutils.
73691
73692         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
73693         * m4/getcwd-path-max.m4: New files.
73694
73695         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
73696         FILESYSTEM_PREFIX_LEN ->
73697         FILE_SYSTEM_PREFIX_LEN.
73698         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
73699         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
73700         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
73701         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
73702
73703         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
73704         prerequisite modules now handle the DOS stuff.
73705         Don't check for unistd.h.
73706
73707 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
73708
73709         Merge from coreutils.
73710
73711         * lib/.gdb-history: Remove; this doesn't belong here.
73712
73713         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
73714         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
73715         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
73716         * lib/getcwd.c: New files.
73717
73718         * lib/dirname.h: Include <stdbool.h>.
73719         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
73720         for consistency with POSIX terminology.  All uses changed.
73721         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
73722         (strip_trailing_slashes): Use bool for booleans.
73723         * lib/stripslash.c (strip_trailing_slashes): Likewise.
73724
73725         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
73726         sometimes returns a positive errno value even when it succeeds.
73727         (print_errno_message) [!LIBC]: Fall back on strerror if
73728         __strerror_r fails.
73729
73730         * lib/path-concat.c (mempcpy): Don't define if a system header defines
73731         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
73732         (longest_relative_suffix): New function.
73733         (path_concat): Use it.  Assume first argument is not NULL.
73734         Port to DOS.  Omit redundant separators.
73735         Report an error instead of returning NULL.
73736         Use mempcpy instead of memcpy.
73737         (xpath_concat): Remove: not declared or used.
73738
73739         * lib/same.h: Include <stdbool.h>
73740         (same_name): Return bool, not int.
73741         * lib/same.c (same_name): Likewise.
73742         (errno): Don't declare; we assume C89 or better now.
73743
73744         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
73745         if not already defined.
73746
73747         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
73748         * lib/dup-safer.c (errno): Likewise.
73749
73750 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
73751
73752         Merge from coreutils.
73753         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
73754         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
73755         * modules/path-concat: Don't depend on strdup.
73756
73757 2004-08-03  Simon Josefsson  <jas@extundo.com>
73758
73759         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
73760         * lib/progname.h: Don't include stdbool.h.
73761
73762 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
73763
73764         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
73765         * MODULES.html.sh (func_all_modules): Remove fatal.
73766
73767 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
73768
73769         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
73770
73771 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
73772
73773         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
73774         working.
73775
73776 2004-08-02  Simon Josefsson  <jas@extundo.com>
73777
73778         * lib/getsubopt.h: New file, with comments from Bruno Haible.
73779         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
73780         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
73781
73782 2004-08-01  Simon Josefsson  <jas@extundo.com>
73783
73784         * lib/xgetdomainname.c: Include stdlib.h, for free().
73785
73786 2004-07-19  Bruno Haible  <bruno@clisp.org>
73787
73788         * MODULES.html.sh (func_all_modules): Add dummy.
73789
73790 2004-07-16  Simon Josefsson  <jas@extundo.com>
73791
73792         * modules/dummy: New file.
73793
73794 2004-07-16  Simon Josefsson  <jas@extundo.com>
73795
73796         * lib/dummy.c: New file.
73797
73798 2004-07-16  Bruno Haible  <bruno@clisp.org>
73799
73800         * lib/backupfile.h: Add extern "C" for C++.
73801         * lib/closeout.h: Likewise.
73802         * lib/copy-file.h: Likewise.
73803         * lib/findprog.h: Likewise.
73804         * lib/full-write.h: Likewise.
73805         * lib/pathname.h: Likewise.
73806         * lib/progname.h: Likewise.
73807         * lib/stpcpy.h: Likewise.
73808         * lib/stpncpy.h: Likewise.
73809         * lib/strcase.h: Likewise.
73810         * lib/strstr.h: Likewise.
73811         * lib/xalloc.h: Likewise.
73812
73813         * lib/mbswidth.h: Add extern "C" for C++.
73814         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
73815
73816 2004-07-13  Robert Millan  <robertmh@gnu.org>
73817
73818         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
73819
73820 2004-07-09  Simon Josefsson  <jas@extundo.com>
73821
73822         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
73823         failed without this.)
73824
73825 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
73826
73827         * modules/chown (Files): Add lib/fchown-stub.c, since
73828         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
73829
73830 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
73831
73832         * lib/fchown-stub.c: New file.
73833
73834 2004-06-24  Jim Meyering  <jim@meyering.net>
73835
73836         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
73837
73838 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
73839
73840         * modules/argz: Omit "#include".
73841
73842         * MODULES.html.sh (func_all_modules): Add calloc, to match
73843         2004-06-01 addition of calloc module.
73844
73845 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
73846
73847         * m4/argz.m4: New file, which is autoupdated from libtool.
73848
73849 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
73850
73851         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
73852         libtool.
73853
73854 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
73855
73856         * config/srclist-update: Don't insist on "USA." before the
73857         close-comment, as libtool omits the period and puts the */ on a
73858         separate line.
73859         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
73860         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
73861
73862 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
73863
73864         * modules/argz: New file.
73865         * MODULES.html.sh (func_all_modules): Add argz.
73866
73867 2004-06-12  Jim Meyering  <jim@meyering.net>
73868         and  Paul Eggert  <eggert@cs.ucla.edu>
73869
73870         * modules/hash (Files): Add lib/xalloc.h.
73871         * modules/pipe (Depends-on): Add wait-process.
73872         * modules/stat (Depends-on): Add xalloc.
73873         * modules/userspec (Files): Add lib/userspec.h.
73874         * modules/xstrto
73875
73876         Upgrade from gettext-0.13.
73877         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
73878         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
73879         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
73880
73881 2004-06-10  Jim Meyering  <jim@meyering.net>
73882
73883         * lib/calloc.c: New file.
73884
73885 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
73886
73887         * lib/getdate.y (yylex): Allow space between sign and number.
73888         Problem reported by Dan Jacobson.
73889
73890 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
73891
73892         Merge from coreutils CVS.
73893
73894         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
73895         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
73896         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
73897         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
73898         xstrtol.m4: Fix copyright date and/or serial number.
73899
73900         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
73901         See if we need an fchown replacement.
73902         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
73903         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
73904         and use the replacement function if we detect either defect.
73905
73906         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
73907         gl_UTIMECMP.
73908
73909 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
73910         and  Jim Meyering  <jim@meyering.net>
73911
73912         Merge from coreutils CVS.
73913
73914         * lib/stat-macros.h: New file, with contents from file-type.h
73915         and coreutils' system.h.
73916         * lib/file-type.c: Include "stat-macros.h".
73917         * lib/file-type.h (file_type): Move all macro definitions to new file,
73918         stat-macros.h.
73919
73920         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
73921         Wrap old code with this conditional.
73922         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
73923         function that does not dereference symlinks.
73924         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
73925
73926         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
73927         dependency problems.
73928         (xreadlink): Accept new arg SIZE, for efficiency.
73929         All decls and uses changed.
73930         * lib/xreadlink.h: Include <stddef.h>, for size_t.
73931
73932         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
73933         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
73934
73935         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
73936         sysexits.h.
73937
73938 2004-06-01  Jim Meyering  <jim@meyering.net>
73939
73940         * m4/calloc.m4: New file.
73941
73942 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
73943
73944         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
73945         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
73946         Also, fix a typo in a diagnostic.
73947
73948 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
73949
73950         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
73951         or AC_FUNC_REALLOC.
73952
73953 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
73954
73955         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
73956         macros to be defined.
73957         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
73958         the allocator returns NULL because the requested size is zero.
73959
73960 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
73961
73962         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
73963         var.  Add comment explaining why libc still defines it.  This
73964         merges the following patch from glibc:
73965         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
73966
73967 2004-05-20  Andreas Schwab  <schwab@suse.de>
73968
73969         * m4/free.m4: Replace free if it not known to work, not the other
73970         way round.
73971
73972 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
73973
73974         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
73975         present in glibc since revision 1.1 of this file.
73976         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
73977         obstack_alignment_mask, obstack_alloc, obstack_base,
73978         obstack_blank, obstack_blank_fast, obstack_chunk_size,
73979         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
73980         obstack_grow0, obstack_init, obstack_int_grow,
73981         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
73982         obstack_next_free, obstack_object_size, obstack_ptr_grow,
73983         obstack_ptr_grow_fast, obstack_room): Remove declarations of
73984         nonexistent functions.
73985
73986 2004-05-18  Karl Berry  <karl@gnu.org>
73987
73988         * config/srclist.txt: break link for vasnprintf.c.
73989
73990 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
73991
73992         Port obstack to the AS/400, where pointers are 16 bytes wide and
73993         you cannot cast an integer to a valid pointer.  This patch is
73994         currently waiting to be integrated into glibc; see
73995         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
73996
73997         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
73998         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
73999         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
74000         (struct obstack): temp member is now a union of a pointer and
74001         an integer, instead of an integer.  All integer uses changed.
74002         This does not affect the physical layout of struct obstack,
74003         except on hosts (like the AS/400) where the size or alignment of
74004         void * is greater than that of ptrdiff_t.
74005         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
74006         __STDC__)]: Store temporary in pointer member of union, not
74007         integer member.
74008         * lib/obstack.c: Include <stddef.h>, for offsetof.
74009         (struct fooalign): Remove; it doesn't need a name.
74010         (union fooround): Change double to long double, and add void *.
74011         (DEFAULT_ALIGNMENT): Use offsetof to compute.
74012         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
74013         not a macro.  Hence the values are always int; so remove all
74014         casts-to-int in uses.
74015
74016 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
74017
74018         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
74019         we can get this patch merged into glibc.
74020
74021 2004-05-17  Derek R. Price  <derek@ximbiot.com>
74022             Paul Eggert  <eggert@cs.ucla.edu>
74023
74024         * m4/argp: Depend on alloca.
74025
74026 2004-05-17  Derek R. Price  <derek@ximbiot.com>
74027             Paul Eggert  <eggert@cs.ucla.edu>
74028
74029         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
74030         freecoding.
74031
74032 2004-05-17  Bruno Haible  <bruno@clisp.org>
74033
74034         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
74035         precision that consists of a '.' followed by an empty digit string.
74036         Patch by Tor Lillqvist <tml@iki.fi>.
74037
74038 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
74039
74040         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
74041         for backward compatibility with older code.  We need our own
74042         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
74043         it under some other name, and our alloca.h will define it.
74044
74045 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
74046             Derek Price  <derek@ximbiot.com>
74047
74048         * lib/alloca.c: Include <alloca.h>, to get our interface.
74049         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
74050         include <alloca.h> first.  Use C89 prototype for alloca; this
74051         requires including <stddef.h> for size_t.  Use extern "C" if C++.
74052         Use #elif for simplicity, since we can assume C89 now.
74053         Don't try to source the system alloca.h since it will not be found
74054         and to prevent recursively including its replacement.
74055         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
74056         * lib/regex.c: Likewise.
74057
74058 2004-05-16  Derek Price  <derek@ximbiot.com>
74059             Paul Eggert  <eggert@cs.ucla.edu>
74060
74061         getline cleanup.  This changes the getndelim2 API: both order of
74062         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
74063         no delimiter).
74064
74065         * lib/getline.c: Don't include stddef.h or stdio.h, since our
74066         interface does that.
74067         (getline): Always use getdelim, so that we don't have two
74068         copies of this code.
74069         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
74070         if available.
74071         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
74072         (GETNDELIM2_MAXIMUM): New macro.
74073         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
74074         instead of the old practice of delim2==0.  All callers changed.
74075         Return -1 on overflow, instead of returning junk.
74076         Do not set *linesize unless allocation succeeds.
74077         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
74078         that we include sys/types.h.
74079         * lib/getnline.h: Likewise.
74080         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
74081         (getndelim2): Reorder arguments.
74082         * lib/getnline.c (getnline, getndelim):
74083         Don't discard the NMAX argument.
74084         (getnline): Invoke getndelim, to avoid code duplication.
74085         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
74086         of (size_t) -1 by callers of the getnline family.
74087
74088 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
74089
74090         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
74091         Check for gettimeofday.
74092         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
74093         Check for settimeofday, stime.
74094
74095 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
74096
74097         * lib/nanosleep.c (suspended): Change its type from int to
74098         sig_atomic_t volatile.
74099         (first_call): Make it private to rpl_nanosleep, and have it
74100         be zero initially as that's a bit faster.
74101         (my_usleep): Round up fractional times instead of truncating them,
74102         as this is the usual meaning for 'sleep'.
74103
74104         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
74105         doesn't work.
74106         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
74107         (ENOSYS): Define if not defined.
74108         (settime): Fall back on stime if it exists and settimeofday fails.
74109         But don't bother with fallbacks if a method fails with errno == EPERM.
74110
74111 2004-05-11  Jim Meyering  <jim@meyering.net>
74112
74113         Prior to this change, the save_cwd caller required read access to the
74114         current directory on most systems (ones with the fchdir function).
74115
74116         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
74117         fails, try write-only, and finally, resort to using xgetcwd.
74118
74119 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
74120
74121         * lib/obstack.c, obstack.h: Import changes from libc.
74122
74123 2004-04-28  Bruno Haible  <bruno@clisp.org>
74124
74125         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
74126         also implicitly appends .exe to executables.
74127         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
74128         accepts Windows pathnames.
74129         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
74130         Treat Cygwin like Windows, since it now accepts Windows pathnames.
74131         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
74132         Treat Cygwin like Windows, since it now accepts Windows pathnames.
74133         Reported by Derek Robert Price <derek@ximbiot.com>.
74134
74135 2004-04-21  Karl Berry  <karl@gnu.org>
74136
74137         * config/srclist.txt (localcharset.c): break sync.
74138
74139 2004-04-20  Paul Eggert  <eggert@twinsun.com>
74140
74141         * m4/host-os.m4: Add a copyright notice.
74142
74143 2004-04-20  Jim Meyering  <jim@meyering.net>
74144
74145         Change UTILS_ to gl_ in AC_DEFINE'd names.
74146         Change utils_- and jm_-prefixed variables, too.
74147         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
74148         UTILS_FUNC_MKDIR_TRAILING_SLASH.
74149         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
74150
74151         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
74152         Don't emit trailing blanks.
74153         Also rename jm_-prefixed variables to have gl_ prefix.
74154
74155         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
74156         Also rename jm_-prefixed variables to have gl_ prefix.
74157
74158         * m4/jm-macros.m4: Reflect the renamings.
74159         * m4/prereq.m4: Likewise.
74160
74161 2004-04-20  Jim Meyering  <jim@meyering.net>
74162
74163         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
74164         memory.
74165
74166 2004-04-20  Jim Meyering  <jim@meyering.net>
74167             Bruno Haible  <bruno@clisp.org>
74168
74169         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
74170         memory when realloc fails.
74171
74172 2004-04-19  Jim Meyering  <jim@meyering.net>
74173
74174         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
74175         now that readutmp.c may call `free (0)'.
74176
74177 2004-04-19  Bruno Haible  <bruno@clisp.org>
74178
74179         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
74180         * m4/inttypes_h.m4: Likewise.
74181         * m4/stdint_h.m4: Likewise.
74182         * m4/intmax_t.m4: Likewise.
74183         * m4/uintmax_t.m4: Likewise.
74184
74185 2004-04-18  Jim Meyering  <jim@meyering.net>
74186
74187         * m4/prereq.m4: Don't forbid jm_ prefix.
74188
74189         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
74190         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
74191         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
74192         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
74193         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
74194         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
74195         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
74196         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
74197         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
74198         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
74199         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
74200         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
74201         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
74202         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
74203         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
74204         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
74205         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
74206         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
74207         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
74208
74209 2004-04-18  Jim Meyering  <jim@meyering.net>
74210
74211         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
74212         failure, don't leak memory and do call END_UTMP_ENT.
74213
74214 2004-04-16  Jim Meyering  <jim@meyering.net>
74215
74216         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
74217         coreutils' stat program.
74218         (gl_PREREQ): Don't require jm_PREREQ_STAT.
74219
74220 2004-04-11  Paul Eggert  <eggert@twinsun.com>
74221
74222         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
74223         C89.
74224         (CHAR_BIT): Remove, since we assume C89.
74225         Include <stdint.h> if available, as per current Autoconf CVS advice.
74226
74227 2004-03-31  Jim Meyering  <jim@meyering.net>
74228
74229         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
74230         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
74231         * m4/xalloc.m4: Likewise.
74232
74233 2004-03-30  Paul Eggert  <eggert@twinsun.com>
74234
74235         Merge from coreutils.
74236
74237         * m4/inttostr.m4: New file.
74238         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
74239         Require AM_STDBOOL_H and gl_TIMESPEC instead.
74240         Require gl_CLOCK_TIME.
74241         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
74242
74243 2004-03-30  Paul Eggert  <eggert@twinsun.com>
74244
74245         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
74246         not bool, to be more consistent with Unix conventions.
74247         Suggested by Bruno Haible.
74248
74249         Merge from coreutils.
74250
74251         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
74252         * lib/umaxtostr.c: New files.
74253
74254         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
74255         the usual <time.h> dance.
74256         (get_date): Change signature to support fractional time stamps.
74257         All callers changed.
74258         * lib/getdate.y: Include "getdate.h" first, as we can now
74259         assume C89 and don't need to worry about 'const'.
74260         Similarly, include "unlocked-io.h" near start, not in middle.
74261         Include <limits.h>.
74262         (textint.value): Use long int rather than int.
74263         (textint.digits): Use size_t rather than int.
74264         (BILLION, LOG10_BILLION): New constants.
74265         (parser_control): New member rel_ns.  Members day_ordinal,
74266         time_zone, month, day, hour, minutes, rel_year, rel_month,
74267         rel_day, rel_hour, rel_minutes, rel_seconds
74268         are now long int, not int.  Member seconds is now struct timespec,
74269         not int.  New member timespec_seen.  Members dates_seen, days_seen,
74270         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
74271         not int.
74272         (%union.intval): Now long int, not int.
74273         New member timespec.
74274         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
74275         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
74276         (spec): Now is a timespec or an item list.
74277         (timespec, items): New nonterminals.
74278         (time, rel, relunit, number, get_date):
74279         Add support for fractional seconds.
74280         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
74281         (gmtime, localtime, mktime): Remove decls; not needed with C89.
74282         (to_hour): First arg is now long int, not int.
74283         (to_year): Returns long int, not int.
74284         Don't treat year -70 like 70.
74285         (tm_diff): Returns long int, not int.
74286         (lookup_word): Use bool instead of int when appropriate.
74287         (yylex): Use size_t for count, not int.
74288         Detect overflow when parsing large integer constants.
74289         Add support for fractions.
74290         (get_date): Make pointers 'const' if possible.
74291         Use more-portable code to detect integer overflow.
74292         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
74293         Don't use ctime; it's not reliable if the year has >4 digits.
74294
74295         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
74296         This is for compatibility with BSD.
74297
74298         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
74299         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
74300         From coreutils' system.h.
74301
74302         * lib/userspec.c: Don't include "posixver.h".
74303         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
74304         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
74305         compatible extension.  Simplify code by removing a boolean int
74306         that was always nonzero if a string was nonnull.
74307
74308 2004-03-30  Jim Meyering  <jim@meyering.net>
74309
74310         Merge from coreutils.
74311
74312         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
74313         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
74314         on some systems one must include <grp.h> before it.
74315         Reported by Christian Krackowizer.
74316
74317 2004-03-30  Jim Meyering  <jim@meyering.net>
74318
74319         Merge from coreutils.
74320
74321         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
74322
74323         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
74324         an empty input stream.
74325
74326         * lib/readtokens.c: Include <stdbool.h>.
74327         (readtoken): Use `size_t' rather than int/long.
74328         All callers adjusted.
74329         Use `bool' rather than `int' where appropriate.
74330         Use memset rather than an explicit loop.
74331         Use x2nrealloc rather than xrealloc.
74332         Allow the use of `\0' as a delimiter.
74333         (readtokens): Likewise.
74334         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
74335
74336 2004-03-30  Jim Meyering  <jim@meyering.net>
74337
74338         * m4/realloc.m4: Remove file, since now it does no more than
74339         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
74340         the `configure.ac' section of module/realloc.
74341         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
74342
74343 2004-03-30  Bruno Haible  <bruno@clisp.org>
74344
74345         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
74346         nonnull.
74347
74348 2004-03-29  Paul Eggert  <eggert@twinsun.com>
74349
74350         Merge changes to getloadavg.c from coreutils and Emacs.
74351
74352         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
74353         Define to an expression, not to the empty string.
74354         Include cloexec.h and xalloc.h.
74355         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
74356         Use set_cloexec_flag rather than rolling our own.
74357         * lib/cloexec.c, lib/cloexec.h: New files.
74358
74359 2004-03-29  Paul Eggert  <eggert@twinsun.com>
74360
74361         * m4/cloexec.m4: New file.
74362
74363 2004-03-18  Paul Eggert  <eggert@twinsun.com>
74364
74365         * lib/getopt.h: Sync with libc CVS.
74366
74367 2004-03-18  Paul Eggert  <eggert@twinsun.com>
74368             Bruno Haible  <bruno@clisp.org>
74369
74370         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
74371         mbswidth.
74372
74373 2004-03-18  Paul Eggert  <eggert@twinsun.com>
74374             Bruno Haible  <bruno@clisp.org>
74375
74376         * lib/mbswidth.h: Include <wchar.h> only if
74377         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
74378         <wchar.h>.
74379         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
74380
74381 2004-03-09  Paul Eggert  <eggert@twinsun.com>
74382
74383         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
74384         Sync with libc CVS.
74385         * lib/getopt_int.h: New file, also synced from libc.
74386
74387 2004-03-09  Paul Eggert  <eggert@twinsun.com>
74388
74389         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
74390         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
74391         Bring back getopt.c, getopt.h, getopt1.c.
74392
74393 2004-03-07  Paul Eggert  <eggert@twinsun.com>
74394
74395         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
74396         All uses changed.  Check for sa_sigaction member; this fixes
74397         a bug first reported by Jason Andrade in
74398         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
74399
74400 2004-03-07  Paul Eggert  <eggert@twinsun.com>
74401
74402         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
74403         '#if' expressions.  Unlike the code it replaces, it does not
74404         depend on (defined _SC_PAGESIZE).  However, it does depend on
74405         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
74406         first reported by Jason Andrade in
74407         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
74408
74409 2004-02-25  Simon Josefsson  <jas@extundo.com>
74410
74411         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
74412
74413 2004-02-25  Simon Josefsson  <jas@extundo.com>
74414
74415         * lib/strdup.h: New file.
74416         * lib/strdup.c: Include it.
74417         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
74418         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
74419
74420 2004-02-23  Karl Berry  <karl@gnu.org>
74421
74422         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
74423         (from fencepost.gnu.org:/gd/gnuorg).
74424
74425 2004-02-23  Karl Berry  <karl@gnu.org>
74426
74427         * config/srclistvars.sh (GNUORG) [karl]: redefine.
74428         * config/srclist.txt: add maintain/standards documents.
74429
74430 2004-02-18  Bruno Haible  <bruno@clisp.org>
74431
74432         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
74433         Reported by Derek Robert Price <derek@ximbiot.com>.
74434
74435 2004-02-16  Karl Berry  <karl@gnu.org>
74436
74437         * config/mkinstalldirs, install-sh: update from automake.
74438
74439 2004-02-06  Karl Berry  <karl@gnu.org>
74440
74441         * m4/po.m4: update from gettext 0.14.1.
74442
74443 2004-02-06  Karl Berry  <karl@gnu.org>
74444
74445         * lib/config.charset: update from gettext 0.14.1.
74446
74447 2004-02-05  Paul Eggert  <eggert@twinsun.com>
74448
74449         Add comments and code, prompted by suggestions from Bruno Haible
74450         for sh-quote.
74451         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
74452         describing the enum quoting_style values.
74453         * lib/quotearg.c (quotearg_alloc): New function.
74454         (quotearg_buffer_restyled): Treat lone { and } as special.
74455         Treat = as special.  Work around bug with older shells
74456         that "see" a '\' that is really the 2nd byte of a multibyte char.
74457         Quote empty string with shell_quoting_style.
74458
74459 2004-02-03  Bruno Haible  <bruno@clisp.org>
74460
74461         * m4/pipe.m4: New file, from GNU gettext.
74462
74463 2004-02-03  Bruno Haible  <bruno@clisp.org>
74464
74465         * lib/pipe.h: New file, from GNU gettext.
74466         * lib/pipe.c: New file, from GNU gettext.
74467
74468 2004-01-27  Bruno Haible  <bruno@clisp.org>
74469
74470         * m4/execute.m4: New file, from GNU gettext.
74471
74472 2004-01-27  Bruno Haible  <bruno@clisp.org>
74473
74474         * lib/execute.h: New file, from GNU gettext.
74475         * lib/execute.c: New file, from GNU gettext.
74476         * lib/w32spawn.h: New file, from GNU gettext.
74477
74478 2004-01-24  Paul Eggert  <eggert@twinsun.com>
74479
74480         Merge from diffutils.
74481
74482         * lib/file-type.c (file_type): Add typed memory objects.
74483         * lib/file-type.h (S_TYPEISTMO): New macro.
74484
74485         * lib/c-stack.h (c_stack_action): Remove argv argument.
74486         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
74487         (die): Don't calculate message unless segv_action returns.
74488         (get_stack_location, min_address_from_argv, max_address_from_argv,
74489         volatile stack_base, volatile_stack_size): Remove.
74490         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
74491         that every segmentation violation is a stack overflow.  (Ouch!)
74492         See Debian bug 136249 (still outstanding) for more info about why
74493         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
74494
74495 2004-01-24  Paul Eggert  <eggert@twinsun.com>
74496
74497         Exit-status fix from coreutils.
74498
74499         Use exit_failure consistently in place of EXIT_FAILURE,
74500         so that program exit statuses are consistent on failure.
74501
74502         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
74503         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
74504         * lib/argmatch.h: Comment fix to match the above.
74505         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
74506         Now a macro referring to exit_failure, instead of a separate
74507         variable.  Include "exitfail.h" to get it.
74508         * lib/xstrtol.h: Include "exitfail.h".
74509         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
74510
74511         * lib/long-options.c (parse_long_options): Use prototype
74512         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
74513         for clarity.
74514
74515 2004-01-21  Jim Meyering  <jim@meyering.net>
74516
74517         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
74518         so as not to conflict with a different-sized __mktime_internal
74519         function in GNU libc.
74520         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
74521         Problem building statically-linked `ls' reported by Michael Brunnbauer.
74522
74523 2004-01-20  Karl Berry  <karl@gnu.org>
74524
74525         * config/config.guess: update from config.
74526
74527         * config/srclistvars.sh: GNUWWWLICENSES for karl.
74528
74529 2004-01-20  Bruno Haible  <bruno@clisp.org>
74530
74531         Safer stack allocation.
74532         * lib/setenv.c: Include allocsa.h.
74533         (alloca): Remove fallback definition.
74534         (freea): Remove macro.
74535         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
74536         instead of freea.
74537
74538 2004-01-20  Bruno Haible  <bruno@clisp.org>
74539
74540         * m4/eealloc.m4: New file, from GNU gettext.
74541
74542 2004-01-20  Bruno Haible  <bruno@clisp.org>
74543
74544         * m4/allocsa.m4: New file, from GNU gettext.
74545
74546 2004-01-20  Bruno Haible  <bruno@clisp.org>
74547
74548         * lib/xallocsa.h: New file, from GNU gettext.
74549         * lib/xallocsa.c: New file, from GNU gettext.
74550
74551 2004-01-20  Bruno Haible  <bruno@clisp.org>
74552
74553         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
74554
74555 2004-01-20  Bruno Haible  <bruno@clisp.org>
74556
74557         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
74558         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
74559         specially.
74560
74561 2004-01-20  Bruno Haible  <bruno@clisp.org>
74562
74563         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
74564         patch.
74565
74566 2004-01-20  Bruno Haible  <bruno@clisp.org>
74567
74568         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
74569
74570 2004-01-20  Bruno Haible  <bruno@clisp.org>
74571
74572         * lib/eealloc.h: New file.
74573
74574 2004-01-20  Bruno Haible  <bruno@clisp.org>
74575
74576         * lib/binary-io.h: Avoid warnings on Cygwin.
74577
74578 2004-01-20  Bruno Haible  <bruno@clisp.org>
74579
74580         * lib/allocsa.h: New file, from GNU gettext.
74581         * lib/allocsa.c: New file, from GNU gettext.
74582
74583 2004-01-18  Karl Berry  <karl@gnu.org>
74584
74585         * doc/gpl.texi, doc/lgpl.texi: new files.
74586
74587 2004-01-18  Karl Berry  <karl@gnu.org>
74588
74589         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
74590         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
74591
74592 2004-01-15  Paul Eggert  <eggert@twinsun.com>
74593
74594         Merge from coreutils.
74595
74596         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
74597         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
74598         (gl_DEFAULT_POSIX2_VERSION): Move
74599         the documentation from 'configure' into 'config.hin',
74600         so that 'configure --help' isn't burdened by it and
74601         we don't have to worry about its formatting there.
74602         Reword the documentation so that it's more succinct
74603         and can be run together into a single paragraph.
74604         * m4/same.m4 (gl_SAME): Check for pathconf.
74605
74606 2004-01-15  Paul Eggert  <eggert@twinsun.com>
74607
74608         Merge from coreutils.
74609
74610         * lib/posixver.c: Include posixver.h.
74611
74612         * lib/same.c: Include <stdbool.h>, <limits.h>.
74613         (_POSIX_NAME_MAX): Define if not defined.
74614         (MIN): New macro.
74615         (same_name): If file names are silently truncated, report
74616         that the file names are the same if they are the same after
74617         the silent truncation.
74618
74619         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
74620         conversion function.
74621         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
74622         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
74623         longer needed.
74624
74625 2004-01-15  Jim Meyering  <jim@meyering.net>
74626
74627         Merge from coreutils.
74628
74629         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
74630         if no library is required.
74631         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
74632         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
74633         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
74634         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
74635         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
74636         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
74637         value, $ac_cv_search_crypt, if it's "none required".
74638         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
74639         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
74640         not gl_FUNC_GETLOADAVG.
74641         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
74642         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
74643
74644 2004-01-15  Jim Meyering  <jim@meyering.net>
74645
74646         Merge from coreutils.
74647
74648         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
74649         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
74650         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
74651
74652         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
74653         optional configure-time default.
74654
74655         * lib/version-etc.c (version_etc_copyright): Update copyright date.
74656
74657         * lib/xreadlink.c (xreadlink): Correct outdated comment.
74658
74659 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
74660
74661         Merge from coreutils.
74662
74663         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
74664         value, $ac_cv_search_nanosleep, if it's "none required".
74665
74666 2004-01-14  Paul Eggert  <eggert@twinsun.com>
74667
74668         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
74669         with like-named macro in fnmatch.c.
74670         (EXT): Use an internal constant instead.
74671
74672         Merge fnmatch patches from glibc.
74673         * lib/fnmatch.c (mbsinit): Remove define.
74674         Add libc_hidden_ver (__fnmatch, fnmatch).
74675         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
74676         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
74677
74678 2004-01-14  Karl Berry  <karl@gnu.org>
74679
74680         * config/install-sh: update from automake.
74681
74682 2004-01-13  Karl Berry  <karl@gnu.org>
74683
74684         * config/install-sh: update from automake.
74685
74686 2004-01-09  Karl Berry  <karl@gnu.org>
74687
74688         * config/install-sh: update from automake.
74689
74690 2004-01-05  Karl Berry  <karl@gnu.org>
74691
74692         * config/config.{sub,guess}: update from config.
74693
74694 2003-12-31  Karl Berry  <karl@gnu.org>
74695
74696         * config/depcomp: update from automake.
74697
74698 2003-12-14  Karl Berry  <karl@gnu.org>
74699
74700         * lib/config.charset: update from gettext-runtime.
74701
74702 2003-12-03  Paul Eggert  <eggert@twinsun.com>
74703
74704         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
74705         Bug reported by Alfred M. Szmidt.
74706
74707 2003-12-03  Bruno Haible  <bruno@clisp.org>
74708
74709         * m4/gettext.m4: Upgrade from gettext-0.13.
74710         * m4/po.m4: Upgrade from gettext-0.13.
74711         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
74712         * m4/intmax.m4: New file, from gettext-0.13.
74713         * m4/printf-posix.m4: New file, from gettext-0.13.
74714
74715 2003-11-29  Karl Berry  <karl@gnu.org>
74716
74717         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
74718
74719 2003-11-25  Paul Eggert  <eggert@twinsun.com>
74720             Bruno Haible  <bruno@clisp.org>
74721
74722         * lib/printf-parse.h: Don't include sys/types.h.
74723         (ARG_NONE): New macro.
74724         (char_directive): Change type of *arg_index fields to size_t.
74725         * lib/printf-parse.c: Don't include sys/types.h.
74726         (SSIZE_MAX): Remove macro.
74727         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
74728         Remove unnecessary overflow check.
74729         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
74730         fields.
74731
74732 2003-11-25  Bruno Haible  <bruno@clisp.org>
74733
74734         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
74735
74736 2003-11-25  Bruno Haible  <bruno@clisp.org>
74737
74738         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
74739         gt_TYPE_SSIZE_T.
74740
74741 2003-11-24  Paul Eggert  <eggert@twinsun.com>
74742
74743         * modules/alloca: Remove dependency on xalloc.
74744
74745 2003-11-24  Paul Eggert  <eggert@twinsun.com>
74746
74747         * lib/alloca.c: Remove dependency on xalloc module.
74748         (xalloc_die): Remove.
74749         (memory_full) [!defined emacs]: New macro.
74750         [!defined emacs]: Don't include xalloc.h.
74751         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
74752         address arithmetic overflows.  Change datatypes a bit to avoid
74753         unnecessary casts.
74754
74755 2003-11-22  Jim Meyering  <jim@meyering.net>
74756
74757         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
74758         s/size/size_t/.
74759
74760 2003-11-21  Karl Berry  <karl@gnu.org>
74761
74762         * config/config.{sub,guess}: update from config.
74763
74764 2003-11-18  Karl Berry  <karl@gnu.org>
74765
74766         * config/config.{sub,guess}: update from config.
74767
74768         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
74769
74770 2003-11-17  Paul Eggert  <eggert@twinsun.com>
74771
74772         * README: Mention that S+T cannot overflow if S is the size of
74773         an existing object and T is sufficiently small.
74774
74775 2003-11-17  Jim Meyering  <jim@meyering.net>
74776
74777         On systems without utime and without a utimes function capable of
74778         dealing with a NULL struct utimbuf* argument, this utime replacement
74779         could -- in unusual circumstances -- leak a file descriptor.
74780         * lib/utime.c: Include <unistd.h> and <errno.h>.
74781         (utime_null): Be sure to close `fd' and to preserve errno.
74782         Reported by Geoff Collyer via Arnold Robbins.
74783
74784 2003-11-17  Bruno Haible  <bruno@clisp.org>
74785
74786         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
74787         (Depends-on): Add xsize.
74788
74789 2003-11-17  Bruno Haible  <bruno@clisp.org>
74790
74791         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
74792
74793 2003-11-17  Bruno Haible  <bruno@clisp.org>
74794
74795         * lib/vasnprintf.c (alloca): Remove fallback definition.
74796         (freea): Remove definition.
74797         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
74798         Reported by Paul Eggert.
74799
74800 2003-11-16  Paul Eggert  <eggert@twinsun.com>
74801             Bruno Haible  <bruno@clisp.org>
74802
74803         Protect against address arithmetic overflow.
74804         * lib/printf-args.h: Include stddef.h.
74805         (arguments): Change type of field 'count' to size_t.
74806         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
74807         'unsigned int' where appropriate.
74808         * lib/printf-parse.h: Include sys/types.h.
74809         (char_directive): Change type of *arg_index fields to ssize_t.
74810         (char_directives): Change type of fields 'count', max_*_length to
74811         size_t.
74812         * lib/printf-parse.c: Include sys/types.h and xsize.h.
74813         (SSIZE_MAX): Define fallback value.
74814         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
74815         instead of 'int' where appropriate. Check a_allocated, d_allocated
74816         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
74817         * lib/vasnprintf.c: Include xsize.h.
74818         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
74819         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
74820         overflow. Avoid wraparound when converting a width or precision from
74821         decimal to binary.
74822
74823 2003-11-16  Bruno Haible  <bruno@clisp.org>
74824
74825         Update from GNU gettext.
74826         * lib/printf-parse.c: Generalize to it can be compiled for wide
74827         strings.
74828         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
74829         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
74830         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
74831         SNPRINTF): New macros.
74832         Don't include <alloca.h> if the file is used inside libintl.
74833         (local_wcslen): New function, for Solaris 2.5.1.
74834         (VASNPRINTF): Use it instead of wcslen.
74835
74836 2003-11-16  Bruno Haible  <bruno@clisp.org>
74837
74838         * lib/xsize.h (xmax): New function.
74839         (xsum, xsum3, xsum4): Declare as "pure" functions.
74840
74841 2003-11-12  Paul Eggert  <eggert@twinsun.com>
74842
74843         * modules/xalloc (Files): Undo latest change, since xalloc.h
74844         no longer needs SIZE_MAX or PTRDIFF_MAX.
74845
74846 2003-11-12  Paul Eggert  <eggert@twinsun.com>
74847
74848         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
74849         gl_PTRDIFF_MAX.
74850
74851 2003-11-12  Paul Eggert  <eggert@twinsun.com>
74852
74853         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
74854         "return", to pacify some unknown compiler.  Problem reported
74855         by Joerg Schilling.
74856
74857 2003-11-12  Paul Eggert  <eggert@twinsun.com>
74858
74859         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
74860         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
74861         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
74862         heuristic is just as accurate as far as we know, and it removes a
74863         dependency on size_max.m4 and ptrdiff_max.m4.
74864
74865 2003-11-11  Bruno Haible  <bruno@clisp.org>
74866
74867         * modules/xsize (Files): Add m4/size_max.m4.
74868         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
74869
74870 2003-11-11  Bruno Haible  <bruno@clisp.org>
74871
74872         * m4/size_max.m4: New file.
74873         * m4/ptrdiff_max.m4: New file.
74874         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
74875         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
74876         (gl_XALLOC): Invoke it.
74877
74878 2003-11-11  Bruno Haible  <bruno@clisp.org>
74879
74880         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
74881         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
74882         defined.
74883
74884 2003-11-10  Paul Eggert  <eggert@twinsun.com>
74885
74886         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
74887         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
74888         rejected some allocations of exactly SIZE_MAX - 2 bytes.
74889         From Bruno Haible.
74890         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
74891         not (size_t) -1, since it's defined here.
74892
74893 2003-11-09  Karl Berry  <karl@gnu.org>
74894
74895         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
74896
74897 2003-11-06  Paul Eggert  <eggert@twinsun.com>
74898
74899         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
74900         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
74901         Reject sizes of exactly SIZE_MAX bytes.
74902         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
74903         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
74904
74905 2003-11-05  Bruno Haible  <bruno@clisp.org>
74906
74907         * lib/xsize.h: Include limits.h, to avoid a possible collision with
74908         SIZE_MAX defined in <limits.h> on Solaris.
74909
74910 2003-11-04  Jim Meyering  <jim@meyering.net>
74911
74912         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
74913         variable names, rather than @VAR@.
74914         * modules/poll: Likewise.
74915
74916 2003-11-04  Bruno Haible  <bruno@clisp.org>
74917
74918         * modules/xsize: New file.
74919         * modules/linebreak: Depend on xsize.
74920         * MODULES.html.sh (func_all_modules): Add xsize.
74921
74922 2003-11-04  Bruno Haible  <bruno@clisp.org>
74923
74924         * m4/xsize.m4: New file.
74925
74926 2003-11-04  Bruno Haible  <bruno@clisp.org>
74927
74928         * lib/xsize.h: New file.
74929         * lib/linebreak.c: Include xsize.h.
74930         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
74931         argument for overflow.
74932         Suggested by Paul Eggert.
74933
74934 2003-11-03  Karl Berry  <karl@gnu.org>
74935
74936         * config/config.{guess,sub}: update from config.
74937
74938 2003-11-03  Jim Meyering  <jim@meyering.net>
74939
74940         * modules/userspec (lib_SOURCES): Add userspec.h.
74941         (Include): Add "userspec.h".
74942         Improve description.
74943
74944 2003-11-03  Jim Meyering  <jim@meyering.net>
74945
74946         * lib/userspec.c: Include "userspec.h".
74947         * lib/userspec.h: New file.
74948
74949 2003-11-03  Bruno Haible  <bruno@clisp.org>
74950
74951         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
74952
74953 2003-11-03  Bruno Haible  <bruno@clisp.org>
74954
74955         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
74956         available, to avoid (extremely rare) race condition.
74957         Suggested by Paul Eggert.
74958
74959 2003-11-02  Karl Berry  <karl@gnu.org>
74960
74961         * config/srclist.txt (vasprintf.c): sync broken, sigh.
74962
74963 2003-10-31  Paul Eggert  <eggert@twinsun.com>
74964
74965         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
74966         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
74967         (read_filesystem_list): Set and use me_type_malloced.
74968         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
74969         whatever the type happens to be), for brevity and consistency.
74970         Check for size calculation overflow on Alphas running OSF/1.
74971
74972 2003-10-31  Jim Meyering  <jim@meyering.net>
74973
74974         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
74975
74976         * lib/linebuffer.c: Include <string.h> for declaration of memset.
74977
74978 2003-10-30  Paul Eggert  <eggert@twinsun.com>
74979             Bruno Haible  <bruno@clisp.org>
74980
74981         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
74982         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
74983
74984 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
74985
74986         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
74987         netbsd*-gnu*.  Suggested by Robert Millan.
74988
74989 2003-10-29  Paul Eggert  <eggert@twinsun.com>
74990
74991         * modules/group-member: Depend on stdbool.
74992
74993 2003-10-29  Paul Eggert  <eggert@twinsun.com>
74994
74995         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
74996
74997 2003-10-29  Paul Eggert  <eggert@twinsun.com>
74998
74999         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
75000         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
75001         after the 'gnu' in these cases.  This fixes some bugs in the
75002         previous change, and is based on suggestions by Robert Millan.
75003
75004 2003-10-29  Paul Eggert  <eggert@twinsun.com>
75005
75006         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
75007         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
75008         no longer needed.
75009         * lib/quotearg.c (quotearg_n_options): Use it.
75010         * lib/group-member.c: Include <stdbool.h>.
75011         (free_group_info): Arg is now const *; don't free arg.
75012         (get_group_info): Now returns bool and accepts struct group_info *,
75013         rather than returning a malloc'ed struct group_info *.
75014         All uses changed.  Check for overflow in internal size calculation.
75015
75016         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
75017         rather than xmalloc/xrealloc.
75018         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
75019         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
75020         conformance bug: the old code used a pointer after freeing the
75021         storage that it addressed.
75022         * lib/hash.c (hash_initialize): Simplify the code by using
75023         xalloc_oversized rather than doing it by hand.
75024         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
75025         the buffer preserved.  Use free and xmalloc instead.
75026         * lib/quotearg.c (quotearg_n_options): Likewise.
75027         Use a simpler test for size overflow.  Don't use xalloc_oversized
75028         because unsigned int might be wider than size_t (!); this suggests
75029         that we should switch from unsigned int to size_t for slot numbers.
75030
75031 2003-10-28  Paul Eggert  <eggert@twinsun.com>
75032
75033         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
75034         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
75035         NetBSD kernels.  Requested by Richard Stallman.
75036
75037 2003-10-27  Paul Eggert  <eggert@twinsun.com>
75038
75039         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
75040         to allocate the returned structure.  Do not allocate a subarray,
75041         as x2nrealloc will do that.
75042         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
75043         instead of xnrealloc.
75044         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
75045
75046 2003-10-27  Bruno Haible  <bruno@clisp.org>
75047
75048         * lib/stdbool_.h: Better support for BeOS.
75049
75050 2003-10-26  Paul Eggert  <eggert@twinsun.com>
75051
75052         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
75053         now uses inline.
75054
75055 2003-10-26  Paul Eggert  <eggert@twinsun.com>
75056
75057         * lib/xalloc.h (xalloc_oversized): New static inline function, for
75058         callers that want to do their own size-overflow checking.  Include
75059         <stdbool.h>, since xalloc_oversized returns bool.
75060         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
75061         to use xalloc_oversized.
75062
75063         Add two functions x2realloc, x2nrealloc, for programs that grow
75064         arrays dynamically by doubling their sizes.
75065         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
75066         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
75067         New functions.
75068
75069         Port to C99 semantics for 'inline' of external functions.
75070         Bug reported by Bruno Haible.
75071         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
75072         with the old contents of xnmalloc.
75073         (xnmalloc, xmalloc): Use it.
75074         (xnrealloc_inline): New static inline function,
75075         with the old contents of xnrealloc.
75076         (xnrealloc, xrealloc): Use it.
75077
75078         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
75079         that.
75080
75081 2003-10-26  Karl Berry  <karl@gnu.org>
75082
75083         * config/srclist.txt (COPYING.DOC): no longer available from
75084         /gd/gnuorg; don't know where the ultimate source is.
75085
75086 2003-10-25  Paul Eggert  <eggert@twinsun.com>
75087
75088         Fix several address-calculation bugs in the hash modules,
75089         plus some minor code cleanup.
75090
75091         * lib/hash.h: Include <stdbool.h>, for bool.
75092         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
75093         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
75094         hash_get_n_entries, hash_get_max_bucket_length,
75095         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
75096         hash_rehash): Use size_t rather than unsigned.
75097         * lib/hash.c (struct hash_table, hash_get_n_buckets,
75098         hash_get_n_buckets_used, hash_get_n_entries,
75099         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
75100         hash_get_entries, hash_do_for_each, hash_string, is_prime,
75101         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
75102         Likewise.
75103         (SIZE_MAX): Define if not defined.
75104         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
75105         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
75106         hash_print):
75107         Use const * when possible.
75108         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
75109         (check_tuning): Fix bug: if tuning parameters were very close to
75110         0 or 1, rounding errors could have caused subscript violations.
75111         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
75112         (hash_initialize): Add 'fail:' label
75113         to free table and return NULL, and use it to simplify code.
75114         Use calloc rather than clearing the storage ourself.
75115         (hash_initialize, hash_rehash): Check for arithmetic overflow in
75116         buffer size calculations.
75117         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
75118         Include <stddef.h>, for size_t.
75119         * lib/hash-pjw.c (hash_pjw): Likewise.
75120         Switch to method described by Bruno Haible.
75121         Include <limits.h>, for CHAR_BIT.
75122         (SIZE_BITS): New macro.
75123
75124 2003-10-23  Paul Eggert  <eggert@twinsun.com>
75125
75126         * m4/getline.m4 (AM_FUNC_GETLINE):
75127         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
75128         hosts.  Problem reported by Derek Robert Price in
75129         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
75130         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
75131         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
75132
75133 2003-10-21  Paul Eggert  <eggert@twinsun.com>
75134
75135         * lib/getndelim2.c (getndelim2): When size calculation overflows,
75136         ceiling the allocation at NMAX bytes rather than silently
75137         discarding input bytes before NMAX is reached.  This makes
75138         a difference only if NMAX exceeds SIZE_MAX / 2.
75139
75140         * lib/obstack.c: Merge from glibc.
75141         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
75142         Add libc_hidden_def (_obstack_newchunk).
75143         (_obstack_free) [! defined _LIBC]: Remove.
75144         [defined _LIBC]: Make a strong alias from obstack_free, rather than
75145         a clone of the function body.
75146         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
75147         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
75148
75149         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
75150         glibc.
75151         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
75152         arg to memcpy.
75153
75154         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
75155         (obstack_ptr_grow_fast, obstack_int_grow_fast):
75156         Don't use lvalue casts, as GCC plans to remove support for them
75157         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
75158         was also present in the non-GCC version, indicating that this
75159         code had always been buggy and had never been widely used.
75160         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
75161         Use the fast variant of each macro, rather than copying the
75162         definiens of the fast variant; that way, we'll be more likely to
75163         catch future bugs in the fast variants.
75164
75165 2003-10-20  Bruno Haible  <bruno@clisp.org>
75166
75167         * modules/wait-process: New file.
75168         * MODULES.html.sh (func_all_modules): Add wait-process.
75169
75170 2003-10-20  Bruno Haible  <bruno@clisp.org>
75171
75172         * m4/wait-process.m4: New file.
75173
75174 2003-10-20  Bruno Haible  <bruno@clisp.org>
75175
75176         * lib/wait-process.h: New file, from GNU gettext.
75177         * lib/wait-process.c: New file, from GNU gettext.
75178
75179 2003-10-19  Jim Meyering  <jim@meyering.net>
75180
75181         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
75182         HPUX 10.20.
75183
75184 2003-10-18  Karl Berry  <karl@gnu.org>
75185
75186         * config/config.guess: update from config.
75187
75188 2003-10-16  Paul Eggert  <eggert@twinsun.com>
75189
75190         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
75191         (getgroups): First arg is int, not size_t.
75192         Don't let 'free' mangle errno.
75193
75194 2003-10-16  Paul Eggert  <eggert@twinsun.com>
75195
75196         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
75197
75198 2003-10-16  Karl Berry  <karl@gnu.org>
75199
75200         * config/config.{guess,sub}: update from config.
75201
75202 2003-10-16  Jim Meyering  <jim@meyering.net>
75203
75204         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
75205         memcpy.
75206
75207 2003-10-15  Paul Eggert  <eggert@twinsun.com>
75208
75209         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
75210         (SIZE_MAX): Remove.
75211         (new_exclude, add_exclude_file): Initial size no longer needs to
75212         be a power of 2.
75213         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
75214         our own address arithmetic overflow checking.
75215
75216         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
75217         (fnmatch): Do not alloca more than 2000 wide characters;
75218         instead, use malloc for large buffers.
75219         Check for address arithmetic overflow, and return -1
75220         with errno set to ENOMEM in that case.
75221         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
75222         (NEW_PATTERN): Do not alloca more than 8000 bytes;
75223         instead, return -1.  Check for address arithmetic overflow.
75224
75225 2003-10-14  Paul Eggert  <eggert@twinsun.com>
75226
75227         Handle invalid suffixes and overflow independently, so that
75228         callers can treat them independently as needed.  Fix some bugs in
75229         suffix handling, e.g., "100k@" was not diagnosed as an invalid
75230         suffix for a human-readable blocksize.  The major caller-visible
75231         change is the addition of a new
75232         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
75233         that both overflow and suffix chars were found.
75234
75235         * lib/human.c (humblock): Don't check separately for invalid suffix
75236         char; that is xstrtoumax's job (now that its bug is fixed).
75237         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
75238         INTMAX_MAX]: New macros.
75239         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
75240         TYPE_MAXIMUM): New macros.
75241         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
75242         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
75243         if overflow occurs, as it's what __strtol does and it's more useful
75244         in practice.
75245         (__xstrtol): If __strtol reports some error other than ERANGE,
75246         reflect it to the caller as LONGINT_INVALID.  If it reports
75247         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
75248         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
75249         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
75250         value.
75251         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
75252         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
75253         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
75254         [defined UINTMAX_MAX]: New macros.
75255
75256 2003-10-14  Bruno Haible  <bruno@clisp.org>
75257
75258         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
75259
75260 2003-10-14  Bruno Haible  <bruno@clisp.org>
75261
75262         * m4/sig_atomic_t: New file, from GNU gettext.
75263         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
75264
75265 2003-10-14  Bruno Haible  <bruno@clisp.org>
75266
75267         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
75268         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
75269         Also use volatile where needed.
75270
75271 2003-10-12  Paul Eggert  <eggert@twinsun.com>
75272
75273         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
75274         Change maintainer from Bruno Haible to 'all'.
75275
75276 2003-10-12  Paul Eggert  <eggert@twinsun.com>
75277
75278         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
75279
75280 2003-10-12  Paul Eggert  <eggert@twinsun.com>
75281
75282         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
75283         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
75284         and define in terms of the other primitives.
75285         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
75286         (SIZE_MAX): Define if not already defined.
75287         (array_size_overflow): New function.
75288         (xalloc_die): Abort instead of exiting if 'error' returns.
75289         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
75290         (xmalloc, xrealloc): Use them.
75291         (xcalloc): Check for address arithmetic overflow.
75292         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
75293         a bit faster than strcpy.
75294
75295 2003-10-10  Simon Josefsson  <jas@extundo.com>
75296
75297         * modules/argp (Depends-on): Add restrict and strcase.
75298
75299 2003-10-10  Simon Josefsson  <jas@extundo.com>
75300
75301         * m4/argp.m4: Add AC_C_INLINE.
75302
75303 2003-10-08  Paul Eggert  <eggert@twinsun.com>
75304
75305         Merge getpass from libc, plus a few fixes.
75306
75307         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
75308         Include <stdbool.h>.
75309         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
75310         __fsetlocking to empty.
75311         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
75312         do include <bits/libc-lock.h>.
75313         Do not include <fcntl.h>; not needed.
75314         [_LIBC]: Include <wchar.h>.
75315         (NOTCANCEL_MODE): New macro.
75316         (flockfile, funlockfile) [_LIBC]: New macros.
75317         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
75318         [!_LIBC]: New macros.
75319         (call_fclose): New function.
75320         (getpass): Use it.  Save tty stream separately; this simplifies the
75321         code and makes it more reliable if stdin happens to equal stdout.
75322         Invoke __fsetlocking on tty.
75323         Handle thread cancellation if needed.
75324         Namespace cleanup (use __tcgetattr, __getline).
75325         Use bool for Booleans.
75326         [USE_IN_LIBIO]: Handle wide streams.
75327         [!_LIBC]: Unconditionally do the fseek, since we don't know what
75328         stream might go where.
75329
75330         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
75331         doesn't have to include <stdio.h> before us.
75332         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
75333         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
75334         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
75335         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
75336         if not declared, so that we can use getpass.c code from libc without
75337         rewriting it.
75338         (flockfile, ftrylockfile, funlockfile): New macros.
75339
75340 2003-10-08  Paul Eggert  <eggert@twinsun.com>
75341
75342         * modules/getpass: Depend on stdbool.
75343
75344 2003-10-08  Paul Eggert  <eggert@twinsun.com>
75345
75346         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
75347
75348 2003-10-07  Karl Berry  <karl@gnu.org>
75349
75350         * config/config.{guess,sub}: update from config.
75351
75352 2003-10-06  Jim Meyering  <jim@meyering.net>
75353             Bruno Haible  <bruno@clisp.org>
75354
75355         This lets translators provide better translations for the
75356         "Written by ..." part of --version output.
75357         * lib/version-etc.h: Include stdarg.h.
75358         (version_etc_copyright): Declare as readonly.
75359         (version_etc): Make this function variadic with a NULL-terminated list
75360         of author name strings.
75361         (version_etc_va): New declaration.
75362         * lib/version-etc.c: Include stdarg.h, stdlib.h.
75363         (version_etc_copyright): Declare as readonly.
75364         (version_etc_va): New function. Provide a different translatable string
75365         for each possible number of authors < 10. Abbreviate when there are 10
75366         authors or more.
75367         (version_etc): Make this function variadic. Call version_etc_va.
75368         Suggestion from Gary V. Vaughan.
75369
75370         * lib/long-options.h (parse_long_options): Change prototype: the
75371         authors string is moved to the end and becomes variadic.
75372         * lib/long-options.c: Include stdarg.h.
75373         (parse_long_options): Make this function variadic, too.
75374         Call version_etc_va, not version_etc.
75375
75376 2003-10-06  Bruno Haible  <bruno@clisp.org>
75377
75378         * modules/version-etc-2: Remove file.
75379         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
75380
75381 2003-10-06  Bruno Haible  <bruno@clisp.org>
75382
75383         * modules/fatal-signal: New file.
75384         * MODULES.html.sh (func_all_modules): Add fatal-signal.
75385
75386 2003-10-06  Bruno Haible  <bruno@clisp.org>
75387
75388         * m4/fatal-signal.m4: New file.
75389         * m4/signalblocking.m4: New file, from GNU gettext.
75390
75391 2003-10-06  Bruno Haible  <bruno@clisp.org>
75392
75393         * lib/version-etc-2.h: Remove file.
75394         * lib/version-etc-2.c: Remove file.
75395
75396 2003-10-06  Bruno Haible  <bruno@clisp.org>
75397
75398         * lib/fatal-signal.h: New file, from GNU gettext.
75399         * lib/fatal-signal.c: New file, from GNU gettext.
75400
75401 2003-10-05  Paul Eggert  <eggert@twinsun.com>
75402
75403         * README: Rework advice for preventing empty .o files.
75404         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
75405         not <sys/types.h>.
75406
75407 2003-10-04  Karl Berry  <karl@gnu.org>
75408
75409         * lib/argp*: update from libc.
75410
75411 2003-10-04  Karl Berry  <karl@gnu.org>
75412
75413         * config/config.{guess,sub}: update from config.
75414
75415 2003-10-02  Bruno Haible  <bruno@clisp.org>
75416
75417         * modules/lchown (Include): Add lchown.h.
75418         * modules/time_r (Include): Use "..." syntax.
75419         * modules/xgetdomainname (Include): Add xgetdomainname.h.
75420
75421 2003-10-01  Simon Josefsson  <jas@extundo.com>
75422
75423         * MODULES.html.sh (func_all_modules): Move gethostname from section
75424         'based on' to section 'lacking' POSIX:2001.
75425
75426 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
75427
75428         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
75429         to output mode on the same stream.
75430
75431 2003-09-29  Paul Eggert  <eggert@twinsun.com>
75432
75433         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
75434         Fix arg typo in previous patch.
75435
75436 2003-09-28  Jim Meyering  <jim@meyering.net>
75437
75438         * lib/error.c: Correct cpp indentation.
75439
75440 2003-09-27  Paul Eggert  <eggert@twinsun.com>
75441
75442         * modules/free: New file.
75443
75444 2003-09-27  Paul Eggert  <eggert@twinsun.com>
75445
75446         * m4/free.m4: New file.
75447
75448 2003-09-27  Paul Eggert  <eggert@twinsun.com>
75449
75450         * lib/minmax.h (MIN, MAX)
75451         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
75452         Omit the special code that used __typeof__, since we worry that
75453         it could be more trouble than it's worth.  See:
75454         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
75455         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
75456
75457         * lib/free.c: New file.
75458
75459 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
75460
75461         Trivial fixes to Makefile.am parts of module listings.
75462         * modules/strstr: Append strstr.h to lib_SOURCES.
75463         * modules/strcase: Likewise, for strcase.h.
75464
75465 2003-09-27  Karl Berry  <karl@gnu.org>
75466
75467         * config/mkinstalldirs: update from automake.
75468
75469 2003-09-26  Paul Eggert  <eggert@twinsun.com>
75470
75471         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
75472         (error_tail): Do not loop, reallocating temporary buffer, since
75473         the output cannot contain more wide characters than the input
75474         contains bytes, the size must be big enough already.  This avoids
75475         one potential size overflow calculation.  Check for size overflow
75476         when calculating temporary buffer size.  Free temporary buffer
75477         when done, if it was allocated with malloc; this plugs a memory
75478         leak.  Remove casts from void * to pointers, that are no longer
75479         needed now that we're assuming C89 or better.
75480
75481         Merge error changes from glibc.
75482
75483         * lib/error.c, error.h: Update copyright notice header to match glibc.
75484         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
75485         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
75486         Disable cancellation while printing error.
75487         * lib/error.h: Prepend __ to parameter names.
75488
75489 2003-09-26  Jim Meyering  <jim@meyering.net>
75490
75491         * lib/error.c (error_tail): Move some declarations
75492         into inner scope where the local variables are used.
75493
75494 2003-09-26  Bruno Haible  <bruno@clisp.org>
75495
75496         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
75497         stpncpy().
75498         Don't define stpncpy through config.h; it's now done through stpncpy.h.
75499
75500 2003-09-26  Bruno Haible  <bruno@clisp.org>
75501
75502         * lib/stpncpy.h (gnu_stpncpy): New declaration.
75503         (stpncpy): Define as alias for gnu_stpncpy.
75504         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
75505
75506 2003-09-25  Simon Josefsson  <jas@extundo.com>
75507
75508         * lib/xgetdomainname.h: New file.
75509         * lib/xgetdomainname.c: New file.
75510
75511 2003-09-25  Simon Josefsson  <jas@extundo.com>
75512             Bruno Haible  <bruno@clisp.org>
75513
75514         * modules/getdomainname: New file.
75515         * modules/xgetdomainname: New file.
75516         * MODULES.html.sh (func_all_modules): Add getdomainname,
75517         xgetdomainname.
75518
75519 2003-09-25  Simon Josefsson  <jas@extundo.com>
75520             Bruno Haible  <bruno@clisp.org>
75521
75522         * m4/getdomainname.m4: New file.
75523
75524 2003-09-25  Simon Josefsson  <jas@extundo.com>
75525             Bruno Haible  <bruno@clisp.org>
75526
75527         * lib/getdomainname.h: New file.
75528         * lib/getdomainname.c: New file.
75529
75530 2003-09-25  Karl Berry  <karl@gnu.org>
75531
75532         * lib/argp-fmtstream.c, argp-help.c: update from libc.
75533
75534 2003-09-25  Karl Berry  <karl@gnu.org>
75535
75536         * config/install-sh: update from automake.
75537
75538 2003-09-25  Bruno Haible  <bruno@clisp.org>
75539
75540         * modules/version-etc-2: New file, from modules/version-etc with
75541         modifications.
75542         * MODULES.html.sh (func_all_modules): Add version-etc-2.
75543
75544 2003-09-25  Bruno Haible  <bruno@clisp.org>
75545
75546         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
75547         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
75548
75549 2003-09-24  Simon Josefsson  <jas@extundo.com>
75550
75551         * modules/xgethostname: Add xgethostname.h.
75552
75553 2003-09-24  Paul Eggert  <eggert@twinsun.com>
75554
75555         * lib/linebuffer.c (freebuffer): Don't free the argument, just
75556         the buffer associated with the argument.  Bug reported by
75557         Simon Josefsson.
75558
75559 2003-09-24  Paul Eggert  <eggert@twinsun.com>
75560
75561         * README: Document assumptions that 'int' is at least 32 bits
75562         wide, that integer arithmetic is 2's complement without overflow,
75563         that there are no holes in integer values, that adding sizes of
75564         two nonoverlapping objects can't overflow, and that all-bits-zero
75565         yields scalar zero.  Fix spelling and capitalization typos.
75566
75567 2003-09-19  Karl Berry  <karl@gnu.org>
75568
75569         * lib/argp.h: update from libc.
75570
75571 2003-09-17  Paul Eggert  <eggert@twinsun.com>
75572
75573         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
75574         to avoid spurious warnings like "AC_RUN_IFELSE was called before
75575         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
75576
75577 2003-09-17  Paul Eggert  <eggert@twinsun.com>
75578
75579         * gnulib-tool: Use "test -h", not "test -L", for portability
75580         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
75581         (tags_regexp): Remove, since \| doesn't conform to POSIX.
75582         (sed_extract_prog): Issue s commands one-by-one, rather than
75583         using \| in one s command.
75584
75585 2003-09-16  Paul Eggert  <eggert@twinsun.com>
75586
75587         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
75588         input error, instead of returning NULL the next time we are called
75589         (and therefore losing track of errno).
75590
75591 2003-09-16  Bruno Haible  <bruno@clisp.org>
75592
75593         * gnulib-tool (func_create_testdir): Warn about duplicated
75594         dependencies.
75595
75596 2003-09-15  Paul Eggert  <eggert@twinsun.com>
75597
75598         * modules/argmatch, modules/fatal, modules/obstack,
75599         modules/xalloc, modules/xgethostname: Sort dependencies by
75600         importance, not alphabetically.
75601
75602 2003-09-15  Paul Eggert  <eggert@twinsun.com>
75603
75604         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
75605         fails, so that the caller gets the proper errno.
75606
75607         * lib/readutmp.c (read_utmp): Likewise.
75608         Check for fstat error.  Close stream and free storage
75609         when failing.
75610
75611 2003-09-14  Karl Berry  <karl@gnu.org>
75612
75613         * config/srclist.txt (strdup.c): disable for c89 changes.
75614
75615 2003-09-14  Jim Meyering  <jim@meyering.net>
75616
75617         * lib/getloadavg.c: Correct cpp indentation.
75618         * lib/strdup.c: Likewise.
75619         * lib/vasnprintf.c: Likewise.
75620
75621 2003-09-14  Bruno Haible  <bruno@clisp.org>
75622
75623         * modules/fwriteerror: New file.
75624         * MODULES.html.sh (func_all_modules): Add fwriteerror.
75625
75626 2003-09-14  Bruno Haible  <bruno@clisp.org>
75627
75628         * lib/fwriteerror.h: New file.
75629         * lib/fwriteerror.c: New file.
75630
75631 2003-09-12  Paul Eggert  <eggert@twinsun.com>
75632
75633         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
75634         modules/xgethostname, modules/xalloc: Depend on exit.
75635
75636 2003-09-12  Paul Eggert  <eggert@twinsun.com>
75637
75638         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
75639
75640         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
75641         and AC_MINIX, too, so that their extensions are available.
75642
75643         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
75644         This macro has been superseded by gl_BACKUPFILE.
75645
75646         More patches to assume C89 or better.
75647
75648         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
75649
75650         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
75651         unconditionally.
75652         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
75653         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
75654         Include <string.h>, <stdlib.h> unconditionally.
75655         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
75656         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
75657         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
75658         headers or for string.h.
75659         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
75660         or strtoul.
75661
75662         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
75663         headers.
75664         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
75665         * m4/userspec.m4 (gl_USERSPEC): Likewise.
75666         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
75667         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
75668         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
75669         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
75670         memcpy, memset.
75671         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
75672         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
75673         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
75674         strtol.
75675         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
75676         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
75677         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
75678         strtoul.
75679
75680 2003-09-12  Paul Eggert  <eggert@twinsun.com>
75681
75682         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
75683         * lib/obstack.c [!defined _LIBC]: Likewise.
75684         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
75685         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
75686         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
75687
75688         More changes to assume C89 or better.
75689
75690         * lib/error.c (error_tail): Assume vprintf.
75691
75692         * lib/argmatch.c (getenv): Remove decl.
75693         * lib/progreloc.c (get_full_program_name): Define via prototype.
75694         * lib/setenv.c (clearenv): Likewise.
75695         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
75696         needed.
75697         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
75698         (malloc, memcpy): Remove decls.
75699         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
75700         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
75701         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
75702         (memcpy): Remove macro.
75703         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
75704         (__P): Remove.  All uses removed.
75705         (PTR): Remove.  All uses changed to void *.
75706         (CHAR_BIT, NULL): Remove.
75707         (spaces, zeros, memset_space, memset_zero)
75708         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
75709         Remove.
75710         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
75711         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
75712         Define with prototype.
75713         Remove now-unnecessary prototype decl.
75714         (extra_args_spec): Assume ANSI C.  All uses changed.
75715         (extra_args_spec_iso): Remove.
75716         (my_strftime, emacs_strftimeu): Define via prototype.
75717         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
75718         unconditionally.
75719         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
75720         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
75721         (strtoul, strtol): Remove decls.
75722         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
75723         LONG_MAX): Remove.
75724         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
75725         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
75726         (LOCALE_PARAM_PROTO): New macro.
75727         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
75728         (INTERNAL (strtol), strtol): Define with a prototype.
75729         (PARAMS): Remove.  All uses removed.
75730         * lib/tempname.c: Include <string.h> unconditionally.
75731         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
75732         * lib/xgethostname.c (main): Define with a prototype.
75733         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
75734         Include <stdlib.h> unconditionally.
75735         (calloc, malloc, realloc, free): Remove decls.
75736         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
75737         Include <stdlib.h> unconditionally.  Sort include file names.
75738         (strtod): Remove.
75739         (xstrtod): Define with a prototype.
75740         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
75741         (strtol, strtoul): Remove decls.
75742
75743 2003-09-11  Paul Eggert  <eggert@twinsun.com>
75744
75745         More patches to assume C89 or better.
75746         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
75747         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
75748         string.h, memchr, STDC_HEADERS.
75749
75750 2003-09-11  Paul Eggert  <eggert@twinsun.com>
75751
75752         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
75753         Include <stdlib.h>, <string.h> unconditionally.
75754         Remove now-unnecessary cast to char *.
75755         * lib/strnlen.c: Include <string.h> unconditionally.
75756         * lib/yesno.c (yesno): Define with a prototype.
75757
75758 2003-09-11  Bruno Haible  <bruno@clisp.org>
75759
75760         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
75761
75762 2003-09-10  Jim Meyering  <jim@meyering.net>
75763
75764         * lib/error.c: Correct indentation of cpp directives.
75765
75766 2003-09-10  Bruno Haible  <bruno@clisp.org>
75767
75768         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
75769         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
75770         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
75771         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
75772         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
75773         <stdlib.h> and <string.h> checks.
75774         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
75775         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
75776
75777 2003-09-10  Bruno Haible  <bruno@clisp.org>
75778
75779         * lib/strcspn.c: Include <string.h> unconditionally.
75780         * lib/strpbrk.c: Include <string.h> unconditionally.
75781         * lib/strstr.c: Include <string.h> unconditionally.
75782         * lib/unicodeio.c: Include <string.h> unconditionally.
75783         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
75784         * lib/unsetenv.c: Likewise.
75785         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
75786         * lib/yesno.c: Include <stdlib.h> unconditionally.
75787         (rpmatch): Add prototype.
75788
75789 2003-09-09  Paul Eggert  <eggert@twinsun.com>
75790
75791         More patches to assume C89 or better.
75792         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
75793         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
75794         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
75795         or for string.h.
75796         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
75797         stdlib.h.
75798         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
75799         C headers.
75800         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
75801         string.h.
75802         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
75803         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
75804         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
75805         or for string.h.
75806         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
75807         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
75808         C headers.
75809         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
75810         memcpy.
75811         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
75812         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
75813         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
75814         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
75815         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
75816         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
75817         string.h, free.
75818         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
75819         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
75820         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
75821         C headers, or for string.h.
75822         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
75823         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
75824         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
75825         headers, memory.h, stdlib.h, string.h, strings.h.
75826         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
75827         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
75828         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
75829         strchr.
75830         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
75831         headers, memory.h, string.h.
75832         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
75833         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
75834         free.
75835         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
75836         headers.
75837         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
75838         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
75839         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
75840         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
75841         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
75842
75843 2003-09-09  Paul Eggert  <eggert@twinsun.com>
75844
75845         More K&R removal.
75846
75847         * lib/acosl.c (main): Use a prototype.
75848         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
75849         tanl.c: Likewise.
75850
75851         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
75852
75853         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
75854         (getopt, etopt_long, getopt_long_only, _getopt_internal)
75855         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
75856         with a prototype.
75857         * lib/getopt.c (const): Remove macro.
75858         Include <string.h> unconditionally.
75859         (my_index): Remove; all uses changed to strchr.
75860         (strlen): Remove decl.
75861         (exchange): Remove forward decl; no longer needed.
75862         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
75863         Define with prototype.
75864         * lib/getopt1.c (const): Remove macro.
75865         (getopt_long, getopt_long_only, main): Define with prototype.
75866
75867         * lib/getugroups.c: Include <string.h> unconditionally.
75868
75869         * lib/getusershell.c: Include <stdlib.h> unconditionally.
75870         (getusershell, setusershell, endusershell, readname, main):
75871         Define with prototypes.
75872
75873         * lib/group-member.c: Include group-member.h first.
75874         Include <stdlib.h> unconditionally.
75875
75876         * lib/hard-locale.c: Include hard-locale.h first.
75877         Include <stdlib.h>, <string.h> unconditionally.
75878
75879         * lib/hash.c (free, malloc): Remove decls.
75880         Include <stdlib.h> unconditionally.
75881
75882         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
75883         (getenv): Do not declare.
75884
75885         * lib/idcache.c: Include <string.h> unconditionally.
75886
75887         * lib/long-options.c: Include long-options.h first, to test interface.
75888         Include <stdlib.h> unconditionally.
75889
75890         * lib/makepath.c: Include makepath.h first, to test interface.
75891         Include <stdlib.h> and <string.h> unconditionally.
75892
75893         * lib/linebuffer.c: Include <stdlib.h>.
75894         (free): Remove decl.
75895
75896         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
75897         stddef.h. rpl_malloc returns void *, not char *.
75898         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
75899         prototype.
75900
75901         * lib/md5.h: Include <limits.h> unconditionally.
75902         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
75903         (__P): Remove; all uses removed.
75904         * lib/md5.c: Include "md5.h" first.
75905         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
75906         md5_buffer, md5_process_bytes, md5_process_block):
75907         Define with prototypes.
75908         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
75909         * lib/sha.c: Include "sha.h" first.
75910         Include <stdlib.h>, <string.h> unconditionally.
75911
75912         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
75913         * lib/memcmp.c (__ptr_t): Likewise.
75914         * lib/memrchr.c (__ptr_t): Likewise.
75915         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
75916         Include <string.h> unconditionally.
75917         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
75918         * lib/memchr.c: Include <stdlib.h> unconditionally.
75919         * lib/memchr.c (LONG_MAX): Remove.
75920         * lib/memrchr.c (LONG_MAX): Likewise.
75921         * lib/memchr.c (__memchr): Define via a prototype.
75922         * lib/memrchr.c (__memrchr): Likewise.
75923         * lib/memcmp.c (__P): Remove, and remove all uses.
75924         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
75925         Remove forward decls; no longer needed.
75926         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
75927         Use types required by C89 in prototype.
75928
75929         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
75930         * lib/savedir.c: Likewise.
75931         * lib/mkdir.c (free): Remove decl.
75932         * lib/rmdir.c (rmdir): Define with a prototype.
75933         * lib/savedir.c: Include savedir.h first, to test interface.
75934
75935         * lib/mktime.c (STDC_HEADERS): Remove.
75936         Include <stdlib.h>, <string.h> unconditionally.
75937
75938         * lib/modechange.c: Include <stdlib.h> unconditionally.
75939         (malloc): Remove decl.
75940
75941         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
75942         (free): Remove decl.
75943
75944         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
75945         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
75946         (This type really should be intptr_t, but that's a C99ism.)
75947         (_obstack_memcpy): Remove: all uses changed to memcpy.
75948         Include <string.h> unconditionally.
75949         (struct obstack): Assume __STDC__ for types of members
75950         chunkfun, freefun, extra_arg.
75951         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
75952         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
75953         obstack_begin, obstack_specify_allocation,
75954         obstack_specify_allocation_with_arg, obstack_chunkfun,
75955         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
75956         Remove unprototyped decls and the macros that use them.
75957         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
75958         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
75959         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
75960         (defined __STDC__ && __STDC__)]:
75961         Remove nonprototyped code.
75962         Include <stdlib.h> unconditionally.
75963         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
75964         _obstack_allocated_p, _obstack_free, obstack_free,
75965         _obstack_memory_used, print_and_abort):
75966         Define using prototypes.
75967         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
75968         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
75969         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
75970         obstack_next_free, obstack_object_size, obstack_room) [0]:
75971         Remove unused, unprototyped code.
75972
75973         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
75974
75975         * lib/physmem.c (physmem_total, physmem_available, main): Define
75976         with prototypes.
75977
75978         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
75979         (main): Define with a prototype.
75980
75981         * lib/posixver.c (getenv): Remove decl.
75982
75983         * lib/putenv.c (malloc): Returns void *, not char *.
75984         Include <string.h> unconditionally.
75985         (strchr, memcpy, NULL): Do not define.
75986
75987         * lib/readtokens.c: Include readtokens.h first, to test interface.
75988         Include <stdlib.h>, <string.h> unconditionally.
75989         (init_tokenbuffer): Define with a prototype.
75990
75991         * lib/regex.c (PARAMS): Remove.  All uses removed.
75992         All uses of _RE_ARGS removed, too.
75993         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
75994         unconditionally.
75995         (bzero): Assume memset exists.
75996         (memcmp, memcpy, NULL): Remove.
75997         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
75998         char, or assignments to local vars of type signed char.
75999         (init_syntax_once, PREFIX(extract_number_and_incr),
76000         PREFIX(print_partial_compiled_pattern),
76001         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
76002         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
76003         PREFIX(regex_grow_registers), PREFIX(regex_compile),
76004         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
76005         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
76006         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
76007         wcs_compile_range, byte_compile_range, truncate_wchar,
76008         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
76009         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
76010         count_mbs_length, wcs_re_match_2_internal,
76011         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
76012         PREFIX(alt_match_null_string_p),
76013         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
76014         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
76015         regfree, PREFIX(extract_number)): Define with prototype.  Remove
76016         now-unnecessary declaration, if any.
76017         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
76018         regcomp, regexec):
76019         Remove now-unnecessary casts among pointer types.
76020         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
76021
76022         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
76023         (free): Remove decl.
76024
76025         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
76026
76027         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
76028         (free): Remove decl.
76029
76030         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
76031         * lib/xgetcwd.c: Likewise.
76032
76033         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
76034         (free): Remove decl.
76035
76036         * lib/strchrnul.c (strchrnul): Define with a prototype.
76037         Fix bug: c_in was not converted to char before searching.
76038
76039         The following changes are not K&R related:
76040
76041         * lib/group-member.h: Include <sys/types.h>, so that this file is
76042         self-contained.
76043         * lib/makepath.h: Likewise.
76044
76045         * lib/getusershell.c (readname, default_index, line_size, readname):
76046         Use size_t, not int, for sizes.
76047         (readname): If the size overflows, report an error instead of
76048         looping forever.
76049
76050 2003-09-09  Paul Eggert  <eggert@twinsun.com>
76051
76052         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
76053         libc.
76054
76055 2003-09-09  Paul Eggert  <eggert@twinsun.com>
76056
76057         * README: New section: portability guidelines.
76058
76059 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
76060
76061         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
76062         C89 spec.
76063
76064 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
76065
76066         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
76067
76068 2003-09-08  Paul Eggert  <eggert@twinsun.com>
76069
76070         Assume C89 or better; remove K&R cruft.
76071         A few of these changes were first proposed by Derek Robert Price
76072         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
76073
76074         * lib/addext.c: Include <string.h> unconditionally.
76075         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
76076         Don't declare getenv or malloc.
76077
76078         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
76079         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
76080         (NULL): Remove.
76081         (find_stack_direction, alloca): Use prototypes.
76082
76083         * lib/atexit.c (atexit): Define using a prototype.
76084
76085         * lib/basename.c, dirname.c, stripslash.c:
76086         Include <string.h> unconditionally.
76087
76088         * lib/bcopy.c: Include <stddef.h>.
76089         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
76090
76091         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
76092
76093         * lib/error.h (error, error_at_line, error_print_progname)
76094         [! (defined (__STDC__) && __STDC__)]: Remove decls.
76095         * lib/error.c: Include error.h first, to check interface.
76096         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
76097         (VA_START): Remove; all uses changeed to va_start.
76098         (exit, strerror): Remove decls.
76099         (error_print_progname): Prototype uncondionally.
76100         Don't include <errno.h>; no longer needed.
76101         (private_strerror): Remove.
76102         (error_tail): Always define.
76103         (error, error_at_line): Assume C89 or better; always use prototypes.
76104         * lib/fatal.c: Include "fatal.h" first, to test interface.
76105         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
76106         (VA_START): Remove; all uses changed to va_start.
76107         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
76108         this case.
76109         (exit): Remove decl.
76110         (fatal): Prototype unconditionally.  Assume va_start works.
76111         Abort at end, to pacify gcc.
76112
76113         * lib/euidaccess.c (main): Define with a prototype.
76114
76115         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
76116
76117         * lib/exitfail.c: Include <stdlib.h> unconditionally.
76118
76119         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
76120         prototypes.
76121         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
76122         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
76123         (getenv): Remove decl.
76124         (fnmatch): Define using a prototype.
76125         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
76126         (FCT): Define using a prototype.
76127
76128         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
76129
76130         * lib/gethostname.c: Include <stddef.h>.
76131         (gethostname): Define with prototype.  Length is size_t, not int.
76132
76133 2003-09-08  Paul Eggert  <eggert@twinsun.com>
76134
76135         Assume C89 or better; remove K&R cruft.
76136         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
76137         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
76138         string.h, getenv, malloc.
76139         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
76140         headers.
76141         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
76142         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
76143         do not check for strerror.
76144         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
76145         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
76146         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
76147         do not check for doprnt or vprintf.
76148         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
76149         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
76150
76151 2003-09-08  Paul Eggert  <eggert@twinsun.com>
76152
76153         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
76154         getversion.c should have been removed then, but was accidentally
76155         preserved.
76156
76157         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
76158         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
76159
76160 2003-09-08  Karl Berry  <karl@gnu.org>
76161
76162         * config/config.sub, config.guess, srclistvars.sh: update from savannah
76163                 config, forget about prep.
76164
76165         * config/depcomp, missing: update from automake.
76166
76167 2003-09-07  Paul Eggert  <eggert@twinsun.com>
76168
76169         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
76170         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
76171
76172 2003-09-07  Paul Eggert  <eggert@twinsun.com>
76173
76174         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
76175         copy_tm_result.  Bug reported by Simon Josefsson in
76176         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
76177
76178 2003-09-06  Paul Eggert  <eggert@twinsun.com>
76179
76180         * m4/time_r.m4: New file.
76181         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
76182         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
76183         is. Check for timegm declaration.
76184         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
76185         Do not check for gmtime_r.
76186         Replace mktime if __mktime_internal does not exist and if mktime
76187         hasn't been replaced already.
76188
76189 2003-09-06  Paul Eggert  <eggert@twinsun.com>
76190
76191         * lib/time_r.c, lib/time_r.h: New files.
76192
76193         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
76194         __localtime_r.
76195         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
76196         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
76197
76198         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
76199         __gmtime_r.
76200         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
76201         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
76202         Include <time_r.h>.
76203
76204         * lib/timegm.c: Switch to glibc implementation, with the following
76205         changes:
76206         [defined HAVE_CONFIG_H]: Include <config.h>.
76207         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
76208         (__mktime_internal) [!defined _LIBC]: New decl.
76209         (__gmtime_r) [!defined _LIBC]: New macro and function.
76210         (timegm): Use a prototype, since gnulib assumes C89.
76211         Do not bother declaring tmp to be const, as it's not really usefu.
76212         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
76213         (timegm): Declare only if HAVE_DECL_TIMEGM.
76214
76215 2003-09-06  Paul Eggert  <eggert@twinsun.com>
76216
76217         * MODULES.html.sh (func_all_modules): Add time_r.
76218         * modules/time_r: New file.
76219         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
76220         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
76221
76222 2003-09-03  Paul Eggert  <eggert@twinsun.com>
76223
76224         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
76225         Bug reported by Lute Kamstra in
76226         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
76227
76228         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
76229         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
76230         course with correspondingly smaller numbers for tomorrow and
76231         yesterday.  From Tadayoshi Funaba.  Originally installed into
76232         sh-utils on 1999-08-07, but the patch got lost (I guess during the
76233         coreutils merge?).
76234
76235 2003-08-31  Simon Josefsson  <jas@extundo.com>
76236
76237         * modules/timegm: New file.
76238         * MODULES.html.sh (func_all_modules): Add timegm.
76239
76240 2003-08-31  Simon Josefsson  <jas@extundo.com>
76241
76242         * m4/timegm.m4: New file.
76243
76244 2003-08-31  Simon Josefsson  <jas@extundo.com>
76245
76246         * lib/timegm.h: New file.
76247         * lib/timegm.c: New file.  Based on
76248         wget-1.8.2/src/http.c:mktime_from_utc.
76249
76250 2003-08-31  Karl Berry  <karl@gnu.org>
76251
76252         * lib/argp.h: update from libc.
76253
76254 2003-08-28  Bruno Haible  <bruno@clisp.org>
76255
76256         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
76257         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
76258         followed by '#define fnmatch fnmatch_posix' gives an error.
76259
76260 2003-08-28  Bruno Haible  <bruno@clisp.org>
76261
76262         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
76263         warning on QNX, which defines O_BINARY to 000000.
76264
76265 2003-08-27  Jim Meyering  <jim@meyering.net>
76266
76267         * m4/mkstemp.m4: Require that the system mkstemp be able to create
76268         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
76269         would fail after 32.  Reported by Danny Levinson.  Details here:
76270         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
76271
76272 2003-08-24  Bruno Haible  <bruno@clisp.org>
76273
76274         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
76275         MSVC7 <stdio.h> is included later.
76276
76277 2003-08-22  Simon Josefsson  <jas@extundo.com>
76278
76279         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
76280
76281 2003-08-20  Karl Berry  <karl@gnu.org>
76282
76283         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
76284
76285 2003-08-20  Bruno Haible  <bruno@clisp.org>
76286
76287         * modules/progname: New file.
76288         * MODULES.html.sh (func_all_modules): Add progname.
76289
76290 2003-08-20  Bruno Haible  <bruno@clisp.org>
76291
76292         * lib/progname.h: New file, from GNU gettext.
76293         * lib/progname.c: New file, from GNU gettext.
76294         * lib/progreloc.c: New file, from GNU gettext.
76295
76296 2003-08-19  Jim Meyering  <jim@meyering.net>
76297
76298         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
76299         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
76300
76301 2003-08-19  Bruno Haible  <bruno@clisp.org>
76302
76303         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
76304         more.
76305
76306 2003-08-19  Bruno Haible  <bruno@clisp.org>
76307
76308         * lib/xstrdup.c: Assume <string.h> exists.
76309
76310 2003-08-18  Paul Eggert  <eggert@twinsun.com>
76311
76312         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
76313         in makefile rules.
76314
76315 2003-08-18  Jim Meyering  <jim@meyering.net>
76316
76317         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
76318         * m4/lib-ld.m4: Likewise.
76319
76320 2003-08-18  Jim Meyering  <jim@meyering.net>
76321
76322         * lib/setenv.h: Indent nested cpp directive.
76323         * lib/vasnprintf.c: Remove trailing blanks.
76324
76325 2003-08-17  Simon Josefsson  <jas@extundo.com>
76326
76327         * modules/xstrndup: New file.
76328         * MODULES.html.sh (func_all_modules): Add xstrndup.
76329
76330 2003-08-17  Simon Josefsson  <jas@extundo.com>
76331
76332         * modules/argp: Fix autoconf macro name. Add more dependencies.
76333
76334 2003-08-17  Simon Josefsson  <jas@extundo.com>
76335
76336         * m4/xstrndup.m4: New file.
76337
76338 2003-08-17  Simon Josefsson  <jas@extundo.com>
76339
76340         * m4/argp.m4: New file.
76341
76342 2003-08-17  Simon Josefsson  <jas@extundo.com>
76343             Bruno Haible  <bruno@clisp.org>
76344
76345         * lib/xstrndup.h: New file.
76346         * lib/xstrndup.c: New file.
76347
76348 2003-08-17  Bruno Haible  <bruno@clisp.org>
76349
76350         * modules/strndup (Files, Include): Add lib/strndup.h.
76351
76352 2003-08-17  Bruno Haible  <bruno@clisp.org>
76353
76354         * modules/euidaccess (Files): Add lib/euidaccess.h.
76355
76356 2003-08-17  Bruno Haible  <bruno@clisp.org>
76357
76358         * lib/strndup.h: New file.
76359
76360 2003-08-17  Bruno Haible  <bruno@clisp.org>
76361
76362         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
76363         like AC_GNU_SOURCE.
76364         * modules/extensions (configure.ac): Comment out the invocation of
76365         gl_USE_SYSTEM_EXTENSIONS.
76366
76367 2003-08-16  Paul Eggert  <eggert@twinsun.com>
76368
76369         Merges from coreutils, etc.
76370         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
76371         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
76372         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
76373         fixing a typo.
76374         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
76375         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
76376
76377 2003-08-16  Paul Eggert  <eggert@twinsun.com>
76378
76379         Document merge from coreutils.
76380         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
76381         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
76382         * modules/utime: Add m4/utimes-null.m4.
76383
76384 2003-08-16  Paul Eggert  <eggert@twinsun.com>
76385
76386         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
76387         space, undoing this 2003-08-12 change:
76388         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
76389
76390 2003-08-16  Paul Eggert  <eggert@twinsun.com>
76391
76392         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
76393         strtoul.c from libc, undoing this 2003-08-12 change:
76394         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
76395
76396 2003-08-16  Jim Meyering  <jim@meyering.net>
76397
76398         Merges from coreutils.
76399         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
76400         prefix.  Adjust cache variables similarly.  Create 500 rather than
76401         just 300 files, to exercise bug on Darwin6.5, too.
76402         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
76403         $missing_dir.
76404         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
76405         AM_SYS_POSIX_TERMIOS.
76406         Reported by mkc@mathdogs.com.
76407         Also change use of $am_cv_sys_posix_termios
76408         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
76409         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
76410         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
76411         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
76412         in /proc/mounts until it finds one with matching device number.  This
76413         is unnecessary when the FILE argument *is* a mount point.  No stat call
76414         is necessary in that case.  So, disable the statvfs-testing code on
76415         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
76416         as RedHat bug# 84846.
76417         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
76418         to 1MB, so as not to render systems with no stack size limit (e.g.,
76419         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
76420         Include <unistd.h>.  On some systems,
76421         it is required for the definition of _SC_PAGESIZE.
76422
76423 2003-08-16  Jim Meyering  <jim@meyering.net>
76424
76425         Merge from coreutils.
76426         * lib/xstrtoimax.c: #else #if -> #elif.
76427         * lib/xstrtoumax.c: Likewise.
76428
76429 2003-08-16  Jim Meyering  <jim@meyering.net>
76430
76431         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
76432         * m4/utimes.m4: Removed.
76433         * m4/utimes-null.m4: Renamed from utimes.m4.
76434
76435         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
76436         to 1MB, so as not to render systems with no stack size limit (e.g.,
76437         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
76438         Include <unistd.h>.  On some systems,
76439         it is required for the definition of _SC_PAGESIZE.
76440
76441 2003-08-16  Jim Meyering  <jim@meyering.net>
76442         and Paul Eggert  <eggert@cs.ucla.edu>
76443
76444         Merges from coreutils, etc.
76445
76446         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
76447         using the latest version from cvs.  This avoids problems with #line
76448         directives using a vendor (Sun) compiler.
76449         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
76450         Don't set GETGROUPS_LIB here; now it's
76451         done via getgroups.m4's wrapper function.
76452         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
76453         rather than just in sh-util/configure.in, so that the
76454         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
76455         same.
76456         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
76457         AC_FUNC_GETLOADAVG where to find getloadavg.c.
76458         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
76459         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
76460         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
76461         Remove code that is now done by the newly-required macros.
76462         Append $(EXEEXT) to DF_PROG.
76463         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
76464         Do not invoke or require the following here,
76465         since prereq.m4 or some gnulib .m4 now does this for us:
76466         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
76467         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
76468         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
76469         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
76470         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
76471         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
76472         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
76473         AC_FUNC_OBSTACK.
76474         Do not replace the following functions, as this is now the job
76475         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
76476         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
76477         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
76478         atexit getpass, strdup, getpagesize.
76479         Replace 'raise'.
76480         Do not check for the following functions, as this is now the job
76481         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
76482         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
76483         setregid.
76484         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
76485         Check for sys/sysctl.h.
76486         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
76487         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
76488         of checking for ssize_t ourselves.
76489
76490         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
76491         Require every macro that gnulib/modules/* suggests for us.
76492         (jm_PREREQ_ADDEXT): New macro.
76493         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
76494         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
76495
76496         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
76497         (gl_PHYSMEM): Use it.
76498         Also check for `table' function.
76499         Check for new headers and functions.
76500         Add check for sys/sysmp.h.
76501         With suggestions from Kaveh Ghazi.
76502         Ignore headers that are present but cannot be compiled.  This
76503         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
76504         C 5.4.
76505
76506 2003-08-15  Paul Eggert  <eggert@twinsun.com>
76507
76508         Document merge from coreutils.
76509         * modules/userspec: Depend on posixver.
76510         * modules/strftime: Depend on tzset.
76511
76512 2003-08-15  Paul Eggert  <eggert@twinsun.com>
76513
76514         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
76515         rather than tab, after '#' in shell-script copyright notices.
76516         Suggested by Bruno Haible.
76517
76518 2003-08-15  Paul Eggert  <eggert@twinsun.com>
76519
76520         * config/srclist-update: Use three spaces, rather than tab, after '#'
76521         in shell-script copyright notices.  Suggested by Bruno Haible.
76522         Remove unnecessary parenthesization in regular expression.
76523
76524 2003-08-15  Jim Meyering  <jim@meyering.net>
76525
76526         Merge from coreutils.
76527         * lib/xgethostname.c: Include <stdlib.h>.
76528         (xghostname): Don't exit for anything other than memory-related
76529         failure; just return NULL.
76530         * lib/userspec.c: Include "posixver.h".
76531         (parse_user_spec): Accept `.' as a separator only
76532         in pre-POSIX-200112 mode.
76533         * lib/strtoimax.c: Use #elif rather than #else #if.
76534         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
76535         Remove function, now that we can rely on a working tzset function.
76536         [!_LIBC]: Ensure that the required autoconf test has been run.
76537         [!defined _NL_CURRENT && HAVE_STRFTIME]:
76538         Use underlying_strftime for %r.
76539         * lib/sha.c: Merge in some clean-up and optimization changes from
76540         glibc.
76541         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
76542         Ensure that it is a multiple of 64.
76543         Rearrange loop exit tests so as to avoid performing an
76544         additional fread after encountering an error or EOF.
76545         * lib/realloc.c: Update copyright date.
76546
76547 2003-08-15  Jim Meyering  <jim@meyering.net>
76548         and Paul Eggert  <eggert@twinsun.com>
76549
76550         Merge from coreutils.
76551         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
76552         member but strut utmpx does not.  Needed for AIX 4.3.3.
76553         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
76554
76555 2003-08-15  Jim Meyering  <jim@meyering.net>
76556         and Paul Eggert  <eggert@cs.ucla.edu>
76557
76558         Merges from coreutils, etc.
76559         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
76560         Require gl_FUNC_TZSET_CLOBBER.
76561         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
76562         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
76563         members.
76564
76565 2003-08-14  Paul Eggert  <eggert@twinsun.com>
76566
76567         Help the merge from coreutils.
76568         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
76569         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
76570         * m4/tzset.m4: Use it too.
76571
76572 2003-08-14  Paul Eggert  <eggert@twinsun.com>
76573
76574         * modules/tzset: New file.
76575
76576 2003-08-14  Jim Meyering  <jim@meyering.net>
76577
76578         Merges from coreutils.
76579         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
76580         variable names, rather than @FNMATCH_H@.
76581         * modules/alloca: Likewise for $(ALLOCA_H).
76582
76583         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
76584         the three copies of the literal target, `fnmatch.h'.
76585         * modules/alloca (alloca.h): Likewise.
76586
76587 2003-08-14  Jim Meyering  <jim@meyering.net>
76588
76589         Merge from coreutils.
76590         * m4/tzset.m4: New file.
76591         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
76592         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
76593         otherwise, AIX 5.1 systems would end up using the latter.
76594         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
76595         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
76596         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
76597         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
76598
76599 2003-08-14  Jim Meyering  <jim@meyering.net>
76600
76601         Merge from coreutils.
76602         * lib/obstack.h: Whitespace changes.
76603         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
76604         and xcalloc return values.
76605         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
76606         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
76607         hang on OSF/1 5.1 for DIR on both local and remote file systems.
76608         Reported by (and fix confirmed by) Nelson H. F. Beebe.
76609         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
76610         error from mntctl.
76611         Use mntctl's return value to drive the entry-processing loop, since
76612         we can't rely on the value of the vmt_length member in the last
76613         entry.  On some systems doing so could result in exhausting
76614         virtual memory.  Based in part on a patch from Mike Jetzer.
76615
76616 2003-08-14  Jim Meyering  <jim@meyering.net>
76617         and Paul Eggert  <eggert@twinsun.com>
76618
76619         Merges from coreutils, plus other fixes.
76620         * lib/physmem.c: Merge in portability changes from gcc/libiberty
76621         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
76622         for credits and details.  Thanks to Kaveh Ghazi for helping
76623         to keep these files in sync.
76624         (ARRAY_SIZE): Define it.
76625         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
76626         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
76627         (memcasecmp): Don't assume size_t fits in unsigned int.
76628         Remove casts and duplicate code.
76629         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
76630         (memcpy): Remove definition.
76631         Merge in some clean-up and optimization changes from glibc.
76632         [BLOCKSIZE]: Move definition to top of file.
76633         Ensure that it is a multiple of 64.
76634         Rearrange loop exit tests so as to avoid performing an
76635         additional fread after encountering an error or EOF.
76636         * lib/md5.h (md5_uintptr): Define.
76637         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
76638         return to the initial working directory.  Preserve errno
76639         for caller.
76640         * lib/idcache.c: Include "xalloc.h".
76641         (xmalloc, xrealloc): Remove decls.
76642         (getuser): Remove casts no longer required in C89.
76643         * lib/human.c: Include stdio.h, for sprintf.
76644         * lib/group-member.c: Include "xalloc.h".
76645         (xmalloc, xrealloc): Remove decls.
76646         (get_group_info): Remove casts no longer required in C89.
76647         * lib/getusershell.c (readname): Remove casts no longer required in
76648         C89.
76649         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
76650         * lib/getline.c: Whitespace fix, from coreutils.
76651
76652 2003-08-13  Paul Eggert  <eggert@twinsun.com>
76653
76654         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
76655         Check for isascii.
76656
76657         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
76658         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
76659         Undo previous (whitespace-only) change.
76660
76661 2003-08-13  Paul Eggert  <eggert@twinsun.com>
76662
76663         * lib/exclude.c: Include <ctype.h>
76664         (IN_CTYPE_DOMAIN): New macro.
76665         (is_space): New fn.
76666         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
76667         and empty lines.
76668
76669         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
76670         Undo previous (whitespace-only) change.
76671
76672 2003-08-13  Paul Eggert  <eggert@twinsun.com>
76673
76674         * config/srclist-update: Change update back to the old behavior,
76675         leaving whitespace alone.  Use one 'sed' command rather than a
76676         pipeline.
76677         (fixlicense): Now a variable, not a function.
76678         (remove_trailing_blanks): Remove.
76679         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
76680         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
76681         Undo previous (whitespace-only) change.
76682
76683 2003-08-12  Paul Eggert  <eggert@twinsun.com>
76684
76685         Merge from coreutils.
76686         * modules/euidaccess: Add lib_SOURCES, include for new
76687         file euidaccess.h
76688
76689 2003-08-12  Paul Eggert  <eggert@twinsun.com>
76690
76691         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
76692         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
76693         Normalize leading white space and remove trailing white space.
76694
76695         Merge from coreutils
76696         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
76697
76698         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
76699         0.12.1.  These files are now being upgraded automatically by
76700         ../config/srclist-update.
76701
76702 2003-08-12  Paul Eggert  <eggert@twinsun.com>
76703
76704         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
76705         Normalize leading white space and remove trailing white space.
76706         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
76707         notice, as per ../config/srclist-update.
76708
76709         Merge from coreutils.
76710         * lib/euidaccess.h: New file.
76711         * lib/euidaccess.c: Include it.
76712         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
76713         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
76714         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
76715
76716 2003-08-12  Paul Eggert  <eggert@twinsun.com>
76717
76718         * config/srclist-update: Add copyright notice.
76719         (remove_id_lines, remove_trailing_blanks): New constants.
76720         (fixfile): Use them to normalize spacing a bit in copied files.
76721         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
76722         Normalize leading white space and remove trailing white space.
76723
76724         * config/texinfo.tex: Sync with texinfo.
76725
76726         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
76727         strtoul.c from libc, to merge coreutils whitespace changes.
76728
76729         * config/srclist.txt: Get the following m4 files from gettext:
76730         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
76731         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
76732         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
76733         wint_t.m4.
76734
76735 2003-08-12  Karl Berry  <karl@gnu.org>
76736
76737         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
76738         been made.
76739
76740 2003-08-11  Paul Eggert  <eggert@twinsun.com>
76741
76742         * modules/gnu-source, m4/gnu-source.m4:
76743         Remove; we're assuming Autoconf 2.54 or later now.
76744         Suggested by Bruno Haible.
76745         * MODULES.html.sh (func_all_modules): Remove gnu-source.
76746
76747 2003-08-11  Bruno Haible  <bruno@clisp.org>
76748
76749         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
76750
76751 2003-08-11  Bruno Haible  <bruno@clisp.org>
76752
76753         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
76754         (vasnprintf): Use it instead of wcslen.
76755
76756 2003-08-11  Bruno Haible  <bruno@clisp.org>
76757
76758         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
76759         value to ensure that _Bool promotes to int. Use #define for _Bool when
76760         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
76761
76762 2003-08-10  Karl Berry  <karl@gnu.org>
76763
76764         * lib/regex.h: update from libc (whitespace fix).
76765
76766 2003-08-09  Paul Eggert  <eggert@twinsun.com>
76767
76768         Merge some files from coreutils.  These changes were
76769         originally made by Jim Meyering.
76770         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
76771         many older Unixes require this.
76772         * lib/alloca.c (alloca): Remove cast to argument of free;
76773         no longer needed in C89.
76774         * lib/alloca_.h, regex.h: Fix white space to match
76775         what GNU indent does.
76776
76777 2003-08-09  Paul Eggert  <eggert@twinsun.com>
76778
76779         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
76780         apparently Emacs's Unicode mode got confused before my 2003-08-05
76781         checkin.
76782
76783 2003-08-08  Paul Eggert  <eggert@twinsun.com>
76784
76785         * m4/extensions.m4: New file.
76786         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
76787         Require gl_USE_SYSTEM_EXTENSIONS.
76788         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
76789         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
76790
76791 2003-08-08  Paul Eggert  <eggert@twinsun.com>
76792
76793         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
76794         * modules/extensions, modules/gnu-source: New files.
76795         * modules/timespec, modules/unlocked-io: Depend on extensions.
76796
76797 2003-08-07  Paul Eggert  <eggert@twinsun.com>
76798
76799         * modules/restrict: New file.
76800         * MODULES.html.sh (func_all_modules): Add restrict.
76801         * modules/regex: Depend on restrict.
76802
76803 2003-08-07  Paul Eggert  <eggert@twinsun.com>
76804
76805         * m4/restrict.m4: New file.
76806         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
76807
76808 2003-08-07  Bruno Haible  <bruno@clisp.org>
76809
76810         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
76811         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
76812
76813 2003-08-07  Bruno Haible  <bruno@clisp.org>
76814
76815         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
76816         makes the module 'getndelim2' compatible with the module 'getline'.
76817
76818 2003-08-05  Paul Eggert  <eggert@twinsun.com>
76819
76820         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
76821         byte with "\201" to avoid glitches when editing that source file
76822         with multi-gnome-terminal.
76823
76824 2003-08-05  Paul Eggert  <eggert@twinsun.com>
76825
76826         * lib/bumpalloc.h: Remove.
76827
76828 2003-08-05  Paul Eggert  <eggert@twinsun.com>
76829
76830         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
76831         * modules/bumpalloc: Remove.
76832
76833 2003-08-04  Paul Eggert  <eggert@twinsun.com>
76834
76835         * lib/getloadavg.c: Change copyright notice and spacing to conform to
76836         GNU coding style.
76837
76838         Merge from coreutils.
76839         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
76840         1. From glibc.
76841         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
76842         from Karl Berry, implemented by Jim Meyering.
76843         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
76844         from Dmitry V. Levin.
76845         Remove anachronistic cast of xrealloc.
76846         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
76847         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
76848         type. Otherwise, it wouldn't compile with at least /bin/cc on
76849         ymp-cray-unicos9.0.2.X.
76850         Combine two mostly-identical uses of alloca into one.
76851         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
76852
76853 2003-08-04  Dave Love  <d.love@dl.ac.uk>
76854
76855         [From Emacs.]
76856
76857         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
76858         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
76859         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
76860         obsolete NLIST_NAME_UNION.
76861         [__GNU__]: Undef BSD and FSCALE.
76862         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
76863
76864 2003-08-03  Paul Eggert  <eggert@twinsun.com>
76865
76866         * lib/stdbool_.h (_Bool): Make it signed char, instead of
76867         an enum type, so that it's guaranteed to promote to int.  See:
76868         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
76869
76870 2003-08-03  Karl Berry  <karl@gnu.org>
76871
76872         * config/depcomp: update from automake.
76873
76874 2003-07-31  Paul Eggert  <eggert@twinsun.com>
76875
76876         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
76877         (strerror): Don't assume that a printable int fits in 14 bytes.
76878
76879 2003-07-31  Bruno Haible  <bruno@clisp.org>
76880
76881         * modules/getpass-gnu: New file.
76882         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
76883
76884 2003-07-31  Bruno Haible  <bruno@clisp.org>
76885
76886         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
76887
76888 2003-07-24  Karl Berry  <karl@gnu.org>
76889
76890         * config/missing: update from automake.
76891
76892 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
76893             Bruno Haible  <bruno@clisp.org>
76894
76895         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
76896         * lib/getline.c (getline, getdelim): Likewise.
76897         Remove _GNU_SOURCE define; now it's defined in config.h through
76898         m4/getline.m4.
76899
76900 2003-07-23  Karl Berry  <karl@gnu.org>
76901
76902         * config/config.sub: update from prep.
76903
76904 2003-07-22  Paul Eggert  <eggert@twinsun.com>
76905
76906         * modules/xalloc (Depends-on): Add exitfail.
76907         * modules/xmemcoll: Likewise.
76908
76909 2003-07-22  Paul Eggert  <eggert@twinsun.com>
76910
76911         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
76912         over-parenthesization in macros.
76913
76914         Sync with coreutils.
76915
76916         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
76917         required by C99.
76918
76919         Use `exit_failure' for xalloc and xmemcoll instead of their own
76920         private exit-failure variables.
76921         * lib/xalloc.h (xalloc_exit_failure): Remove.
76922         * lib/xmalloc.c: Likewise.  Include exitfail.h.
76923         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
76924         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
76925         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
76926         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
76927
76928 2003-07-20  Jim Meyering  <jim@meyering.net>
76929
76930         * modules/closeout (Depends-on): Add exitfail.
76931         Suggestion from Bruno Haible.
76932
76933 2003-07-19  Karl Berry  <karl@gnu.org>
76934
76935         * config/config.sub: update from prep.
76936
76937 2003-07-18  Paul Eggert  <eggert@twinsun.com>
76938
76939         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
76940         Remove.
76941         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
76942         to test that it can stand by itself.  Include "exitfail.h".
76943         Clients should set exit_failure instead.
76944         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
76945
76946 2003-07-18  Bruno Haible  <bruno@clisp.org>
76947
76948         * modules/getndelim2: New file.
76949         * modules/getline: Share files with module getndelim2.
76950         * modules/getnline: Depend on getndelim2 instead of sharing files with
76951         it. Add getnline.c to lib_SOURCES.
76952         * MODULES.html.sh (func_all_modules): Add getndelim2.
76953
76954 2003-07-18  Bruno Haible  <bruno@clisp.org>
76955
76956         * m4/getndelim2.m4: New file.
76957         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
76958         invoke gl_PREREQ_GETNDELIM2.
76959         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
76960         gl_PREREQ_GETNDELIM2.
76961         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
76962         gl_GETNDELIM2.
76963
76964 2003-07-18  Bruno Haible  <bruno@clisp.org>
76965
76966         * lib/getndelim2.h: New file.
76967         * lib/getndelim2.c: Make into a module of its own. Include config.h,
76968         getndelim2.h.
76969         (getndelim2): Make non-static. Change return type to ssize_t.
76970         * lib/getline.h: Change argument names.
76971         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
76972         * lib/getnline.c: Include getndelim2.h.
76973
76974 2003-07-18  Andreas Schwab  <schwab@suse.de>
76975
76976         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
76977
76978 2003-07-17  Karl Berry  <karl@gnu.org>
76979
76980         * config/config.sub: update from prep.
76981
76982 2003-07-17  Bruno Haible  <bruno@clisp.org>
76983
76984         * modules/getnline: New file.
76985         * modules/getline: Add lib/getndelim2.c to source file list.
76986         * MODULES.html.sh (func_all_modules): Add getnline.
76987
76988 2003-07-17  Bruno Haible  <bruno@clisp.org>
76989
76990         * m4/getnline.m4: New file.
76991
76992 2003-07-17  Bruno Haible  <bruno@clisp.org>
76993
76994         * m4/Makefile.am.in: Remove file.
76995         * m4/Makefile.am: Remove file.
76996         * m4/Makefile.in: Remove file.
76997
76998 2003-07-17  Bruno Haible  <bruno@clisp.org>
76999
77000         * lib/getnline.h: New file.
77001         * lib/getnline.c: New file.
77002         * lib/getndelim2.c: New file, extracted from getline.c.
77003         (getndelim2): Renamed from getdelim2, with added nmax argument.
77004         * lib/getline.c: Include getndelim2.c.
77005         (getdelim2): Moved out to getndelim2.c.
77006         (getline, getdelim): Update.
77007
77008 2003-07-17  Bruno Haible  <bruno@clisp.org>
77009
77010         * lib/Makefile.am: Remove file.
77011         * lib/Makefile.in: Remove file.
77012
77013 2003-07-17  Bruno Haible  <bruno@clisp.org>
77014
77015         * configure.in: Remove file.
77016         * Makefile.in: Remove file.
77017
77018 2003-07-17  Bruno Haible  <bruno@clisp.org>
77019
77020         * MODULES.html.sh: Put the </BODY> right before </HTML>.
77021
77022 2003-07-16  Karl Berry  <karl@gnu.org>
77023
77024         * config/srclist-update: was running fixlicense twice, which caused
77025                 texinfo.tex to be nullified for some reason.  Simplify,
77026                 $gplsrc is no longer needed as far as I can see?
77027
77028 2003-07-16  Jim Meyering  <jim@meyering.net>
77029
77030         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
77031
77032 2003-07-15  Paul Eggert  <eggert@twinsun.com>
77033
77034         * config/srclist.txt: Get the following files from gettext-runtime/intl
77035         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
77036         ref-del.sin.  From Bruno Haible.
77037         * config/srclist-update (fixfile): Change grep pattern again, since the
77038         previous fix didn't work (there was another trailing $).  Use
77039         '[$]' to escape the $s.
77040
77041 2003-07-15  Karl Berry  <karl@gnu.org>
77042
77043         * lib/vasnprintf.c: update from gettext.
77044
77045 2003-07-15  Karl Berry  <karl@gnu.org>
77046
77047         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
77048         gets expanded when surrounded by '$'.
77049
77050 2003-07-15  Jim Meyering  <jim@meyering.net>
77051
77052         * modules/save-cwd: Don't depend on error.  From Derek Price.
77053
77054 2003-07-15  Jim Meyering  <jim@meyering.net>
77055
77056         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
77057
77058 2003-07-14  Simon Josefsson  <jas@extundo.com>
77059
77060         * modules/mempcpy: New file.
77061         * MODULES.html.sh (func_all_modules): Add mempcpy.
77062
77063 2003-07-14  Simon Josefsson  <jas@extundo.com>
77064
77065         * m4/mempcpy.m4: New file.
77066
77067 2003-07-14  Simon Josefsson  <jas@extundo.com>
77068
77069         * lib/mempcpy.h: New file.
77070         * lib/mempcpy.c: New file.
77071
77072 2003-07-14  Paul Eggert  <eggert@twinsun.com>
77073
77074         * modules/getdate, modules/posixtm: Depend on mktime.
77075
77076 2003-07-14  Paul Eggert  <eggert@twinsun.com>
77077
77078         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
77079         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
77080         unicodeio.c, unicodeio.h, unlocked-io.h:
77081         Switch from LGPL to GPL.
77082
77083 2003-07-14  Paul Eggert  <eggert@twinsun.com>
77084
77085         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
77086         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
77087         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
77088         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
77089         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
77090         updated automatically by ../config/srclist-update.  This changes
77091         their license from LPGL to GPL.
77092
77093 2003-07-14  Paul Eggert  <eggert@twinsun.com>
77094
77095         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
77096         assumed to refer to the root of the most recent stable gettext version.
77097         * config/srclistvars.sh: Add defaults for eggert.
77098         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
77099         Match "This program" as well as "The program".  This is needed
77100         for gettext.
77101
77102 2003-07-14  Jim Meyering  <jim@meyering.net>
77103
77104         Don't emit diagnostics.  Let callers do that.
77105         * lib/save-cwd.c: Don't include "error.h".
77106         (save_cwd): Don't call error.  Ensure that errno is valid
77107         when returning nonzero.
77108
77109         * lib/save-cwd.h (restore_cwd): Update prototype.
77110         * lib/save-cwd.c (restore_cwd): Remove two parameters.
77111         Simplify.  Don't call error upon failure.  Let callers do that.
77112         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
77113         when auditing is enabled.  But don't bother updating the #if.
77114
77115 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
77116
77117         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
77118         it breaks C++ compilation.
77119         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
77120
77121 2003-07-10  Simon Josefsson  <jas@extundo.com>
77122
77123         * modules/strchrnul (Makefile.am): Add strchrnul.h.
77124
77125 2003-07-10  Jim Meyering  <jim@meyering.net>
77126
77127         * m4/clock_time.m4: Remove trailing blank.
77128         * m4/intmax_t.m4: Likewise.
77129
77130 2003-07-10  Jim Meyering  <jim@meyering.net>
77131
77132         * lib/vasnprintf.c: Remove trailing blanks.
77133         Make cpp indentation consistent.
77134
77135 2003-07-09  Paul Eggert  <eggert@twinsun.com>
77136
77137         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
77138         posixver.c, strftime.c, strnlen.c, strverscmp.c:
77139         Switch from LGPL to GPL.
77140
77141 2003-07-09  Paul Eggert  <eggert@twinsun.com>
77142
77143         * config/srclist.txt: Sort sublists.  Add
77144         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
77145         that differ from gnulib for one reason or another; we'd like this list
77146         to be smaller but for now let's document what we have.
77147
77148 2003-07-08  Paul Eggert  <eggert@twinsun.com>
77149
77150         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
77151         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
77152         and sweeter "eval x=$x".
77153         * config/srclist.txt: Get lib/argp* from glibc.
77154
77155 2003-07-07  Paul Eggert  <eggert@twinsun.com>
77156
77157         * lib/mktime.c: Fix some boundary cases and remove need for floating
77158         point.
77159
77160         Issue a compile-time diagnostic if time_t is floating point, or if
77161         two's complement arithmetic is not in effect, or if arithmetic
77162         right shift does not propagate the sign.  These assumptions were
77163         all in the original code but they weren't checked.
77164
77165         (TIME_T_MIDPOINT, verify): New macros.
77166         (__isleap): Remove; it has integer overflow problems.
77167         (leapyear): New function, without those problems.
77168         (ydhms_tm_diff): Remove; splitting into two parts.
77169         (ydhms_diff): New function, containing the arithmetic part of
77170         the old ydhms_tm_diff function.  Issue a compile-time
77171         diagnostic if we are not using C99 integer division.
77172         Avoid casts when possible.
77173         (guess_time_tm): New function, containing the checking part of
77174         the old ydhms_tm_diff function.  Return the new value, rather than
77175         the difference between it and the old.  Accept a new argument T
77176         so that *T specifies the old value.  Check for overflow in the result.
77177
77178         (__mktime_internal): Use a time_t offset, not a long int offset.
77179         This undoes the 2003-06-04 change, which is no longer needed now
77180         that we have better overflow checking.
77181         (localtime_offset): Likewise.
77182
77183         (__mktime_internal): Avoid harmful overflow on hosts where time_t
77184         and long are 64-bit but int is only 32-bit.
77185         (ydhms_diff): Use long int to store year1 and yday1.
77186         Issue a compile-time diagnostic if long int is not wide enough.
77187
77188         (__mktime_internal): Use long int to store adjusted year and yday.
77189         Use plain C rather than preprocessor commands, if that doesn't
77190         affect efficiency.
77191         Check for overflow (and try to repair) after each probe
77192         rather than checking only at the very end.  This avoids some bugs
77193         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
77194         does not equal GMT offset at maximum time).
77195         Use integer to check for overflow rather than floating point; this
77196         is more portable to non-IEEE hosts, and is a tad faster.
77197         When we detect that we are oscillating between two values,
77198         don't check whether tm_isdst has the requested value, since
77199         we already know the answer.  When tm_isdst has the wrong value,
77200         use a different heuristic to find the right one, based on the
77201         extreme values actually observed in practice in tz2003a,
77202         rather than the (overly optimistic) "previous 3 calendar quarters".
77203
77204         (not_equal_tm, print_tm, check_result): Use "const T" rather than
77205         "T const" to accommodate glibc style.
77206         (check_result): Use less-confusing report format.  "long" -> "long int.
77207         (main): Likewise.
77208         Don't loop if the iteration overflows time_t.
77209         Allow a negative step in the iteration.
77210
77211 2003-07-06  Karl Berry  <karl@gnu.org>
77212
77213         * config/depcomp: update from automake.
77214         * config/config.sub: update from prep.
77215
77216 2003-07-03  Karl Berry  <karl@gnu.org>
77217
77218         * config/config.guess: update from prep.
77219
77220 2003-07-01  Paul Eggert  <eggert@twinsun.com>
77221
77222         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
77223         xreadlink.c now includes it unconditionally.
77224
77225 2003-07-01  Paul Eggert  <eggert@twinsun.com>
77226
77227         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
77228         having it depend on HAVE_SYS_TYPES_H.
77229
77230 2003-07-01  Bruno Haible  <bruno@clisp.org>
77231
77232         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
77233         <sys/types.h> should be sufficient.
77234         Reported by Paul Eggert.
77235
77236 2003-06-26  Karl Berry  <karl@gnu.org>
77237
77238         * config/depcomp: update from automake.
77239
77240 2003-06-26  Bruno Haible  <bruno@clisp.org>
77241
77242         * modules/human: Depend on module stdbool.
77243
77244 2003-06-25  Bruno Haible  <bruno@clisp.org>
77245
77246         * modules/readlink: New file.
77247         * modules/xreadlink: Depend on it.
77248         * MODULES.html.sh (func_all_modules): Add readlink.
77249
77250 2003-06-25  Bruno Haible  <bruno@clisp.org>
77251
77252         * m4/readlink.m4: New file.
77253
77254 2003-06-25  Bruno Haible  <bruno@clisp.org>
77255
77256         * lib/readlink.c: New file.
77257
77258 2003-06-22  Karl Berry  <karl@gnu.org>
77259
77260         * config/srclist.txt: update mkinstalldirs from automake.
77261         * config/mkinstalldirs: update.
77262
77263 2003-06-22  Bruno Haible  <bruno@clisp.org>
77264
77265         Portability to mingw32.
77266         * m4/ssize_t.m4: New file, from GNU gettext.
77267         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
77268         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
77269
77270 2003-06-22  Bruno Haible  <bruno@clisp.org>
77271
77272         * modules/safe-read: Add m4/ssize_t.m4.
77273         * modules/xreadlink: Add m4/ssize_t.m4.
77274
77275 2003-06-20  Bruno Haible  <bruno@clisp.org>
77276
77277         Assume C89, so PARAMS isn't needed.
77278         * lib/unicodeio.h (PARAMS): Remove.
77279         * lib/unicodeio.c: Don't use PARAMS.
77280
77281 2003-06-18  Karl Berry  <karl@gnu.org>
77282
77283         * config/config.{guess,sub}: update from prep.
77284
77285 2003-06-18  Jim Meyering  <jim@meyering.net>
77286
77287         Merge changes from coreutils.
77288         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
77289         Remove explicit declarations of xmalloc and realloc.
77290         Include xalloc.h.
77291         (read_utmp): Remove anachronistic cast of xmalloc.
77292
77293 2003-06-17  Paul Eggert  <eggert@twinsun.com>
77294
77295         Assume C89, so PARAMS isn't needed.
77296         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
77297         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
77298         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
77299         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
77300         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
77301         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
77302         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
77303         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
77304         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
77305         lib/xstrtod.h, lib/xstrtol.h: Likewise.
77306         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
77307         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
77308         no longer needed. Anyway, config.h should always be included before any
77309         other file.
77310
77311 2003-06-11  Simon Josefsson  <jas@extundo.com>
77312
77313         * modules/sysexits: New file.
77314         * MODULES.html.sh (func_all_modules): Add sysexits.
77315
77316 2003-06-11  Simon Josefsson  <jas@extundo.com>
77317
77318         * lib/sysexit_.h: New file.
77319
77320 2003-06-11  Derek Price  <derek@ximbiot.com>
77321
77322         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
77323         necessary.
77324
77325 2003-06-11  Bruno Haible  <bruno@clisp.org>
77326
77327         * m4/sysexits.m4: New file.
77328
77329 2003-06-10  Simon Josefsson  <jas@extundo.com>
77330
77331         * lib/argp.h: New file, from glibc.
77332         * lib/argp-ba.c: New file, from glibc.
77333         * lib/argp-eexst.c: New file, from glibc.
77334         * lib/argp-fmtstream.c: New file, from glibc.
77335         * lib/argp-fmtstream.h: New file, from glibc.
77336         * lib/argp-fs-xinl.c: New file, from glibc.
77337         * lib/argp-help.c: New file, from glibc.
77338         * lib/argp-namefrob.h: New file, from glibc.
77339         * lib/argp-parse.c: New file, from glibc.
77340         * lib/argp-pv.c: New file, from glibc.
77341         * lib/argp-pvh.c: New file, from glibc.
77342         * lib/argp-xinl.c: New file, from glibc.
77343
77344 2003-06-10  Simon Josefsson  <jas@extundo.com>
77345
77346         * modules/strchrnul: New file.
77347
77348 2003-06-10  Simon Josefsson  <jas@extundo.com>
77349
77350         * modules/argp: New file.
77351
77352 2003-06-10  Simon Josefsson  <jas@extundo.com>
77353
77354         * m4/strchrnul.m4: New file.
77355
77356 2003-06-10  Simon Josefsson  <jas@extundo.com>
77357
77358         * lib/strchrnul.h: New file.
77359         * lib/strchrnul.c: New file.
77360
77361 2003-06-10  Bruno Haible  <bruno@clisp.org>
77362
77363         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
77364
77365 2003-06-07  Karl Berry  <karl@gnu.org>
77366
77367         * config/config.{guess,sub}: update from prep.
77368
77369 2003-06-07  Jim Meyering  <jim@meyering.net>
77370
77371         * modules/strtod: Use $(...) notation, not @...@ for
77372         AC_REPLACE'd variables.
77373         * modules/localcharset: Likewise.
77374
77375 2003-06-07  Jim Meyering  <jim@meyering.net>
77376
77377         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
77378         in place of my name in the copyright comment.
77379         Remove definition and uses of __P.
77380
77381         From coreutils.
77382         * lib/stat.c: Don't declare xmalloc explicitly.
77383         Instead, include "xalloc.h".
77384         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
77385         xrealloc, and xcalloc return values.
77386         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
77387         Improve comment.
77388         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
77389
77390 2003-06-07  Bruno Haible  <bruno@clisp.org>
77391
77392         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
77393         avoid AC_CONFIG_LINKS.
77394         * modules/fnmatch (Makefile.am): Use explicit creation rule for
77395         fnmatch.h, to avoid AC_CONFIG_LINKS.
77396         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
77397
77398 2003-06-07  Bruno Haible  <bruno@clisp.org>
77399
77400         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
77401         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
77402         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
77403         directory.
77404         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
77405         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
77406         directory.
77407
77408 2003-06-06  Jim Meyering  <jim@meyering.net>
77409
77410         Merge from coreutils.
77411         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
77412         Consolidate declarations and initializations of *_base* locals.
77413
77414         Merge from coreutils.
77415         This avoids a core dump on systems without GNU putenv,
77416         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
77417         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
77418         (unsetenv): New static function, from GNU libc.
77419         (rpl_putenv): Use it.
77420
77421         * lib/modechange.c: Remove trailing blanks.
77422
77423         Merge from coreutils.
77424         * lib/fsusage.c: Remove declaration of statfs.
77425         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
77426
77427         * lib/posixtm.c: Include <stdbool.h> unconditionally.
77428
77429 2003-06-06  Jim Meyering  <jim@meyering.net>
77430
77431         * lib/stdbool_.h: Renamed from stdbool.h.in.
77432
77433 2003-06-06  Jim Meyering  <jim@meyering.net>
77434             Bruno Haible  <bruno@clisp.org>
77435
77436         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
77437         Adjust Makefile.am snippet not to redirect directly to target.
77438         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
77439
77440 2003-06-05  Paul Eggert  <eggert@twinsun.com>
77441
77442         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
77443         mismatch, look in future quarters as well as past.  This fixes a
77444         bug when processing fall-backwards gaps immediately after a long
77445         period of daylight-saving time.
77446
77447         * lib/mktime.c: Assume freestanding C89 or better.
77448         (HAVE_LIMITS_H): Remove.  Assume it's 1.
77449         (__P): Remove; not used.
77450         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
77451         (mktime, not_equal_tm, print_tm, check_result,
77452         main): Use prototypes.  Use const * where appropriate.
77453         (main): Fix typo in testing code that uncovered by above changes.
77454         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
77455
77456 2003-06-04  Paul Eggert  <eggert@twinsun.com>
77457
77458         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
77459         locale.h, localeconv.  This merges changes from coreutils.
77460
77461         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
77462         It can be removed after the next Autoconf is released.
77463         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
77464         needed.
77465
77466 2003-06-04  Paul Eggert  <eggert@twinsun.com>
77467
77468         * lib/mktime.c: Fix Debian bug 177940
77469         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
77470         (localtime_offset): Now long int, not time_t, because we want it
77471         to be guaranteed to be signed.  All uses changed.
77472         (__mktime_internal): If overflow would occur when adding offset,
77473         don't add it.
77474
77475         Merge 'human' changes from coreutils.  Rewrite to support
77476         locale-specific notations like thousands separators.
77477         * lib/human.c: Simplify authorship notice.
77478         Include human.h immediately after config.h.
77479         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
77480         <limits.h>: Do not include, since human.h does.
77481         (SIZE_MAX, UINTMAX_MAX): New macros.
77482         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
77483         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
77484         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
77485         (power_letter): Renamed from suffixes.
77486         (generate_suffix_backwards): Remove.
77487         (adjust_value): Now takes int style (because of human.h changes)
77488         and long double value (for greater precision on some platforms).
77489         (group_number): New function.
77490         (human_readable): Use it.  Use integer options, not enum.
77491         Put the options before the sizes in the arg list.
77492         Support all the new options.
77493         The old human_readable function has been removed;
77494         use inttostr.h instead.
77495         (human_readable, default_block_size, humblock):
77496         Use uintmax_t, not int, for block sizes.
77497         (human_readable_inexact, block_size_types): Remove.
77498         (block_size_opts): New constant.
77499         (human_options): Renamed from human_block_size, with new signature
77500         that allows block sizes up to UINTMAX_MAX.  All callers changed.
77501         * lib/human.h: Add copyright and authorship notice.
77502         Include <limits.h> and <stdbool.h> unconditionally.
77503         (PARAMS): Remove.  All uses removed.
77504         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
77505         (enum human_inexact_style): Remove tag; now a nameless enum.
77506         (human_floor, human_ceiling, human_round_to_even): Now have
77507         values 2, 0, 1 rather than -1, 1, 0.
77508         (human_group_digits, human_suppress_point_zero, human_autoscale,
77509         human_base_1024, human_SI, human_B): New constants.
77510         (human_readable_inexact, human_block_size): Remove.
77511         (human_readable): Size args are now uintmax_t, not int.
77512         (human_options): New decl.
77513
77514         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
77515         unnecessary now that we assume C89 or better.  This change
77516         imported from coreutils.
77517
77518         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
77519         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
77520         in the 2003-05-30 sync from glibc.
77521
77522         .h files should stand alone, but we shouldn't include <sys/types.h>
77523         if we can get away with just <stddef.h>.
77524
77525         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
77526         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
77527         rather than <sys/types.h>, as we merely need size_t.
77528         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
77529         to get size_t.
77530         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
77531         Include <stdio.h>, to get FILE.
77532         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
77533         memcasecmp.h has included <stddef.h> and all we need is size_t.
77534         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
77535         our interface, instead of including <sys/types.h>
77536
77537 2003-06-04  Paul Eggert  <eggert@twinsun.com>
77538
77539         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
77540         now, as glibc mktime is buggy on non-glibc systems.
77541
77542 2003-06-03  Karl Berry  <karl@gnu.org>
77543
77544         * config/config.sub: update from prep.
77545
77546 2003-06-02  Paul Eggert  <eggert@twinsun.com>
77547
77548         [from coreutils]
77549         Fix some minor time-related bugs with POSIX time arguments.
77550         Some valid time stamps were being rejected (notably -1, and
77551         time stamps before 1900 on 64-bit hosts).  And some invalid
77552         time stamps were being accepted, e.g. September 31.
77553
77554         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
77555         that we can return (time_t) -1 successfully.
77556         * lib/posixtm.c: Likewise.
77557         [HAVE_STDBOOL_H]: Include <stdbool.h>.
77558         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
77559         (t): Remove static var.
77560         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
77561         of static var.  All uses changed.
77562         (year): Do not reject years before 1900; they can occur with
77563         64-bit time_t.
77564         (posix_time_parse): Do not check for out-of-range components;
77565         that is now the caller's responsibility, since our checks were
77566         only approximations.
77567         (posixtime): Use mktime to check for out-of-range components,
77568         since it knows them exactly.
77569         If mktime returns (time_t) -1, check whether an error actually occurred
77570         by invoking localtime on -1.
77571         (main) [TEST_POSIXTIME]: Check for input data errors, and report
77572         posixtime failures better.
77573         Improve the test data (in comments only).
77574
77575 2003-06-02  Karl Berry  <karl@gnu.org>
77576
77577         * config/mkinstalldirs (version): new variable.
77578         (--version): new option.
77579         (usage): improve message.
77580
77581 2003-05-30  Karl Berry  <karl@gnu.org>
77582
77583         * lib/mktime.c: update from libc.
77584
77585 2003-05-30  Bruno Haible  <bruno@clisp.org>
77586
77587         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
77588         * config/config.rpath: Upgrade to gettext-0.12.1.
77589
77590 2003-05-30  Bruno Haible  <bruno@clisp.org>
77591
77592         * m4/gettext.m4: Upgrade to gettext-0.12.1.
77593         * m4/nls.m4: New file, from gettext-0.12.1.
77594         * m4/po.m4: New file, from gettext-0.12.1.
77595         * m4/progtest.m4: Upgrade to gettext-0.12.1.
77596
77597 2003-05-30  Bruno Haible  <bruno@clisp.org>
77598
77599         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
77600         * lib/localcharset.h: Likewise.
77601         * lib/localcharset.c: Likewise.
77602
77603 2003-05-29  Karl Berry  <karl@gnu.org>
77604
77605         * config/config.rpath: update from gettext.
77606
77607 2003-05-28  Paul Eggert  <eggert@twinsun.com>
77608
77609         Assume the headers required for C89 freestanding compilers.
77610         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
77611         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
77612         * m4/human.m4 (gl_HUMAN): Likewise.
77613         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
77614         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
77615         * m4/userspec.m4 (gl_USERSPEC): Likewise.
77616         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
77617         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
77618         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
77619
77620 2003-05-28  Paul Eggert  <eggert@twinsun.com>
77621
77622         Assume the headers required for C89 freestanding compilers.
77623         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
77624         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
77625         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
77626         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
77627         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
77628         define, since <limits.h> is guaranteed to do that.
77629         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
77630         * lib/exclude.c: Include <stdbool.h> unconditionally.
77631         * lib/tempname.c: Include <stddef.h> unconditionally.
77632         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
77633         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
77634         <stddef.h> does that.
77635         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
77636         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
77637         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
77638         needed.
77639         * lib/xstrtol.c: Likewise.
77640         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
77641         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
77642
77643         * lib/addext.c (addext): Use assignment rather than cast, to avoid
77644         warnings on some platforms.
77645
77646         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
77647         arbitrarily.
77648
77649 2003-05-26  Jim Meyering  <jim@meyering.net>
77650
77651         Merge in a change from coreutils:
77652         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
77653         that is guaranteed to be `no'.  Use `no_such_member' to indicate
77654         that condition, rather than `-1' which is slightly misleading.
77655         Change the name of the cache variable to have the gl_ prefix.
77656         Prompted by a patch from Richard Dawe for DJGPP.
77657
77658 2003-05-24  Karl Berry  <karl@gnu.org>
77659
77660         * config/config.guess: update from prep.
77661
77662 2003-05-22  Karl Berry  <karl@gnu.org>
77663
77664         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
77665
77666 2003-05-20  Karl Berry  <karl@gnu.org>
77667
77668         * config/config.guess: update from prep.
77669
77670 2003-05-18  Karl Berry  <karl@gnu.org>
77671
77672         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
77673         might actually be set by the user.
77674
77675         * config/depcomp, install-sh, mdate-sh: update from automake.
77676
77677 2003-05-17  Bruno Haible  <bruno@clisp.org>
77678
77679         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
77680         invalid expansion for AC_EGREP_CPP.
77681         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
77682         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
77683         Suggested by Akim Demaille <akim@epita.fr> in
77684         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
77685
77686 2003-05-12  Jim Meyering  <jim@meyering.net>
77687
77688         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
77689         the space-padded-by-default conversion specifiers, %e, %k, %l.
77690
77691 2003-05-12  Bruno Haible  <bruno@clisp.org>
77692
77693         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
77694         the string is longer than 4 KB.
77695
77696 2003-05-11  Karl Berry  <karl@gnu.org>
77697
77698         * config/config.{guess,sub}: update from prep.
77699
77700 2003-05-09  Bruno Haible  <bruno@clisp.org>
77701
77702         * modules/error: Add m4/strerror_r.m4 to file list.
77703
77704 2003-05-03  Bruno Haible  <bruno@clisp.org>
77705
77706         Upgrade to Unicode-4.0.
77707         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
77708         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
77709         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
77710         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
77711         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
77712         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
77713         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
77714         Change width of U+E0100..U+E01EF from 1 to 0.
77715
77716 2003-04-25  Jim Meyering  <jim@meyering.net>
77717
77718         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
77719         of type size_t, not int.
77720
77721 2003-04-25  Bruno Haible  <bruno@clisp.org>
77722
77723         * lib/copy-file.c: Include <stddef.h>, for size_t.
77724
77725 2003-04-21  Paul Eggert  <eggert@twinsun.com>
77726
77727         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
77728         code which expansion is under static control.  Patch imported from
77729         Akim Demaille's patch to Bison; see
77730         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
77731
77732 2003-04-14  Bruno Haible  <bruno@clisp.org>
77733
77734         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
77735
77736 2003-04-11  Jim Meyering  <jim@meyering.net>
77737
77738         Merge changes from Coreutils.
77739
77740         2003-03-22  Jim Meyering  <jim@meyering.net>
77741
77742         * lib/strftime.c (widen): Cast alloca return value to proper type.
77743
77744         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
77745
77746         From GNU libc.
77747         * lib/strftime.c (my_strftime): Handle very large width
77748         specifications for numeric values correctly.  Improve checks for
77749         overflow.
77750
77751         2003-01-19  Jim Meyering  <jim@meyering.net>
77752
77753         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
77754         definitions.
77755         (nl_get_alt_digit) [! defined my_strftime]: Define.
77756         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
77757         _nl_get_alt_digit and _nl_get_walt_digit.
77758
77759         * lib/strftime.c (my_strftime): Merge in locale-related changes from
77760         libc. These changes have no effect outside of _LIBC.
77761
77762 2003-04-10  Bruno Haible  <bruno@clisp.org>
77763
77764         * modules/findprog: New file.
77765         * MODULES.html.sh (func_all_modules): Add it.
77766
77767 2003-04-10  Bruno Haible  <bruno@clisp.org>
77768
77769         * m4/findprog.m4: New file.
77770         * m4/eaccess.m4: New file.
77771
77772 2003-04-10  Bruno Haible  <bruno@clisp.org>
77773
77774         * lib/findprog.h: New file, from GNU gettext.
77775         * lib/findprog.c: New file, from GNU gettext.
77776
77777 2003-04-05  Jim Meyering  <jim@meyering.net>
77778
77779         Merge changes from Coreutils.
77780
77781         * lib/exclude.h (PARAMS): Remove definition and uses.
77782         * lib/exclude.c: Remove uses of `PARAMS'.
77783
77784         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
77785         Add test-cases for DOS filenames. Declare program_name.
77786         (main): Set up program_name.  Patch by Rich Dawe.
77787
77788         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
77789         error from mntctl.
77790         Use mntctl's return value to drive the entry-processing loop, since
77791         we can't rely on the value of the vmt_length member in the last
77792         entry.  On some systems doing so could result in exhausting
77793         virtual memory.  Based in part on a patch from Mike Jetzer.
77794
77795 2003-04-04  Bruno Haible  <bruno@clisp.org>
77796
77797         * modules/linebreak: New file.
77798         * MODULES.html.sh (func_all_modules): Add it.
77799
77800 2003-04-04  Bruno Haible  <bruno@clisp.org>
77801
77802         * m4/linebreak.m4: New file.
77803
77804 2003-04-04  Bruno Haible  <bruno@clisp.org>
77805
77806         * lib/linebreak.h: New file, from GNU gettext.
77807         * lib/linebreak.c: New file, from GNU gettext with slight
77808         modifications.
77809         * lib/lbrkprop.h: New file, from GNU gettext.
77810
77811 2003-04-03  Bruno Haible  <bruno@clisp.org>
77812
77813         * modules/utf8-ucs4: New file.
77814         * modules/utf16-ucs4: New file.
77815         * modules/ucs4-utf8: New file.
77816         * modules/ucs4-utf16: New file.
77817         * MODULES.html.sh (func_all_modules): Add them.
77818
77819 2003-04-03  Bruno Haible  <bruno@clisp.org>
77820
77821         * m4/utf-ucs4.m4: New file.
77822         * m4/ucs4-utf.m4: New file.
77823
77824 2003-04-03  Bruno Haible  <bruno@clisp.org>
77825
77826         * lib/utf8-ucs4.h: New file, from GNU gettext.
77827         * lib/utf16-ucs4.h: New file, from GNU gettext.
77828         * lib/ucs4-utf8.h: New file, from GNU gettext.
77829         * lib/ucs4-utf16.h: New file, from GNU gettext.
77830
77831 2003-04-02  Bruno Haible  <bruno@clisp.org>
77832
77833         * modules/binary-io: New file.
77834         * MODULES.html.sh (func_all_modules): Add it.
77835
77836 2003-04-02  Bruno Haible  <bruno@clisp.org>
77837
77838         * lib/binary-io.h: New file, from GNU gettext.
77839
77840 2003-04-01  Bruno Haible  <bruno@clisp.org>
77841
77842         * modules/pathname: New file.
77843         * MODULES.html.sh (func_all_modules): Add it.
77844
77845 2003-04-01  Bruno Haible  <bruno@clisp.org>
77846
77847         * lib/pathname.h: New file, from GNU gettext.
77848         * lib/concatpath.c: New file, from GNU gettext.
77849
77850 2003-03-30  Bruno Haible  <bruno@clisp.org>
77851
77852         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
77853
77854 2003-03-30  Bruno Haible  <bruno@clisp.org>
77855
77856         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
77857         function chown() doesn't exist.
77858
77859 2003-03-28  Bruno Haible  <bruno@clisp.org>
77860
77861         * modules/copy-file: New file.
77862         * MODULES.html.sh (func_all_modules): Add it.
77863
77864 2003-03-28  Bruno Haible  <bruno@clisp.org>
77865
77866         * m4/copy-file.m4: New file.
77867
77868 2003-03-28  Bruno Haible  <bruno@clisp.org>
77869
77870         * lib/copy-file.h: New file, from GNU gettext.
77871         * lib/copy-file.c: New file, from GNU gettext.
77872
77873 2003-03-18  Jim Meyering  <jim@meyering.net>
77874
77875         * lib/quote.c (quote_n): Fix typo in comment.
77876
77877 2003-03-18  Bruno Haible  <bruno@clisp.org>
77878
77879         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
77880         checking.
77881         * m4/onceonly_2_57.m4: Likewise.
77882
77883 2003-03-17  Bruno Haible  <bruno@clisp.org>
77884
77885         * m4/onceonly.m4: Require autoconf 2.54 or newer.
77886         (m4_quote): Remove macro.
77887         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
77888
77889 2003-03-14  Jim Meyering  <jim@meyering.net>
77890
77891         Merge changes from Coreutils.
77892         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
77893         to be const, in order to avoid warnings.
77894         (obstack_room): Likewise.
77895         (obstack_empty_p): Likewise.
77896
77897 2003-03-14  Bruno Haible  <bruno@clisp.org>
77898
77899         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
77900         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
77901
77902 2003-03-13  Paul Eggert  <eggert@twinsun.com>
77903
77904         Merge changes from Bison.
77905         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
77906         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
77907         when compiling Bison 1.875's `bitset bset = obstack_alloc
77908         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
77909         * lib/hash.c: Include <stdbool.h> unconditionally.
77910
77911 2003-03-13  Paul Eggert  <eggert@twinsun.com>
77912
77913         * m4/onceonly.m4 (m4_quote): New macro.
77914         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
77915         Quote AC_FOREACH variable-expansions properly.
77916
77917 2003-03-13  Paul Eggert  <eggert@twinsun.com>
77918
77919         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
77920
77921 2003-03-09  Paul Eggert  <eggert@twinsun.com>
77922
77923         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
77924         Reported by Bruce Becker; see:
77925         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
77926
77927 2003-03-03  Paul Eggert  <eggert@twinsun.com>
77928             Bruno Haible  <bruno@clisp.org>
77929
77930         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
77931         Reported by John Hughes, see
77932         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
77933
77934 2003-02-20  Bruno Haible  <bruno@clisp.org>
77935
77936         * MODULES.html.sh (func_all_modules): Add poll.
77937
77938 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
77939
77940         * modules/poll: New file.
77941
77942 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
77943
77944         * lib/poll_.h: New file.
77945         * lib/poll.c: New file.
77946
77947 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
77948
77949         * m4/poll.m4: New file.
77950
77951 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
77952
77953         * modules/mathl: New file.
77954
77955 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
77956
77957         * lib/mathl.h: New file.
77958         * lib/acosl.c: New file.
77959         * lib/asinl.c: New file.
77960         * lib/atanl.c: New file.
77961         * lib/ceill.c: New file.
77962         * lib/cosl.c: New file.
77963         * lib/expl.c: New file.
77964         * lib/floorl.c: New file.
77965         * lib/frexpl.c: New file.
77966         * lib/ldexpl.c: New file.
77967         * lib/logl.c: New file.
77968         * lib/sincosl.c: New file.
77969         * lib/sinl.c: New file.
77970         * lib/sqrtl.c: New file.
77971         * lib/tanl.c: New file.
77972         * lib/trigl.c: New file.
77973         * lib/trigl.h: New file.
77974
77975 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
77976
77977         * m4/mathl.m4: New file.
77978
77979 2003-02-18  Bruno Haible  <bruno@clisp.org>
77980
77981         * MODULES.html.sh (func_all_modules): Add mathl.
77982
77983 2003-02-17  Bruno Haible  <bruno@clisp.org>
77984
77985         * modules/mkdtemp: New module.
77986         * MODULES.html.sh (func_all_modules): Add it.
77987
77988 2003-02-17  Bruno Haible  <bruno@clisp.org>
77989
77990         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
77991
77992 2003-02-17  Bruno Haible  <bruno@clisp.org>
77993
77994         * lib/mkdtemp.h: New file, from GNU gettext.
77995         * lib/mkdtemp.c: New file, from GNU gettext.
77996
77997 2003-02-02  Jim Meyering  <jim@meyering.net>
77998
77999         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
78000         e.g. glibc-2.2.93.
78001
78002 2003-01-31  Bruno Haible  <bruno@clisp.org>
78003
78004         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
78005         'rpl_rename'.
78006         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
78007         'rpl_strnlen'.
78008         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
78009         'rpl_strtod'.
78010         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
78011         'rpl_utime'.
78012
78013 2003-01-31  Bruno Haible  <bruno@clisp.org>
78014
78015         * lib/rename.c: #undef rename before defining rpl_rename.
78016         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
78017
78018 2003-01-30  Bruno Haible  <bruno@clisp.org>
78019
78020         * modules/vasnprintf, modules/vasprintf: New modules.
78021         * MODULES.html.sh (func_all_modules): Add them.
78022
78023 2003-01-30  Bruno Haible  <bruno@clisp.org>
78024
78025         * m4/signed.m4: New file, from GNU gettext.
78026         * m4/longdouble.m4: New file, from GNU gettext.
78027         * m4/wchar_t.m4: New file, from GNU gettext.
78028         * m4/wint_t.m4: New file, from GNU gettext.
78029         * m4/vasnprintf.m4: New file.
78030         * m4/vasprintf.m4: New file.
78031
78032 2003-01-30  Bruno Haible  <bruno@clisp.org>
78033
78034         * lib/printf-args.h: New file, from GNU gettext.
78035         * lib/printf-args.c: New file, from GNU gettext.
78036         * lib/printf-parse.h: New file, from GNU gettext.
78037         * lib/printf-parse.c: New file, from GNU gettext.
78038         * lib/vasnprintf.h: New file, from GNU gettext.
78039         * lib/vasnprintf.c: New file, from GNU gettext.
78040         * lib/asnprintf.c: New file, from GNU gettext.
78041         * lib/vasprintf.h: New file, from GNU gettext with modifications.
78042         * lib/vasprintf.c: New file, from GNU gettext.
78043         * lib/asprintf.c: New file, from GNU gettext.
78044
78045 2003-01-29  Bruno Haible  <bruno@clisp.org>
78046
78047         * modules/stpncpy: New module.
78048         * MODULES.html.sh (func_all_modules): Add it.
78049
78050 2003-01-29  Bruno Haible  <bruno@clisp.org>
78051
78052         * m4/stpncpy.m4: New file.
78053
78054 2003-01-29  Bruno Haible  <bruno@clisp.org>
78055
78056         * lib/stpncpy.h: New file, from GNU gettext with modifications.
78057         * lib/stpncpy.c: New file, from GNU gettext with modifications.
78058
78059 2003-01-28  Bruno Haible  <bruno@clisp.org>
78060
78061         * modules/c-ctype: New module.
78062         * MODULES.html.sh (func_all_modules): Add it.
78063
78064 2003-01-28  Bruno Haible  <bruno@clisp.org>
78065
78066         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
78067         Paul Eggert.
78068         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
78069         Paul Eggert.
78070
78071 2003-01-27  Bruno Haible  <bruno@clisp.org>
78072
78073         * modules/xsetenv: New module.
78074         * MODULES.html.sh (func_all_modules): Add it.
78075
78076 2003-01-27  Bruno Haible  <bruno@clisp.org>
78077
78078         * lib/xsetenv.h: New file, from GNU gettext.
78079         * lib/xsetenv.c: New file, from GNU gettext.
78080
78081 2003-01-23  Jim Meyering  <jim@meyering.net>
78082
78083         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
78084         from working on systems without dirfd (at least Irix and OSF1/Tru64).
78085
78086 2003-01-23  Bruno Haible  <bruno@clisp.org>
78087
78088         * modules/minmax: New module.
78089         * MODULES.html.sh (func_all_modules): Add it.
78090
78091 2003-01-23  Bruno Haible  <bruno@clisp.org>
78092
78093         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
78094         Eggert.
78095
78096 2003-01-22  Bruno Haible  <bruno@clisp.org>
78097
78098         * modules/exit: New module.
78099         * MODULES.html.sh (func_all_modules): Add it.
78100
78101 2003-01-22  Bruno Haible  <bruno@clisp.org>
78102
78103         * lib/exit.h: New file, from GNU gettext.
78104
78105 2003-01-19  Bruno Haible  <bruno@clisp.org>
78106
78107         * gnulib-tool: Recognize option --extract-maintainer.
78108         (func_get_maintainer): New function.
78109         * modules/*: Add Maintainer entry.
78110
78111 2003-01-16  Jim Meyering  <jim@meyering.net>
78112
78113         * m4/regex.m4: The `regex' struct is both input and output.
78114         Initialize it before each use.  Patch by Tim Waugh.
78115
78116 2003-01-16  Bruno Haible  <bruno@clisp.org>
78117
78118         * MODULES.html.sh: Add a table of contents. Add the module name as
78119         leftmost column. Add hyperlinks.
78120
78121 2003-01-15  Bruno Haible  <bruno@clisp.org>
78122
78123         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
78124
78125 2003-01-15  Bruno Haible  <bruno@clisp.org>
78126
78127         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
78128         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
78129         suffix.
78130
78131 2003-01-15  Bruno Haible  <bruno@clisp.org>
78132
78133         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
78134
78135 2003-01-15  Bruno Haible  <bruno@clisp.org>
78136
78137         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
78138         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
78139
78140 2003-01-14  Jim Meyering  <jim@meyering.net>
78141
78142         * lib/same.c (same_name): Tweak a comment.
78143
78144 2003-01-14  Bruno Haible  <bruno@clisp.org>
78145
78146         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
78147         when a string comparison is sufficient.
78148
78149 2003-01-14  Bruno Haible  <bruno@clisp.org>
78150
78151         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
78152         'unsigned int'.
78153
78154 2003-01-14  Bruno Haible  <bruno@clisp.org>
78155
78156         * lib/hash-pjw.c: Add comment about low quality of this function.
78157
78158 2003-01-13  Bruno Haible  <bruno@clisp.org>
78159
78160         * modules/stpcpy: Distribute lib/stpcpy.h.
78161         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
78162
78163 2003-01-13  Bruno Haible  <bruno@clisp.org>
78164
78165         * modules/*: Add a description.
78166         * modules/strpbrk: Fix Makefile.am snippet.
78167         * modules/strtoimax: Fix dependencies.
78168         * modules/strtoumax: Likewise.
78169
78170 2003-01-13  Bruno Haible  <bruno@clisp.org>
78171
78172         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
78173         * modules/alloca (Makefile.am): All object files depend on alloca.h.
78174         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
78175
78176 2003-01-13  Bruno Haible  <bruno@clisp.org>
78177
78178         * gnulib-tool (func_create_testdir): Store config/* files in the main
78179         directory.
78180         * config.rpath: Move to ...
78181         * config/config.rpath: ... here.
78182         * modules/gettext: Contains config/config.rpath, not config.rpath.
78183         * modules/iconv: Likewise.
78184
78185 2003-01-12  Paul Eggert  <eggert@twinsun.com>
78186
78187         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
78188         to avoid collisions with libcurses and libreadline.
78189
78190         * m4/getstr.m4: Remove.
78191         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
78192
78193 2003-01-12  Paul Eggert  <eggert@twinsun.com>
78194
78195         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
78196         to avoid collisions with libcurses and libreadline.
78197
78198         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
78199         * lib/getstr.h, getstr.c: Remove.
78200         * lib/getline.c: Include "getline.h", to check interface.
78201         Move body of old getstr.c here: this defines MIN_CHUNK and
78202         declares getdelim2, which is renamed from getstr.
78203         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
78204
78205         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
78206         All uses changed.
78207         * lib/linebuffer.h: Likewise.
78208         (readline): Remove backward-compatibility macro.
78209
78210 2003-01-12  Paul Eggert  <eggert@twinsun.com>
78211
78212         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
78213         to avoid collisions with libcurses and libreadline.
78214         * getstr: Remove.
78215         * MODULES.html.sh: Remove getstr.
78216         * modules/getline: Depend on unlocked-io, not getstr.
78217
78218 2003-01-12  Jim Meyering  <jim@meyering.net>
78219
78220         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
78221
78222 2003-01-10  Bruno Haible  <bruno@clisp.org>
78223
78224         * modules/alloca: Change Makefile.am requirements. Simplify Include
78225         requirements. Add lib/alloca_.h to file list.
78226
78227 2003-01-10  Bruno Haible  <bruno@clisp.org>
78228
78229         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
78230
78231 2003-01-10  Bruno Haible  <bruno@clisp.org>
78232
78233         * lib/alloca_.h: New file.
78234         * lib/getdate.y: Unconditionally include alloca.h.
78235         * lib/makepath.c: Likewise.
78236         * lib/setenv.c: Likewise.
78237         * lib/userspec.c: Likewise.
78238
78239 2003-01-09  Karl Berry  <karl@gnu.org>
78240
78241         * MODULES.html.sh: include `dirname $0` in PATH, to find
78242         gnulib-tool.
78243
78244 2003-01-09  Bruno Haible  <bruno@clisp.org>
78245
78246         * modules/stdbool: Change configure.ac, Makefile.am requirements.
78247         Simplify Include requirements. Add lib/stdbool.h.in to file list.
78248
78249 2003-01-09  Bruno Haible  <bruno@clisp.org>
78250
78251         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
78252
78253 2003-01-09  Bruno Haible  <bruno@clisp.org>
78254
78255         * lib/stdbool.h.in: New file.
78256
78257 2003-01-09  Bruno Haible  <bruno@clisp.org>
78258
78259         * gnulib-tool (func_all_modules): Ignore files ending in ~.
78260         * MODULES.html.sh: Likewise.
78261
78262 2003-01-08  Jim Meyering  <jim@meyering.net>
78263
78264         * lib/full-write.c: Undefine and define-away `const' after inclusion
78265         of errno.h, not before.  Suggestion from Bruno Haible.
78266
78267 2003-01-08  Bruno Haible  <bruno@clisp.org>
78268
78269         * modules/full-read: Depend on full-write.
78270
78271 2003-01-08  Bruno Haible  <bruno@clisp.org>
78272
78273         * lib/safe-read.c: Include specification header first, to ensure its
78274         selfcontainedness.
78275         * lib/full-write.c: Likewise.
78276
78277 2003-01-07  Jim Meyering  <jim@meyering.net>
78278
78279         * lib/full-write.c: Rework so that it may serve to define full_read,
78280         too.
78281         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
78282
78283 2003-01-07  Bruno Haible  <bruno@clisp.org>
78284
78285         * lib/strtoimax.c: Include <stdint.h> as an alternative to
78286         <inttypes.h>.
78287         * lib/xstrtol.h: Likewise.
78288         * lib/xstrtoimax.c: Likewise.
78289         * lib/xstrtoumax.c: Likewise.
78290         * lib/human.h: Likewise.
78291
78292         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
78293         on systems that have <inttypes.h> but not <stdint.h>.
78294
78295 2003-01-07  Bruno Haible  <bruno@clisp.org>
78296
78297         * MODULES.html.sh: Add copyright notice.
78298         (missed_files): Omit CVS directory entries.
78299         (func_module): Make it work with sed-3.02.
78300         * MODULES.txt: Remove file.
78301
78302 2003-01-06  Jim Meyering  <jim@meyering.net>
78303
78304         * lib/version-etc.c: Update year in translatable copyright string.
78305
78306 2003-01-03  Karl Berry  <karl@gnu.org>
78307
78308         * config/config.{guess,sub}: update from prep.
78309
78310 2003-01-02  Karl Berry  <karl@gnu.org>
78311
78312         * doc/COPYING.DOC: belatedly updated to 1.2.
78313
78314 2003-01-01  Karl Berry  <karl@gnu.org>
78315
78316         * gnulib-tool (func_verify_module): report module name $module in
78317         error message, not $1.
78318         * gnulib-tool (create-testdir): don't complain if destdir couldn't
78319         be created, only if it doesn't exist.
78320         * gnulib-tool (last_checkin_date): don't expand the $Date here.
78321
78322 2002-12-31  Paul Eggert  <eggert@twinsun.com>
78323
78324         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
78325
78326 2002-12-31  Paul Eggert  <eggert@twinsun.com>
78327
78328         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
78329         memcmp if strcoll doesn't work.
78330
78331 2002-12-31  Bruno Haible  <bruno@clisp.org>
78332
78333         * lib/utime.c (utime_null): No need to call ftruncate if the file was
78334         nonempty.
78335
78336 2002-12-31  Bruno Haible  <bruno@clisp.org>
78337
78338         * lib/memcoll.c (STRCOLL): New macro.
78339         (memcoll): Use it.
78340
78341 2002-12-31  Bruno Haible  <bruno@clisp.org>
78342
78343         * lib/localcharset.h: New file.
78344         * lib/localcharset.c: Include it.
78345         * lib/unicodeio.c: Likewise.
78346
78347 2002-12-31  Bruno Haible  <bruno@clisp.org>
78348
78349         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
78350         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
78351
78352 2002-12-31  Bruno Haible  <bruno@clisp.org>
78353
78354         * lib/getline.h: Include <stddef.h>, for size_t.
78355
78356         * lib/unicodeio.h: Include <stddef.h>, for size_t.
78357         * lib/unicodeio.c: Don't include <stddef.h>.
78358
78359 2002-12-31  Bruno Haible  <bruno@clisp.org>
78360
78361         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
78362         HAVE_TM_ZONE.
78363
78364 2002-12-24  Karl Berry  <karl@gnu.org>
78365
78366         * config/config.guess: update from prep.
78367
78368 2002-12-24  Bruno Haible  <bruno@clisp.org>
78369
78370         General infrasructure.
78371         * m4/README: Rewritten.
78372         * m4/onceonly.m4: New file.
78373         * m4/onceonly_2_57.m4: New file.
78374
78375         Module atexit.
78376         * m4/atexit.m4: New file.
78377
78378         Module strtod.
78379         * m4/strtod.m4: New file.
78380
78381         Module strtol.
78382         * m4/strtol.m4: New file.
78383
78384         Module strtoul.
78385         * m4/strtoul.m4: New file.
78386
78387         Module memchr.
78388         * m4/memchr.m4: New file.
78389
78390         Module memcmp.
78391         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
78392         (jm_FUNC_MEMCMP): Invoke it.
78393
78394         Module memcpy.
78395         * m4/memcpy.m4: New file.
78396
78397         Module memmove.
78398         * m4/memmove.m4: New file.
78399
78400         Module memset.
78401         * m4/memset.m4: New file.
78402
78403         Module strcspn.
78404         * m4/strcspn.m4: New file.
78405
78406         Module strpbrk.
78407         * m4/strpbrk.m4: New file.
78408
78409         Module strstr.
78410         * m4/strstr.m4: New file.
78411
78412         Module strerror.
78413         * m4/strerror.m4: New file.
78414
78415         Module mktime.
78416         * m4/mktime.m4: Renamed from jm-mktime.m4.
78417         (gl_PREREQ_MKTIME): New macro.
78418         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
78419
78420         Module malloc.
78421         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
78422         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
78423         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
78424
78425         Module realloc.
78426         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
78427         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
78428         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
78429
78430         Module strftime.
78431         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
78432         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
78433         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
78434         gl_TM_GMTOFF.
78435         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
78436
78437         Module xalloc.
78438         * m4/xalloc.m4: New file.
78439
78440         Module alloca.
78441         * m4/alloca.m4: New file.
78442
78443         Module putenv.
78444         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
78445         (jm_FUNC_PUTENV): Invoke it.
78446
78447         Module setenv.
78448         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
78449         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
78450         when invoked twice.
78451         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
78452         gt_FUNC_SETENV.
78453
78454         Module memrchr.
78455         * m4/memrchr.m4: New file.
78456
78457         Module stpcpy.
78458         * m4/stpcpy.m4: New file.
78459
78460         Module strcase.
78461         * m4/strcase.m4: New file.
78462
78463         Module strdup.
78464         * m4/strdup.m4: New file.
78465
78466         Module strnlen.
78467         * m4/strnlen.m4: New file.
78468
78469         Module strndup.
78470         * m4/strndup.m4: New file.
78471
78472         Module xstrtod.
78473         * m4/xstrtod.m4: New file.
78474
78475         Module xstrtol.
78476         * m4/xstrtol.m4: New file.
78477
78478         Module getdate.
78479         * m4/getdate.m4: New file.
78480
78481         Module unlocked-io.
78482         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
78483         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
78484         * m4/jm-glibc-io.m4n: Remove file.
78485
78486         Module long-options.
78487         * m4/long-options.m4: New file.
78488
78489         Module md5.
78490         * m4/md5.m4: New file.
78491
78492         Module sha.
78493         * m4/sha.m4: New file.
78494
78495         Module getstr.
78496         * m4/getstr.m4: New file.
78497
78498         Module getline.
78499         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
78500         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
78501         <sys/types.h>, for size_t. Use the function name gnu_getline, not
78502         simply getline. Infoke gl_PREREQ_GETLINE.
78503
78504         Module obstack.
78505         * m4/obstack.m4: New file.
78506
78507         Module hash.
78508         * m4/hash.m4: New file.
78509
78510         Module readtokens.
78511         * m4/readtokens.m4: New file.
78512
78513         Module strverscmp.
78514         * m4/strverscmp.m4: New file.
78515
78516         Module stdbool.
78517         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
78518         OSF/1.
78519
78520         Module strtoll.
78521         * m4/strtoll.m4: New file.
78522
78523         Module strtoull.
78524         * m4/strtoull.m4: New file.
78525
78526         Module strtoimax.
78527         * m4/strtoimax.m4: New file.
78528
78529         Module strtoumax.
78530         * m4/strtoumax.m4: New file.
78531
78532         Module xstrtoimax.
78533         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
78534         jm_AC_PREREQ_XSTRTOIMAX.
78535         Moved the strtol prerequisites to strtol.m4.
78536         Moved the strtoll prerequisites to strtoll.m4.
78537         Moved the strtoimax prerequisites to strtoimax.m4.
78538
78539         Module xstrtoumax.
78540         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
78541         jm_AC_PREREQ_XSTRTOUMAX.
78542         Moved the strtoul prerequisites to strtoul.m4.
78543         Moved the strtoull prerequisites to strtoull.m4.
78544         Moved the strtoumax prerequisites to strtoumax.m4.
78545
78546         Module chown.
78547         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
78548         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
78549
78550         Module dup2.
78551         * m4/dup2.m4: New file.
78552
78553         Module ftruncate.
78554         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
78555         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
78556
78557         Module getgroups.
78558         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
78559         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
78560
78561         Module gettimeofday.
78562         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
78563         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
78564         gl_PREREQ_GETTIMEOFDAY.
78565
78566         Module mkdir.
78567         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
78568         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
78569
78570         Module mkstemp.
78571         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
78572         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
78573         jm_AC_TYPE_UINTMAX_T.
78574         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
78575
78576         Module stat.
78577         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
78578         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
78579
78580         Module lstat.
78581         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
78582         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
78583
78584         Module timespec.
78585         * m4/timespec.m4 (gl_TIMESPEC): New macro.
78586         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
78587         * m4/st_mtim.m4: Indentation.
78588
78589         Module nanosleep.
78590         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
78591         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
78592         gl_PREREQ_NANOSLEEP.
78593
78594         Module regex.
78595         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
78596         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
78597         (gl_REGEX): New macro.
78598
78599         Module rename.
78600         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
78601         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
78602
78603         Module rmdir.
78604         * m4/rmdir.m4: New file.
78605
78606         Module utime.
78607         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
78608         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
78609         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
78610
78611         Module dirname.
78612         * m4/dirname.m4: New file.
78613
78614         Module getopt.
78615         * m4/getopt.m4: New file.
78616
78617         Module unistd-safer.
78618         * m4/unistd-safer.m4: New file.
78619
78620         Module fnmatch.
78621         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
78622         declaration.
78623         (gl_PREREQ_FNMATCH_EXTRA): New macro.
78624         (gl_FUNC_FNMATCH_POSIX): New macro.
78625         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
78626         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
78627         simply fnmatch.
78628
78629         Module exclude.
78630         * m4/exclude.m4: New file.
78631
78632         Module human.
78633         * m4/human.m4: New file.
78634
78635         Module acl.
78636         * m4/acl.m4: Nop.
78637
78638         Module backupfile.
78639         * m4/backupfile.m4: New file.
78640         * m4/d-ino.m4: Indentation.
78641
78642         Module fsusage.
78643         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
78644         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
78645         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
78646
78647         Module dirfd.
78648         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
78649         requirements.
78650
78651         Module euidaccess.
78652         * m4/euidaccess.m4: New file.
78653
78654         Module file-type.
78655         * m4/file-type.m4: New file.
78656
78657         Module fileblocks.
78658         * m4/fileblocks.m4: New file.
78659
78660         Module filemode.
78661         * m4/filemode.m4: New file.
78662
78663         Module isdir.
78664         * m4/isdir.m4: New file.
78665
78666         Module lchown.
78667         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
78668         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
78669
78670         Module makepath.
78671         * m4/makepath.m4: New file.
78672
78673         Module modechange.
78674         * m4/modechange.m4: New file.
78675
78676         Module mountlist.
78677         * m4/mountlist.m4: New file.
78678         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
78679         Indentation.
78680
78681         Module path-concat.
78682         * m4/path-concat.m4: New file.
78683
78684         Module pathmax.
78685         * m4/pathmax.m4: New file.
78686
78687         Module same.
78688         * m4/same.m4: New file.
78689
78690         Module save-cwd.
78691         * m4/save-cwd.m4: New file.
78692
78693         Module savedir.
78694         * m4/savedir.m4: New file.
78695
78696         Module xgetcwd.
78697         * m4/xgetcwd.m4: New file.
78698         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
78699
78700         Module xreadlink.
78701         * m4/xreadlink.m4: New file.
78702
78703         Module safe-read.
78704         * m4/safe-read.m4: New file.
78705
78706         Module safe-write.
78707         * m4/safe-write.m4: New file.
78708
78709         Module closeout.
78710         * m4/closeout.m4: New file.
78711
78712         Module stdio-safer.
78713         * m4/stdio-safer.m4: New file.
78714
78715         Module getpass.
78716         * m4/getpass.m4: New file.
78717
78718         Module getugroups.
78719         * m4/getugroups.m4: New file.
78720
78721         Module group-member.
78722         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
78723         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
78724
78725         Module idcache.
78726         * m4/idcache.m4: New file.
78727
78728         Module userspec.
78729         * m4/userspec.m4: New file.
78730
78731         Module gettime.
78732         * m4/clock_time.m4: New file.
78733         * m4/gettime.m4: New file.
78734
78735         Module settime.
78736         * m4/settime.m4: New file.
78737
78738         Module posixtm.
78739         * m4/posixtm.m4: New file.
78740
78741         Module gethostname.
78742         * m4/gethostname.m4: New file.
78743
78744         Module canon-host.
78745         * m4/canon-host.m4: New file.
78746
78747         Module gettext.
78748         * m4/codeset.m4: New file, from gettext-0.11.5.
78749         * m4/gettext.m4: New file, from gettext-0.11.5.
78750         * m4/glibc21.m4: New file, from gettext-0.11.5.
78751         * m4/iconv.m4: New file, from gettext-0.11.5.
78752         * m4/intdiv0.m4: New file, from gettext-0.11.5.
78753         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
78754         * m4/inttypes.m4: New file, from gettext-0.11.5.
78755         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
78756         * m4/isc-posix.m4: New file, from gettext-0.11.5.
78757         * m4/lcmessage.m4: New file, from gettext-0.11.5.
78758         * m4/lib-ld.m4: New file, from gettext-0.11.5.
78759         * m4/lib-link.m4: New file, from gettext-0.11.5.
78760         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
78761         * m4/progtest.m4: New file, from gettext-0.11.5.
78762         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
78763         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
78764         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
78765
78766         Module localcharset.
78767         * m4/localcharset.m4: New file.
78768
78769         Module hard-locale.
78770         * m4/hard-locale.m4: New file.
78771
78772         Module mbswidth.
78773         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
78774         onceonly macros.
78775         * m4/mbrtowc.m4: Add comment.
78776
78777         Module memcasecmp.
78778         * m4/memcasecmp.m4: New file.
78779
78780         Module memcoll.
78781         * m4/memcoll.m4: New file.
78782
78783         Module unicodeio.
78784         * m4/unicodeio.m4: New file.
78785
78786         Module rpmatch.
78787         * m4/rpmatch.m4: New file.
78788
78789         Module yesno.
78790         * m4/yesno.m4: New file.
78791
78792         Module exitfail.
78793         * m4/exitfail.m4: New file.
78794
78795         Module c-stack.
78796         * m4/c-stack.m4 (gl_C_STACK): New macro.
78797         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
78798
78799         Module error.
78800         * m4/error.m4 (gl_ERROR): New macro.
78801         (jm_PREREQ_ERROR): Use onceonly macros.
78802
78803         Module fatal.
78804         * m4/fatal.m4: New file.
78805
78806         Module getloadavg.
78807         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
78808         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
78809
78810         Module getpagesize.
78811         * m4/getpagesize.m4: New file.
78812
78813         Module getusershell.
78814         * m4/getusershell.m4: New file.
78815
78816         Module physmem.
78817         * m4/physmem.m4: New file.
78818
78819         Module posixver.
78820         * m4/posixver.m4: New file.
78821
78822         Module quotearg.
78823         * m4/quotearg.m4: New file.
78824
78825         Module quote.
78826         * m4/quote.m4: New file.
78827
78828         Module readutmp.
78829         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
78830
78831         Module sig2str.
78832         * m4/sig2str.m4: New file.
78833
78834         Other.
78835         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
78836         ulonglong.m4.
78837         * m4/intmax_t.m4: New file.
78838         * m4/d-type.m4: Indentation.
78839         * m4/jm-macros.m4: Update.
78840         * m4/prereq.m4 (jm_PREREQ): Update.
78841         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
78842         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
78843         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
78844         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
78845         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
78846         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
78847         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
78848         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
78849         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
78850         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
78851         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
78852         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
78853         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
78854         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
78855         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
78856         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
78857         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
78858         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
78859         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
78860
78861 2002-12-24  Bruno Haible  <bruno@clisp.org>
78862
78863         * MODULES.txt: Update according to m4/ changes.
78864
78865         Module gettext.
78866         * config.rpath: New file, from gettext-0.11.5.
78867
78868         * modules/*: New module descriptions.
78869         * gnulib-tool: New file.
78870         * MODULES.html.sh: New file.
78871
78872 2002-12-21  Karl Berry  <karl@gnu.org>
78873
78874         * doc/fdl.texi: update to version 1.2.
78875
78876 2002-12-19  Karl Berry  <karl@gnu.org>
78877
78878         * config/config.guess: update from prep.
78879
78880 2002-12-18  Bruno Haible  <bruno@clisp.org>
78881
78882         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
78883         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
78884
78885 2002-12-17  Bruno Haible  <bruno@clisp.org>
78886
78887         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
78888         stdlib.h, string.h.
78889
78890 2002-12-17  Bruno Haible  <bruno@clisp.org>
78891
78892         * lib/canon-host.c (strdup): Remove unused declaration.
78893
78894         * lib/fsusage.c: Include full_read.h.
78895         (get_fs_usage): Use full_read instead of safe_read.
78896
78897         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
78898
78899 2002-12-12  Karl Berry  <karl@gnu.org>
78900
78901         * config/config.guess: update from prep.
78902
78903 2002-12-11  Bruno Haible  <bruno@clisp.org>
78904
78905         * m4/setenv.m4: New file, from gettext-0.11.5.
78906
78907 2002-12-11  Bruno Haible  <bruno@clisp.org>
78908
78909         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
78910         not unsetenv().
78911         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
78912         modifications:
78913
78914         2002-12-11  Bruno Haible  <bruno@clisp.org>
78915
78916                 * setenv.c (alloca): Fall back to malloc.
78917                 (freea): New macro.
78918                 (setenv): Use freea() to free memory allocated with alloca().
78919
78920         2002-11-13  Bruno Haible  <bruno@clisp.org>
78921
78922                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
78923                 function declarations.
78924                 * unsetenv.c (unsetenv): Likewise.
78925
78926         2002-03-04  Bruno Haible  <bruno@clisp.org>
78927
78928                 Portability to AIX 4.3.3.
78929                 * unsetenv.c: New file, extracted from setenv.c.
78930                 * setenv.c: Move the unsetenv() function to unsetenv.c.
78931
78932         2001-12-20  Bruno Haible  <bruno@clisp.org>
78933
78934                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
78935                 use malloc instead. For SunOS 4.
78936
78937         2001-12-11  Bruno Haible  <bruno@clisp.org>
78938
78939                 * setenv.c: Declare alloca.
78940                 (compar_fn_t): New typedef.
78941                 (KNOWN_VALUE, STORE_VALUE): Use it.
78942
78943         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
78944         setenv.h.
78945
78946 2002-12-10  Paul Eggert  <eggert@twinsun.com>
78947
78948         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
78949         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
78950         Choose values that are less likely to collide with system fnmatch
78951         options.
78952         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
78953         defined (e.g., a pure POSIX system).
78954         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
78955         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
78956
78957 2002-12-06  Paul Eggert  <eggert@twinsun.com>
78958
78959         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
78960         a pain in practice to deal with generated m4 files.  This change
78961         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
78962
78963         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
78964         and jm-glibc-io.m4, as they are no longer a special case.
78965         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
78966         kludge and the auto-generation stuff.  Check only whether the
78967         functions are declared, not whether they exist, since older hosts
78968         that don't declare the functions can't use the optimization anyway.
78969
78970 2002-12-06  Jim Meyering  <jim@meyering.net>
78971
78972         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
78973
78974         Merge in changes from libc's misc/error.c, in preparation
78975         for the merge of gnulib's changes back into libc.
78976
78977         * lib/error.c (_): Define only if not already defined.
78978         Move definition to follow all #include directives.
78979         Include unlocked-io.h only if !_LIBC.
78980         [_LIBC]: Include <libio/libioP.h>.
78981         [USE_IN_LIBIO]: Include <libio/iolibio.h>
78982         (fflush): Tweak definition to use INTUSE.
78983         (putc): Define.
78984
78985 2002-12-05  Paul Eggert  <eggert@twinsun.com>
78986
78987         * lib/alloca.c [defined emacs]: Include "lisp.h".
78988         (xalloc_die) [defined emacs]: New macro.
78989         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
78990         [! defined emacs]: Include <xalloc.h>.
78991         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
78992         (pointer): Typedef to POINTER_TYPE *.
78993         (malloc): Remove decl; we now always use xmalloc.
78994         (alloca): Use old-style definition, since Emacs needs this.
78995         Check for arithmetic overflow when computing combined size.
78996
78997 2002-12-04  Paul Eggert  <eggert@twinsun.com>
78998
78999         Do not generate unlocked-io.h automatically, since it's easier to
79000         maintain it by hand.
79001
79002         * lib/unlocked-io.h: New file, from GNU diffutils,
79003         but with proper copyright notice and attribution.
79004         * lib/gen-uio: Remove.
79005         * lib/Makefile.am: Add copyright notice.
79006         (libfetish_a_SOURCES): Add unlocked-io.h.
79007         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
79008         (DISTCLEANFILES, io_functions): Remove macros.
79009         (EXTRA_DIST): Remove gen_uio.
79010         (unlocked-io.h): Remove rule.
79011
79012 2002-12-04  Jim Meyering  <jim@meyering.net>
79013
79014         Reflect the fact that stat.c and lstat.c are no longer generated.
79015         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
79016         (DISTCLEANFILES): Likewise.
79017         (EXTRA_DIST): Likewise.
79018         (all_local): Don't depend on stat.c or lstat.c.
79019         (stat.c, lstat.c): Remove rules.
79020         (EXTRA_DIST): Remove xstat.in.
79021
79022         * lib/xstat.in: Remove file.  Contents moved into stat.c.
79023         * lib/stat.c: New file.  Contents mostly from xstat.in.
79024         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
79025         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
79026
79027         * lib/safe-read.c: Rework so that it may serve to define safe_write,
79028         too.
79029         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
79030
79031 2002-12-03  Jim Meyering  <jim@meyering.net>
79032
79033         * lib/safe-read.c, safe-write.c: Change variable names and comments,
79034         but not semantics, to minimize the differences between these two files.
79035         (safe_read): Change comment to mention SAFE_READ_ERROR.
79036
79037         * lib/safe-read.c (IS_EINTR): Define.
79038         (safe_read): Use IS_EINTR in place of in-function cpp directives.
79039
79040 2002-12-02  Jim Meyering  <jim@meyering.net>
79041
79042         * lib/safe-read.c (EINTR): Define.
79043         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
79044         (INT_MAX): Provide fallback.
79045         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
79046
79047         * lib/safe-read.h (SAFE_READ_ERROR): Define.
79048
79049 2002-12-02  Bruno Haible  <bruno@clisp.org>
79050
79051         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
79052         Define, taken from safe-read.c.
79053         (INT_MAX): Provide fallback.
79054         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
79055         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
79056
79057         * lib/safe-read.c (EINTR): Remove definition.
79058         (safe_read): Don't use EINTR if it is absent.
79059
79060 2002-12-01  Jim Meyering  <jim@meyering.net>
79061
79062         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
79063         zero.
79064         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
79065
79066 2002-11-27  Paul Eggert  <eggert@twinsun.com>
79067
79068         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
79069         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
79070         with `if (! (value < limit)) abort ();', for readability.
79071
79072 2002-11-26  Karl Berry  <karl@gnu.org>
79073
79074         * lib/strdup.c: copy from libc again, with jim's ok.
79075         * lib/.cppi-disable: re-add strdup.c
79076
79077 2002-11-25  Karl Berry  <karl@gnu.org>
79078
79079         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
79080         instead of "strtol.c".
79081
79082 2002-11-25  Karl Berry  <karl@gnu.org>
79083
79084         * config/install-sh: update from automake for variable quoting, $0 in
79085         error msgs, etc.
79086
79087         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
79088         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
79089         entry.
79090
79091 2002-11-25  Jim Meyering  <jim@meyering.net>
79092
79093         * lib/mktime.c: Sync from libc, now that it has the latest fix.
79094
79095 2002-11-24  Karl Berry  <karl@gnu.org>
79096
79097         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
79098         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
79099
79100 2002-11-24  Jim Meyering  <jim@meyering.net>
79101
79102         Update from coreutils:
79103
79104         * lib/mktime.c: Merge in changes from libc.
79105
79106         Avoid a link-time failure on some Linux systems.
79107         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
79108         (otherwise).
79109         (__mon_yday): Declare with the STATIC attribute.
79110         (__mktime_internal): Likewise.
79111         Based on a report from Greg Schafer.
79112
79113 2002-11-23  Jim Meyering  <jim@meyering.net>
79114
79115         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
79116         Use `unsigned', not `int', as type of index.
79117
79118         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
79119
79120         * lib/fsusage.c: Remove unneeded parentheses around operands of
79121         `defined'.
79122
79123 2002-11-22  Paul Eggert  <eggert@twinsun.com>
79124
79125         * lib/quotearg.h: Allow multiple inclusion by surrounding with
79126         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
79127         so that we can be included first.
79128         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
79129         * lib/quotearg.c: Include quotearg.h immediately after config.h.
79130         No need to include stddef.h or sys/types.h any more.
79131         Surround local include files with "", not "<>".
79132         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
79133         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
79134         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
79135         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
79136         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
79137         (ISPRINT): Remove; no longer needed now that we assume C89.
79138
79139         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
79140         Preserve errno.
79141
79142         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
79143         quotearg_char): Use SIZE_MAX rather than
79144         (size_t) -1 when we are talking about "infinity".
79145
79146         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
79147
79148 2002-11-22  Paul Eggert  <eggert@twinsun.com>
79149
79150         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
79151         hint that one should use `if (! x) abort ();' rather than `assert
79152         (x);', and anyway it's one less thing to worry about configuring.
79153         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
79154         hash_rehash, hash_insert): Use abort rather than assert.
79155
79156 2002-11-22  Bruno Haible  <bruno@clisp.org>
79157
79158         * lib/safe-read.h: Assume C89. Add comments.
79159         (safe_read): Change return type to size_t.
79160         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
79161         byte counts > SSIZE_MAX correctly.
79162         * lib/safe-write.h: New file.
79163         * lib/safe-write.c: New file.
79164         * lib/full-read.h: New file.
79165         * lib/full-read.c: New file.
79166         * lib/full-write.h: Assume C89. Add comments.
79167         * lib/full-write.c: Include safe-write.h.
79168         (full_write): Rewritten to use safe_write.
79169         Suggested by Jim Meyering and Paul Eggert.
79170
79171 2002-11-21  Jim Meyering  <jim@meyering.net>
79172
79173         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
79174
79175         Merge in changes from the coreutils.
79176
79177         2002-09-25  Paul Eggert  <eggert@twinsun.com>
79178         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
79179         <stdint.h>.
79180         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
79181         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
79182         int.  Work more efficiently if X is the same width as uintmax_t.
79183         Do not compare X to -1, to avoid bogus compiler warning.
79184         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
79185         Don't assume that f_frsize and f_bsize are the same type.
79186
79187         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
79188         warning on FreeBSD.
79189
79190         * lib/makepath.c (make_path): Restore umask *before* creating the final
79191         component.
79192         (make_path): Minor reformatting.
79193
79194         * lib/xmalloc.c: Adjust to work with new autoconf macros,
79195         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
79196         HAVE_MALLOC/HAVE_REALLOC.
79197
79198         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
79199         dummy ones.  At least on GNU/Linux systems, `auto' means something
79200         else.
79201         From Michael Stone.
79202
79203 2002-11-21  Bruno Haible  <bruno@clisp.org>
79204
79205         Remove case insensitive option matching.
79206         * lib/argmatch.h (argcasematch): Remove declaration.
79207         (ARGCASEMATCH): Remove macro.
79208         (__xargmatch_internal): Remove case_sensitive argument.
79209         (XARGMATCH): Update.
79210         (XARGCASEMATCH): Remove macro.
79211         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
79212         case_sensitive argument.
79213         (argcasematch): Remove function.
79214         (__xargmatch_internal): Remove case_sensitive argument.
79215         (main): Use XARGMATCH instead of XARGCASEMATCH.
79216
79217         * lib/xmalloc.c: Change compile-time error message. Add comment about
79218         required autoconf version.
79219
79220 2002-11-20  Paul Eggert  <eggert@twinsun.com>
79221
79222         Merge argmatch cleanups from Bison.  Assume C89.
79223
79224         * lib/argmatch.c: Include config.h here, not in argmatch.h.
79225         Include stdlib.h, for EXIT_FAILURE.
79226         Always include <string.h>, since we assume C89.
79227         (EXIT_FAILURE): Remove pre-C89 bug workaround.
79228         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
79229         Include <stddef.h> instead, since it's all we need for size_t.
79230         (PARAMS): Remove.  All uses removed.
79231         (ARRAY_CARDINALITY): Do not bother to #undef.
79232         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
79233         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
79234         Remove unnecessary parentheses.
79235         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
79236         Insert necessary parentheses.
79237         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
79238         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
79239
79240 2002-11-19  Bruno Haible  <bruno@clisp.org>
79241
79242         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
79243         * lib/mbswidth.h: Include <stddef.h>, for size_t.
79244
79245         * lib/mbswidth.h (PARAMS): Remove macro.
79246         (mbswidth, mbsnwidth): Use ANSI C function declarations.
79247         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
79248
79249         * lib/gcd.h (PARAMS): Remove macro.
79250         (gcd): Use ANSI C function declarations.
79251         * lib/gcd.c (gcd): Likewise.
79252
79253 2002-11-15  Bruno Haible  <bruno@clisp.org>
79254
79255         * lib/strcspn.c: Include <stddef.h>.
79256         (strcspn): Use ANSI C function declaration. Change return type to
79257         size_t. Use NULL.
79258         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
79259         (strpbrk): Use NULL.
79260         * lib/strpbrk.h (PARAMS): Remove macro.
79261         (strpbrk): Use ANSI C function declaration.
79262         * lib/strstr.c: Don't include <sys/types.h>.
79263         * lib/strstr.h (PARAMS): Remove macro.
79264         (strstr): Use ANSI C function declarations.
79265
79266 2002-11-14  Karl Berry  <karl@gnu.org>
79267
79268         * config/mkinstalldirs: `do' on separate line, instead of
79269         `for var; do'.
79270
79271 2002-11-06  Bruno Haible  <bruno@clisp.org>
79272
79273         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
79274         * lib/gcd.c (gcd): Likewise.
79275
79276 2002-11-05  Bruno Haible  <bruno@clisp.org>
79277
79278         * lib/gcd.h: New file, from gettext-0.11.5.
79279         * lib/gcd.c: New file, from gettext-0.11.5.
79280
79281 2002-11-05  Bruno Haible  <bruno@clisp.org>
79282
79283         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
79284         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
79285         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
79286         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
79287
79288         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
79289         <libintl.h>.
79290         * lib/makepath.c: Include gettext.h instead of <locale.h> and
79291         <libintl.h>.
79292
79293         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
79294         * lib/human.c: Include gettext.h instead of <libintl.h>.
79295         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
79296         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
79297         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
79298         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
79299         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
79300         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
79301         (textdomain): Remove definition.
79302         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
79303
79304         * lib/long-options.c: Remove include of <libintl.h> and definition of
79305         _.
79306         * lib/same.c: Remove include of <libintl.h> and definition of _.
79307
79308 2002-11-04  Owen Taylor  <otaylor@redhat.com>
79309
79310         * lib/config.charset: A few additions for Solaris.
79311
79312 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
79313
79314         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
79315         * lib/localcharset.c (locale_charset): Declare as extern "C".
79316
79317 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
79318
79319         * lib/config.charset: msdos in uk_UA uses CP1125.
79320
79321 2002-11-04  Bruno Haible  <bruno@clisp.org>
79322
79323         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
79324         * lib/strcase.h: New file, from GNU gettext-0.11.5.
79325         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
79326         * lib/strstr.h: New file, from GNU gettext-0.11.5.
79327         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
79328
79329 2002-11-04  Bruno Haible  <bruno@clisp.org>
79330
79331         * lib/localcharset.c (locale_charset): Don't return an empty string.
79332
79333 2002-11-04  Bruno Haible  <bruno@clisp.org>
79334
79335         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
79336         aliases.
79337
79338 2002-11-04  Bruno Haible  <bruno@clisp.org>
79339
79340         * lib/config.charset: Update for newest glibc. Add canonical names
79341         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
79342
79343 2002-11-04  Bruno Haible  <bruno@clisp.org>
79344
79345         * lib/config.charset: Add support for NetBSD.
79346
79347 2002-11-04  Bruno Haible  <bruno@clisp.org>
79348
79349         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
79350
79351 2002-11-01  Bruno Haible  <bruno@clisp.org>
79352
79353         * configure.in: Add AC_CONFIG_AUX_DIR call.
79354         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
79355         test/Makefile.
79356         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
79357
79358 2002-09-28  Karl Berry  <karl@gnu.org>
79359
79360         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
79361         installed automake until the next release, since changes have been
79362         made.
79363
79364 2002-09-25  Karl Berry  <karl@gnu.org>
79365
79366         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
79367         * lib/getopt*: copy from libc/posix.
79368         * lib/gettext.h: copy from gettext.
79369         * lib/.cppi-disable: add strdup.c, gettext.h.
79370
79371 2002-09-25  Karl Berry  <karl@gnu.org>
79372
79373         * config/srclist.txt: enable gettext.h check.
79374         * config/config.{guess,sub}: update from prep.
79375         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
79376                 from automake 1.6.3.
79377         See srclist*.
79378
79379 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
79380
79381         * regex.c (PATFETCH): Remove the translating fetch.
79382         (PATFETCH_RAW): Rename to PATFETCH.
79383         (set_image_of_range): New fun.
79384         (SET_RANGE_TABLE_WORK_AREA): Use it.
79385         (regex_compile): Don't translate the pattern chars so eagerly.
79386         Only do it when inserting an `exactn' bytecode or when handling
79387         a char-range.
79388         (mutually_exclusive_p): Avoid empty statement.
79389
79390 2002-07-06  Jim Meyering  <meyering@lucent.com>
79391
79392         * m4/README: Don't mention Makefile.am.in.
79393         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
79394
79395 2002-07-01  Jim Meyering  <meyering@lucent.com>
79396
79397         * lib/c-stack.c: Include sys/time.h.
79398         From Volker Borchert.
79399
79400 2002-06-26  Paul Eggert  <eggert@twinsun.com>
79401
79402         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
79403
79404 2002-06-26  Paul Eggert  <eggert@twinsun.com>
79405
79406         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
79407         New macro.  Use it uniformly instead of
79408         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
79409         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
79410         reported by Vin Shelton.
79411
79412 2002-06-22  Paul Eggert  <eggert@twinsun.com>
79413
79414         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
79415         Do not assume SA_SIGINFO behavior.
79416         Bug reported by Jim Meyering on NetBSD 1.5.2.
79417
79418 2002-06-22  Jim Meyering  <meyering@lucent.com>
79419
79420         * m4/c-stack.m4: New file, from diffutils-2.8.2.
79421         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
79422
79423         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
79424         now that configure.ac uses AC_GNU_SOURCE.
79425         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
79426         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
79427
79428         Update to latest tools.  Suggestions from Paul Eggert.
79429         * m4/stdbool.m4: New file, from diffutils-2.8.2.
79430         * m4/gnu-source.m4: Update from diffutils-2.8.2.
79431         * m4/fnmatch.m4: Likewise.
79432         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
79433         to AC_HEADER_STDBOOL
79434
79435 2002-06-22  Jim Meyering  <meyering@lucent.com>
79436
79437         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
79438         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
79439
79440 2002-06-22  Jim Meyering  <meyering@lucent.com>
79441
79442         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
79443
79444         * lib/exitfail.c, exitfail.h: Likewise.
79445         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
79446
79447         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
79448         of fnmatch.h.
79449         (EXTRA_DIST): Add fnmatch_loop.c.
79450         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
79451
79452         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
79453         * lib/fnmatch.c: Update from diffutils-2.8.2.
79454         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
79455         * lib/fnmatch.h: Remove file.
79456
79457 2002-06-21  Jim Meyering  <meyering@lucent.com>
79458
79459         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
79460         * m4/mbrtowc.m4: Likewise.
79461
79462         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
79463         * m4/mbswidth.m4: Reflect name change:
79464         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
79465         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
79466
79467         * m4/lib-link.m4: Update from gettext-0.11.2.
79468         * m4/gettext.m4: Likewise.
79469
79470         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
79471         From Alfred M. Szmidt.
79472
79473 2002-06-18  Paul Eggert  <eggert@twinsun.com>
79474
79475         * lib/file-type.h: Report an error if neither S_ISREG nor
79476         S_IFREG is defined, instead of using a test specific to glibc
79477         2.2.  This should be safe, since POSIX requires S_ISREG and
79478         Unix Version 7 had S_IFREG.  We don't need to check for
79479         <sys/types.h> since we don't use any symbols that it defines.
79480
79481 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
79482
79483         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
79484         $@-t, so that each temporary file name is unique and valid in the first
79485         8 characters, for operation under DOS.
79486
79487 2002-06-15  Paul Eggert  <eggert@twinsun.com>
79488
79489         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
79490
79491 2002-06-15  Jim Meyering  <meyering@lucent.com>
79492
79493         Work even with DJGPP 2.03, which lacks support for symlinks.
79494         From Richard Dawe.
79495         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
79496         is defined.
79497         * lib/lchown.c (S_ISLNK): Likewise.
79498
79499 2002-06-15  Jim Meyering  <meyering@lucent.com>
79500
79501         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
79502         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
79503         have been included before this file.
79504
79505 2002-06-14  Jim Meyering  <meyering@lucent.com>
79506
79507         * lib/file-type.h: Use the version from diffutils-2.8.2.
79508         * lib/file-type.c: Likewise.
79509
79510 2002-06-07  Jim Meyering  <meyering@lucent.com>
79511
79512         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
79513         They're needed at least for NetBSD 1.5.2.
79514         ($statxfs_includes): Include those same headers.
79515         ($statxfs_includes): Include sys/vfs.h if available.
79516         ($statxfs_includes): Likewise for sys/statvfs.h.
79517         Check for the following members in both structs statfs and statvfs:
79518         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
79519
79520 2002-06-01  Jim Meyering  <meyering@lucent.com>
79521
79522         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
79523         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
79524
79525 2002-05-28  Jim Meyering  <meyering@lucent.com>
79526
79527         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
79528         Reported by Volker Borchert.
79529
79530 2002-05-27  Jim Meyering  <meyering@lucent.com>
79531
79532         Fix a problem seen only on nonconforming systems whereby ls.c's
79533         use of localtime, and then of gettimeofday would cause trouble:
79534         the localtime call used to initialize rpl_gettimeofday's save
79535         mechanism would clobber ls's current local time information so
79536         that in any long listing the first file would always be listed
79537         with date 1970-01-01.  Analysis by Volker Borchert.
79538
79539         * lib/gettimeofday.c (localtime): Undefine.
79540         (rpl_localtime): New function.
79541
79542 2002-05-27  Jim Meyering  <meyering@lucent.com>
79543
79544         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
79545         localtime.
79546
79547         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
79548         use the replacement function; it wouldn't resolve at link time.
79549         Reported by Volker Borchert.
79550
79551 2002-05-22  Jim Meyering  <meyering@lucent.com>
79552
79553         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
79554         file-type.h.
79555         * lib/file-type.h: New file.
79556         * lib/file-type.c (file_type): New file/function.  Extracted from
79557         diffutils.
79558
79559 2002-04-30  Jim Meyering  <meyering@lucent.com>
79560
79561         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
79562
79563 2002-04-29  Paul Eggert  <eggert@twinsun.com>
79564
79565         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
79566
79567 2002-04-29  Paul Eggert  <eggert@twinsun.com>
79568
79569         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
79570         Do not check for alloca.h (no longer used) or stdbool.h (was never
79571         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
79572
79573 2002-04-29  Paul Eggert  <eggert@twinsun.com>
79574
79575         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
79576
79577 2002-04-29  Jim Meyering  <meyering@lucent.com>
79578
79579         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
79580         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
79581         Use AC_FUNC_STRNLEN here instead.
79582
79583         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
79584         With autoconf-2.53a, it's part of AC_PROG_CC.
79585
79586 2002-04-28  Paul Eggert  <eggert@twinsun.com>
79587
79588         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
79589         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
79590
79591 2002-04-28  Paul Eggert  <eggert@twinsun.com>
79592
79593         * lib/sig2str.h, lib/sig2str.c: New files.
79594         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
79595
79596 2002-04-28  Paul Eggert  <eggert@twinsun.com>
79597
79598         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
79599         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
79600         of 127, since 64 is the largest conceivable number for ancient
79601         nonstandard hosts.
79602         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
79603
79604 2002-04-28  Jim Meyering  <meyering@lucent.com>
79605
79606         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
79607
79608 2002-04-24  Jim Meyering  <meyering@lucent.com>
79609
79610         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
79611         (jm_PREREQ): Use it.
79612
79613         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
79614         mach/mach.h fcntl.h.
79615         Check for this function: setlocale.
79616
79617 2002-04-24  Jim Meyering  <meyering@lucent.com>
79618
79619         * lib/gettext.h: New file, from Gettext.
79620         * lib/Makefile.am (INCLUDES): Remove -I../intl.
79621         (libfetish_a_SOURCES): Add gettext.h.
79622
79623 2002-04-16  Jim Meyering  <meyering@lucent.com>
79624
79625         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
79626         ut_pid, ut_id, ut_exit.
79627
79628 2002-04-16  Jim Meyering  <meyering@lucent.com>
79629
79630         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
79631         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
79632         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
79633
79634 2002-04-12  Jim Meyering  <meyering@lucent.com>
79635
79636         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
79637         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
79638         existence of the getmntinfo function.  Needed for Darwin 5.3.
79639
79640         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
79641         This is necessary at least on Darwin 5.3.
79642
79643         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
79644         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
79645         strnlen.o in the library, and that makes some versions of ranlib
79646         object.
79647
79648 2002-04-12  Jim Meyering  <meyering@lucent.com>
79649
79650         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
79651
79652 2002-04-09  Jim Meyering  <meyering@lucent.com>
79653
79654         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
79655         to be more precise.  Rather than saying we're checking whether the
79656         function `works', say what we're testing.
79657         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
79658         Reported by Bruno Haible.
79659
79660 2002-03-10  Jim Meyering  <meyering@lucent.com>
79661
79662         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
79663         Suggestion from Santiago Vila.
79664
79665 2002-03-08  Jim Meyering  <meyering@lucent.com>
79666
79667         * lib/rename.c: Mention that this wrapper is needed also on
79668         mips-dec-ultrix4.4 systems.
79669
79670 2002-03-02  Jim Meyering  <meyering@lucent.com>
79671
79672         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
79673         not HAVE_CLOCK_SETTIME.
79674
79675 2002-02-27  Paul Eggert  <eggert@twinsun.com>
79676
79677         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
79678         Check for clock_settime.
79679
79680 2002-02-27  Paul Eggert  <eggert@twinsun.com>
79681
79682         * lib/nanosleep.h: Rename to....
79683         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
79684
79685         * lib/gettime.c: New file.
79686         * lib/settime.c: New file.
79687         * lib/stime.c: Remove.
79688
79689         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
79690         timespec.h.  Remove nanosleep.h.
79691
79692 2002-02-25  Paul Eggert  <eggert@twinsun.com>
79693
79694         * m4/acl.m4: New file.
79695         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
79696         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
79697
79698 2002-02-25  Paul Eggert  <eggert@twinsun.com>
79699
79700         * lib/acl.c, lib/acl.h: New files.
79701         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
79702
79703 2002-02-24  Jim Meyering  <meyering@lucent.com>
79704
79705         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
79706         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
79707         cause trouble.  Reported by Nelson Beebe.
79708
79709 2002-02-23  Paul Eggert  <eggert@twinsun.com>
79710
79711         * lib/path-concat.c (xpath_concat): Reorder code to pacify
79712         compilers that don't know that xalloc_die never returns.
79713
79714 2002-02-20  Jim Meyering  <meyering@lucent.com>
79715
79716         * lib/getdate.c: Regenerate using bison-1.33.
79717
79718 2002-02-17  Jim Meyering  <meyering@lucent.com>
79719
79720         * config/config.guess (main): Don't use `head -1'; it's no longer
79721         portable. Use `sed 1q' instead.
79722
79723 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
79724
79725         * m4/codeset.m4: Upgrade to gettext-0.11.
79726         * m4/gettext.m4: Upgrade to gettext-0.11.
79727         * m4/glibc21.m4: Upgrade to gettext-0.11.
79728         * m4/iconv.m4: Upgrade to gettext-0.11.
79729         * m4/isc-posix.m4: Upgrade to gettext-0.11.
79730         * m4/lcmessage.m4: Upgrade to gettext-0.11.
79731         * m4/lib-ld.m4: New file, from gettext-0.11.
79732         * m4/lib-link.m4: New file, from gettext-0.11.
79733         * m4/lib-prefix.m4: New file, from gettext-0.11.
79734         * m4/progtest.m4: Upgrade to gettext-0.11.
79735
79736 2002-02-15  Paul Eggert  <eggert@twinsun.com>
79737
79738         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
79739         (jm_PREREQ): Use it.
79740
79741 2002-02-15  Paul Eggert  <eggert@twinsun.com>
79742
79743         * lib/posixver.c, lib/posixver.h: New files.
79744         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
79745
79746 2002-02-02  Paul Eggert  <eggert@twinsun.com>
79747             Bruno Haible  <bruno@clisp.org>
79748
79749         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
79750         (fwrite_success_callback): New declaration.
79751         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
79752         print_unicode_char. Call failure callback instead of error.
79753         (fwrite_success_callback): New function.
79754         (exit_failure_callback): New function.
79755         (fallback_failure_callback): New function.
79756         (print_unicode_char): Call unicode_to_mb.
79757
79758 2002-01-26  Jim Meyering  <meyering@lucent.com>
79759
79760         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
79761         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
79762
79763 2002-01-26  Jim Meyering  <meyering@lucent.com>
79764
79765         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
79766
79767 2002-01-22  Paul Eggert  <eggert@twinsun.com>
79768
79769         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
79770
79771 2002-01-22  Jim Meyering  <meyering@lucent.com>
79772
79773         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
79774         Otherwise, some versions of automake would omit the rule that makes
79775         Makefile from Makefile.in.
79776
79777 2002-01-21  Paul Eggert  <eggert@twinsun.com>
79778
79779         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
79780         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
79781         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
79782         (memcoll): Set errno to zero if there is no error.
79783
79784         * lib/quotearg.c (quotearg_buffer_restyled):
79785         Fix bug with quoting buffers containing NUL when backslashing escapes.
79786         This bug was exposed by the other changes in this patch.
79787         (quotearg_n_options): New arg ARGSIZE.
79788         All callers changed.
79789         (quoting_options_from_style): New function.
79790         (quotearg_n_style): Use it.
79791         (quotearg_n_style_mem): New function.
79792
79793         * lib/quotearg.h (quotearg_n_style_mem): New function.
79794
79795 2002-01-19  Jim Meyering  <meyering@lucent.com>
79796
79797         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
79798         Remove useless quotes: DF_PROG="df".
79799         * m4/strnlen.m4: New file.
79800
79801 2002-01-16  Paul Eggert  <eggert@twinsun.com>
79802
79803         * lib/backupfile.c (ISDIGIT): Comment fix.
79804         * lib/getdate.y (ISDIGIT): Likewise.
79805         * lib/posixtm.c (ISDIGIT, year): Likewise.
79806         * lib/strverscmp.c (ISDIGIT): Likewise.
79807         * lib/userspec.c (ISDIGIT): Likewise.
79808
79809 2002-01-16  Jim Meyering  <meyering@lucent.com>
79810
79811         * lib/getdate.y: Add three semicolons, each just before a closing
79812         brace. Bison (as of version 1.31) no longer papers over that mistake.
79813
79814 2002-01-05  Jim Meyering  <meyering@lucent.com>
79815
79816         * lib/version-etc.c (version_etc_copyright): Update copyright year.
79817
79818 2001-12-19  Paul Eggert  <eggert@twinsun.com>
79819
79820         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
79821         not silently exit merely because the output buffer happens to
79822         have nothing pending.
79823
79824 2001-12-18  Paul Eggert  <eggert@twinsun.com>
79825
79826         See the big note in ../ChangeLog.
79827         * lib/human.c (suffixes): Prefer K to k for 1024.
79828         (generate_suffix_backwards): New function.
79829         (human_readable_inexact): Use it.
79830         * lib/xstrtol.c (__xstrtol): If there is no number but there
79831         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
79832         Accept 'K' as well as 'k'.
79833
79834 2001-12-15  Jim Meyering  <meyering@lucent.com>
79835
79836         * lib/regex.h (__restrict_arr): Update from libc.
79837
79838         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
79839         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
79840         (STREQ): Define.
79841
79842 2001-12-14  Jim Meyering  <meyering@lucent.com>
79843
79844         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
79845         Suggestion from Bruno Haible.
79846
79847 2001-12-10  Jim Meyering  <meyering@lucent.com>
79848
79849         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
79850         xrealloc, Instead, include "xalloc.h".
79851         (initbuffer): Don't cast xmalloc return value to char*.
79852         (readline): Reword comment.
79853         Don't cast xrealloc return value to char*
79854         Return NULL, not 0.
79855
79856 2001-12-09  Jim Meyering  <meyering@lucent.com>
79857
79858         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
79859         about `signed and unsigned type in conditional expression'.
79860         * lib/posixtm.c (posix_time_parse): Likewise.
79861
79862         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
79863
79864         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
79865         to avoid a pedantic warning.
79866
79867         * lib/getstr.c: Don't include assert.h.
79868         (getstr): Remove warning-evoking assertions.
79869         Return -1 if offset parameter is out of bounds.
79870         Change the type of a local from int to size_t.
79871
79872         * lib/strftime.c (my_strftime_localtime_r): Include this function
79873         definition in the `#if ! HAVE_TM_GMTOFF' block.
79874
79875         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
79876         Include xalloc.h instead.
79877
79878 2001-12-02  Jim Meyering  <meyering@lucent.com>
79879
79880         * lib/tempname.c: Don't declare getenv, thus reverting the change of
79881         2001-11-18.  It's no longer necessary, now that stdlib.h is always
79882         included.
79883
79884         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
79885         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
79886
79887 2001-11-30  Akim Demaille  <akim@epita.fr>
79888
79889         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
79890         before being defined.
79891
79892 2001-11-27  Paul Eggert  <eggert@twinsun.com>
79893
79894         * lib/quotearg.h (quotearg_n, quotearg_n_style):
79895         First arg is int, not unsigned.
79896         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
79897         (SIZE_MAX, UINT_MAX): New macros.
79898         (quotearg_n_options): Abort if N is negative.
79899         Avoid overflow check on hosts where size_t is 64 bits and int
79900         is 32 bits, as overflow is impossible there.
79901         Fix off-by-one typo that caused unnecessary reallocation.
79902
79903 2001-11-27  Jim Meyering  <meyering@lucent.com>
79904
79905         * lib/tempname.c: Merge with version from libc.
79906         * lib/regex.c: Likewise.
79907
79908         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
79909         systems for which STDC_HEADERS is 0, it was not included, resulting in
79910         a warning about an integer-to-pointer conversion problem with getenv.
79911         Reported by Volker Borchert.
79912
79913 2001-11-26  Jim Meyering  <meyering@lucent.com>
79914
79915         * lib/gtod.h: Remove file.
79916         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
79917         * lib/gettimeofday.c: Don't include gtod.h.
79918         (GTOD_init): Remove function.
79919         (rpl_gettimeofday): Do its job here instead, rather than aborting.
79920         Suggestion from Volker Borchert.
79921
79922 2001-11-23  Jim Meyering  <meyering@lucent.com>
79923
79924         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
79925         it.
79926         * lib/hash.c (struct hash_table): Define it here instead.
79927
79928 2001-11-22  Jim Meyering  <meyering@lucent.com>
79929
79930         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
79931
79932 2001-11-20  Jim Meyering  <meyering@lucent.com>
79933
79934         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
79935         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
79936
79937 2001-11-19  Jim Meyering  <meyering@lucent.com>
79938
79939         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
79940         directory.  Use "conftestXXXXXX" as the template.
79941         Suggestion from Paul Eggert.
79942
79943         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
79944         immediately, so the test doesn't mistakenly hit the max-open-files
79945         limit.
79946
79947 2001-11-18  Paul Eggert  <eggert@twinsun.com>
79948
79949         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
79950         (TEMPORARIES): New macro.
79951         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
79952         removes an artificial limitation (e.g. HP-UX 10.20, where
79953         TMP_MAX is 17576).
79954
79955 2001-11-18  Jim Meyering  <meyering@lucent.com>
79956
79957         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
79958
79959 2001-11-18  Jim Meyering  <meyering@lucent.com>
79960
79961         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
79962         on SunOS 4.
79963
79964         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
79965         files will be created before anything else.
79966
79967 2001-11-17  Paul Eggert  <eggert@twinsun.com>
79968
79969         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
79970         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
79971
79972 2001-11-17  Jim Meyering  <meyering@lucent.com>
79973
79974         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
79975         Prompted by a report from Bob Proulx.
79976
79977         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
79978         Instead, require UTILS_FUNC_MKSTEMP.
79979
79980 2001-11-17  Jim Meyering  <meyering@lucent.com>
79981
79982         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
79983         Now, that's done as part of AC_FUNC_STRTOD.
79984
79985 2001-11-17  Jim Meyering  <meyering@lucent.com>
79986
79987         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
79988         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
79989         rather than group writable.  Patch by Juan F. Codagnone.
79990
79991         * lib/readtokens.c: Remove explicit declarations of xmalloc and
79992         xrealloc, Instead, include "xalloc.h".
79993
79994         * lib/mountlist.c: Include unlocked-io.h after all system headers.
79995         Remove explicit declarations of xmalloc, xrealloc,
79996         and xstrdup.  Instead, include "xalloc.h".
79997
79998         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
79999         unlocked-io.h.
80000         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
80001         Likewise.
80002         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
80003
80004         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
80005         Reported by Padraig Brady.
80006
80007         * lib/mkstemp.c: #undef mkstemp.
80008         Include config.h.
80009         (rpl_mkstemp): Rename from mkstemp.
80010         Protoize.
80011
80012 2001-11-16  Jim Meyering  <meyering@lucent.com>
80013
80014         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
80015         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
80016         determine the amount of total physical memory, use pstat_getstatic.
80017         HPUX-11 doesn't define _SC_PHYS_PAGES.
80018         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
80019         If sysconf couldn't be used to determine the amount of available
80020         physical memory, use both pstat_getstatic and pstat_getdynamic.
80021         Based on a patch from Bob Proulx.
80022
80023 2001-11-10  Jim Meyering  <meyering@lucent.com>
80024
80025         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
80026         (jm_PREREQ): Use it.
80027
80028 2001-11-09  Jim Meyering  <meyering@lucent.com>
80029
80030         * m4/jm-macros.m4: Require autoconf-2.52f.
80031         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
80032         Use these AC_-prefixed names, not the AM_-prefixed ones.
80033
80034         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
80035
80036 2001-11-05  Jim Meyering  <meyering@lucent.com>
80037
80038         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
80039
80040 2001-11-04  Jim Meyering  <meyering@lucent.com>
80041
80042         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
80043         $DEFS.
80044
80045 2001-11-03  Jim Meyering  <meyering@lucent.com>
80046
80047         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
80048         of AC_DEFUN.
80049
80050         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
80051         know the name of the variable in the macro definition.
80052
80053 2001-11-03  Jim Meyering  <meyering@lucent.com>
80054
80055         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
80056         in argmatch_to_argument call.
80057
80058         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
80059         argument.
80060
80061         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
80062         e.g., a fault due to an attempt to free a NULL pointer.
80063
80064 2001-11-01  Jim Meyering  <meyering@lucent.com>
80065
80066         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
80067         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
80068
80069 2001-11-01  Jim Meyering  <meyering@lucent.com>
80070
80071         * lib/dirfd.c, lib/dirfd.h: New files.
80072         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
80073
80074         * lib/hash.c (hash_print) [TESTING]: Clean up.
80075
80076 2001-10-22  Paul Eggert  <eggert@twinsun.com>
80077
80078         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
80079         to avoid a warning if -Wall.
80080
80081 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
80082
80083         * README: New file
80084         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
80085         (per RMS's instructions, this is now the canonical source)
80086         * lgpl/, gpl/: New directories.
80087
80088 2001-10-21  Paul Eggert  <eggert@twinsun.com>
80089
80090         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
80091
80092 2001-10-21  Jim Meyering  <meyering@lucent.com>
80093
80094         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
80095         this code would end up calling gettext even in packages built
80096         with --disable-nls.
80097         * lib/getopt.c (_): Likewise.
80098         * lib/regex.c (_): Likewise.
80099
80100 2001-10-20  Paul Eggert  <eggert@twinsun.com>
80101
80102         * m4/error.m4 (jm_PREREQ_ERROR):
80103         Do not invoke AC_CHECK_FUNCS with strerror_r, as
80104         AC_FUNC_STRERROR_R does that.
80105         Check for strerror declaration.
80106
80107         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
80108         are supposed to have them these days.
80109         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
80110         Merge changes from latest Autoconf CVS.
80111         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
80112         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
80113         POSIX decided to standardize on the int flavor of strerror_r.
80114
80115 2001-10-20  Paul Eggert  <eggert@twinsun.com>
80116
80117         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
80118         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
80119         Use strerror_r that is only a macro, even if it is not a function.
80120         (strerror): Check for HAVE_DECL_STRERROR before declaring.
80121         (private_strerror): Use prototypes, not old-style function definition.
80122         (print_errno_message): New function.
80123         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
80124         char*-flavored one.
80125         (error_tail, error, error_at_line): Use it.
80126
80127 2001-10-11  Jim Meyering  <meyering@lucent.com>
80128
80129         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
80130         and quote_n (1, ... to avoid clobbering a buffer.
80131
80132 2001-10-05  Jim Meyering  <meyering@lucent.com>
80133
80134         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
80135         hash-pjw.h.
80136         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
80137         * lib/hash-pjw.h: New file.
80138
80139 2001-09-30  Jim Meyering  <meyering@lucent.com>
80140
80141         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
80142         `struct fsstat' has the `f_fstypename' member.
80143         Use that to define FS_TYPE, which is now used to make
80144         the getfsstat link test tighter.
80145
80146 2001-09-30  Jim Meyering  <meyering@lucent.com>
80147
80148         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
80149         Include <sys/ucred.h>, for Apple Darwin.
80150         Include sys/mount.h and sys/fs_types.h only if available.
80151         (FS_TYPE): Define.
80152         (read_filesystem_list): Use FS_TYPE.
80153
80154 2001-09-29  Paul Eggert  <eggert@twinsun.com>
80155
80156         * lib/exclude.c (excluded_filename): 0 -> false, since it's
80157         a boolean context.
80158
80159 2001-09-29  Jim Meyering  <meyering@lucent.com>
80160
80161         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
80162         [one-argument getmntent function]): Include stdio.h before mntent.h.
80163         SunOS 4.1.x needs it for the declaration of `FILE'.
80164         Patch by Volker Borchert.
80165
80166         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
80167         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
80168         sys/fs_types.h, and make the link-test for getfsstat guard #include
80169         directives with appropriate #if HAVE_*_H tests so that we can
80170         detect getfsstat on Apple Darwin1.3.7 systems.
80171         Reported by Nelson Beebe.
80172         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
80173
80174 2001-09-28  Paul Eggert  <eggert@twinsun.com>
80175
80176         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
80177         #defines strtoimax.  Also treat the other strto* functions
80178         like strtoimax.
80179
80180         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
80181         Check for strtoul and strtoumax,
80182         as those declarations are made even in the signed case.
80183         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
80184         Likewise, for strtol and strtoimax.
80185
80186 2001-09-28  Paul Eggert  <eggert@twinsun.com>
80187
80188         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
80189         #defines strtoimax.  Also treat the other strto* functions
80190         like strtoimax.
80191
80192         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
80193         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
80194         (strtoimax, strtoumax): Do not declare if already defined as a macro.
80195
80196 2001-09-26  Jim Meyering  <meyering@lucent.com>
80197
80198         Most macros in unlocked-io.h had the wrong number of arguments.
80199         * lib/gen-uio: New script.
80200         (USE_UNLOCKED_IO): Define to 1 if not already defined.
80201         * lib/unlocked-io.hin: Remove file.
80202         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
80203         rather than trying to embed it here.
80204         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
80205         Reported by Padraig Brady.
80206
80207 2001-09-25  Volker Borchert  <bt@teknon.de>
80208
80209         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
80210         `result'.
80211
80212 2001-09-24  Jim Meyering  <meyering@lucent.com>
80213
80214         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
80215
80216 2001-09-23  Jim Meyering  <meyering@lucent.com>
80217
80218         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
80219         instead of the mere test for existence of mntent.h.  The latter
80220         would get a false-positive on AIX 3.4 systems.
80221         In the outer getmntent if-block, don't die if neither of the getmntent
80222         tests succeeds.  Instead, just fall through and continue with the
80223         remaining tests.
80224
80225 2001-09-23  Jim Meyering  <meyering@lucent.com>
80226
80227         * lib/mountlist.c: Remove useless parentheses in #if directives.
80228         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
80229         the deprecated MOUNTED symbol is no longer defined in mntent.h.
80230
80231 2001-09-22  Jim Meyering  <meyering@lucent.com>
80232
80233         * m4/gettext.m4: New file.  From gettext.
80234         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
80235         * m4/progtest.m4: Likewise
80236         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
80237         * m4/glibc21.m4: Likewise.
80238
80239         * m4/libintl.m4: Remove.  No longer used.
80240
80241 2001-09-22  Jim Meyering  <meyering@lucent.com>
80242
80243         * lib/localcharset.c: Update from latest gettext.
80244         * lib/config.charset: Likewise.
80245
80246 2001-09-20  Jim Meyering  <meyering@lucent.com>
80247
80248         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
80249         strtoimax.
80250         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
80251         strtoumax.
80252
80253 2001-09-20  Jim Meyering  <meyering@lucent.com>
80254
80255         * lib/xstrtol.c (strtoimax): Guard declaration with
80256         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
80257         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
80258         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
80259         (strtoumax): Likewise, for completeness (it wasn't necessary).
80260
80261 2001-09-17  Paul Eggert  <eggert@twinsun.com>
80262
80263         * lib/strtoimax.c (HAVE_LONG_LONG):
80264         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
80265         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
80266         to work around bug in IBM C compiler.
80267
80268 2001-09-17  Jim Meyering  <meyering@lucent.com>
80269
80270         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
80271         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
80272         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
80273         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
80274         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
80275         whenever the right hand side need not be expanded by the shell.
80276
80277 2001-09-16  Paul Eggert  <eggert@twinsun.com>
80278
80279         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
80280         library.  It's not correct, as some older glibcs are buggy.
80281         fnmatch wasn't fixed until glibc 2.2.
80282
80283         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
80284         special shell magic here.
80285
80286 2001-09-16  Jim Meyering  <meyering@lucent.com>
80287
80288         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
80289         * m4/jm-macros.m4: Require it.
80290
80291 2001-09-16  Jim Meyering  <meyering@lucent.com>
80292
80293         * lib/mkdir.c: New file.
80294
80295 2001-09-15  Jim Meyering  <meyering@lucent.com>
80296
80297         * m4/jm-macros.m4: Check for help2man.
80298
80299 2001-09-11  Jim Meyering  <meyering@lucent.com>
80300
80301         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
80302         The body, by Paul Eggert, was moved here from configure.in.
80303         * m4/jm-macros.m4: Require UTILS_HOST_OS.
80304
80305 2001-09-04  Paul Eggert  <eggert@twinsun.com>
80306
80307         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
80308         (jm_PREREQ): Use it.
80309
80310 2001-09-04  Paul Eggert  <eggert@twinsun.com>
80311
80312         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
80313         Use ssize_t, not int, to store result of readlink.
80314         Check for ssize_t overflow as well as size_t overflow,
80315         as POSIX says the result of readlink is implementation-defined
80316         when ssize_t overflows.
80317         Remove unnecessary cast to char*.
80318         Use free+malloc instead of realloc, as the storage doesn't need
80319         to be preserved and it's clearer and can be more efficient that way.
80320         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
80321         * lib/xreadlink.h (xreadlink): Update prototype.
80322
80323 2001-09-04  Paul Eggert  <eggert@twinsun.com>
80324
80325         * lib/xgetcwd.c: Revert some of the previous change; intead,
80326         fix the HAVE_GETCWD_NULL code to behave more like the
80327         !HAVE_GETCWD_NULL code used to.
80328
80329         Include "xalloc.h".
80330         (xgetcwd): Do not return NULL when memory is exhausted; instead,
80331         invoke xalloc_die.
80332
80333 2001-09-03  Paul Eggert  <eggert@twinsun.com>
80334
80335         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
80336         sys/param.h, as pathmax.h includes them.
80337
80338 2001-09-03  Paul Eggert  <eggert@twinsun.com>
80339
80340         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
80341         (jm_PREREQ_XGETCWD): New macro.
80342
80343         * m4/getcwd.m4: New file.
80344
80345 2001-09-03  Paul Eggert  <eggert@twinsun.com>
80346
80347         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
80348         like the HAVE_GETCWD_NULL code.
80349         Include pathmax.h if not HAVE_GETCWD.
80350         Do not include xalloc.h.
80351         (INITIAL_BUFFER_SIZE): New symbol.
80352         Do not use xmalloc / xrealloc, since the caller is responsible for
80353         handling errors.  Preserve errno around `free' during failure.
80354         Do not overrun buffer when using getwd.
80355
80356 2001-09-03  Paul Eggert  <eggert@twinsun.com>
80357
80358         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
80359         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
80360         getcwd (NULL, 0).
80361
80362 2001-09-03  Paul Eggert  <eggert@twinsun.com>
80363
80364         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
80365         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
80366         spotted by Jim Meyering.
80367
80368 2001-09-03  Jim Meyering  <meyering@lucent.com>
80369
80370         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
80371         failure.
80372
80373 2001-09-02  Jim Meyering  <meyering@lucent.com>
80374
80375         * lib/error.c: Update from GNU libc.
80376
80377 2001-09-01  Jim Meyering  <meyering@lucent.com>
80378
80379         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
80380         Used by df.
80381
80382 2001-09-01  Jim Meyering  <meyering@lucent.com>
80383
80384         * lib/xreadlink.c: New file.
80385         * lib/xreadlink.h: New file.
80386         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
80387         xreadlink.h.
80388
80389         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
80390         doesn't conflict with sparc Solaris 7's definition in
80391         /usr/include/sys/int_types.h.
80392
80393         * lib/exclude.c: Use `""', not `<>' to #include non-system header
80394         files.
80395         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
80396         and strncasecmp as r-values.  Unixware didn't have declarations.
80397
80398 2001-08-31  Paul Eggert  <eggert@twinsun.com>
80399
80400         * lib/xstrtol.h: Add copyright notice.
80401         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
80402         LONGINT_INVALID_SUFFIX_CHAR.
80403
80404 2001-08-31  Paul Eggert  <eggert@twinsun.com>
80405
80406         * lib/xstrtol.c (strtoimax): New decl.
80407
80408 2001-08-31  Paul Eggert  <eggert@twinsun.com>
80409
80410         * lib/xgetcwd.c: Don't include pathmax.h.
80411         Include stdlib.h and unistd.h if available.
80412         Include xalloc.h.
80413         (xmalloc, xstrdup, free): Remove decls.
80414         (xgetcwd): Don't assume sizes fit in unsigned.
80415         Check for overflow when computing sizes.
80416         Simplify reallocation code.
80417
80418 2001-08-31  Paul Eggert  <eggert@twinsun.com>
80419
80420         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
80421         a directory's st_size can have an arbitrary value, so the old
80422         usage could waste an arbitrary amount of memory.  All uses
80423         changed.
80424         * lib/savedir.h: Update prototype.
80425
80426 2001-08-31  Paul Eggert  <eggert@twinsun.com>
80427
80428         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
80429
80430         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
80431         old strtoimax.c.
80432
80433         Also, make the following further changes to make this file's
80434         configuration more similar to that of strtol.c:
80435         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
80436         (strtoumax, uintmax_t, strtoull, strtol): Remove.
80437         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
80438         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
80439         changed to signed values.
80440
80441         And make the following changes as well:
80442         Fix copyright notice, as 1999 was missing.
80443         (verify): New macro.
80444         (strtoimax): Check sizes at compile-time, not run-time.
80445         Prefer strtol to strtoll if both work.
80446         (main): Remove; it was not that useful and was a pain to maintain.
80447
80448         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
80449
80450 2001-08-31  Jim Meyering  <meyering@lucent.com>
80451
80452         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
80453         Use an initial, malloc'd, buffer of length 128 rather than
80454         a statically allocated one of length 1024.
80455
80456 2001-08-30  Paul Eggert  <eggert@twinsun.com>
80457
80458         Simplify code, partly by assuming autoconf 2.52 semantics.
80459
80460         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
80461
80462         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
80463         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
80464         All uses removed.
80465         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
80466         Move AC_REQUIRE to next-to-top level, to avoid confusion.
80467         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
80468         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
80469         jm_AC_HEADER_INTTYPES_H.
80470         * m4/jm-macros.m4 (jm_MACROS): Likewise.
80471
80472         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
80473
80474         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
80475         Quote first arg of AC_DEFUN.
80476         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
80477         since they are needed to parse the include file even if we need
80478         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
80479         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
80480         but with opposite signedness.
80481
80482 2001-08-30  Paul Eggert  <eggert@twinsun.com>
80483
80484         Merge 'exclude' changes from tar 1.13.22.
80485         This fixes one or two unlikely storage allocation overflow bugs,
80486         but doesn't change user-visible behavior otherwise.
80487
80488 2001-08-30  Paul Eggert  <eggert@twinsun.com>
80489
80490         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
80491         (jm_PREREQ_EXCLUDE): New macro.
80492
80493 2001-08-30  Paul Eggert  <eggert@twinsun.com>
80494
80495         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
80496         tm to be declared.
80497
80498 2001-08-30  Paul Eggert  <eggert@twinsun.com>
80499
80500         * lib/hash.c: Remove '2001' from copyright notice.
80501
80502 2001-08-30  Paul Eggert  <eggert@twinsun.com>
80503
80504         * lib/full-write.h: New file.
80505         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
80506         * lib/full-write.c: Correct credits, as cccp.c no longer
80507         exists and anyway it was so heavily changed from the old cccp
80508         code as to be unrecognizable.  Include full-write.h.
80509         (full_write): Return size_t, with short writes meaning failure.
80510         All callers changed.  This fixes a bug with large buffers
80511         on 64-bit hosts.
80512         * lib/utime.c: Include full-write.h.
80513
80514 2001-08-30  Paul Eggert  <eggert@twinsun.com>
80515
80516         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
80517         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
80518         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
80519         Include if available.
80520         (<xalloc.h>): Include
80521         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
80522         (verify): New macro.  Use it to verify that EXCLUDE macros do not
80523         collide with FNM macros.
80524         (struct patopts): New struct.
80525         (struct exclude): Use it, as exclude patterns now come with options.
80526         (new_exclude): Support above changes.
80527         (new_exclude, add_exclude_file):
80528         Initial size must now be a power of two to simplify overflow checking.
80529         (free_exclude, fnmatch_no_wildcards): New function.
80530         (excluded_filename): No longer requires options arg, as the options
80531         are determined by add_exclude.  Now returns bool, not int.
80532         (excluded_filename, add_exclude):
80533         Add support for the fancy new exclusion options.
80534         (add_exclude, add_exclude_file): Now takes int options arg.
80535         Check for arithmetic overflow when computing sizes.
80536         (add_exclude_file): xrealloc might modify errno, so don't
80537         realloc until after errno might be used.
80538
80539         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
80540         New macros.
80541         (free_exclude): New decl.
80542         (add_exclude, add_exclude_file): Now takes int options arg.
80543         (excluded_filename): No longer requires options arg, as the options
80544         are determined by add_exclude.  Now returns bool, not int.
80545
80546 2001-08-30  Paul Eggert  <eggert@twinsun.com>
80547
80548         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
80549
80550 2001-08-27  Jim Meyering  <meyering@lucent.com>
80551
80552         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
80553
80554         * lib/version-etc.c (N_): Remove definition.
80555         Revert most of last change.
80556         Instead, simply don't mark the `Copyright...' string for translation.
80557         Based on advice from Paul Eggert.
80558
80559         * lib/strtoxmax.c: Tweak comment.
80560
80561 2001-08-26  Jim Meyering  <meyering@lucent.com>
80562
80563         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
80564
80565         * m4/xstrtoimax.m4: New file.
80566         * m4/xstrtoumax.m4: Add comments explaining why we
80567         AC_REPLACE_FUNCS(strtol).
80568
80569 2001-08-26  Jim Meyering  <meyering@lucent.com>
80570
80571         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
80572         of copyright with `%s' so translators don't get an untranslated
80573         message in 2002.
80574         (COPYRIGHT_YEAR): Define.
80575         (version_etc): Use fprintf rather than fputs.
80576         Suggestion from Ulrich Drepper.
80577
80578         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
80579
80580         * lib/strtoll.c: New file, from GNU libc.
80581         * lib/xstrtoimax.c: New file.
80582
80583         * lib/xstrtol.h: Add xstrtoimax.
80584         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
80585         * lib/strtoimax.c: New file.  Likewise, but first define
80586         STRTOUXMAX_SIGNED.
80587
80588         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
80589         ...
80590         * lib/strtoxmax.c: ... then renamed to this.
80591
80592 2001-08-18  Paul Eggert  <eggert@twinsun.com>
80593
80594         * m4/inttypes.m4: Add AC_PREREQ(2.13).
80595         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
80596         (jm_AC_TYPE_INTMAX_T): New macro.
80597         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
80598
80599         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
80600
80601         * m4/longlong.m4: Renamed from ulonglong.m4.
80602         * m4/inttypes.m4: Renamed from inttypes_h.m4.
80603         * m4/uintmax_t.m4: Removed.
80604
80605 2001-08-13  Paul Eggert  <eggert@twinsun.com>
80606
80607         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
80608         Port to Solaris 8, where 'sed' requires a space after the 'r'
80609         command, and where sh dislikes "$/".  Clean up the spacing a bit.
80610         Redirect output to $tmp just once.
80611
80612 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
80613
80614         * lib/addext.c (<errno.h>): Include.
80615         (errno): Declare if not defined.
80616         (addext): Work correctly when pathconf returns -1 and leaves
80617         errno alone because there is no limit.  Also, work even if
80618         pathconf returns a value greater than SIZE_MAX.
80619
80620 2001-08-12  Jim Meyering  <meyering@lucent.com>
80621
80622         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
80623         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
80624         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
80625         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
80626         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
80627         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
80628         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
80629         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
80630         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
80631         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
80632         utime.m4, utimes.m4, xstrtoumax.m4:
80633         Quote the first argument in each use of AC_DEFUN.
80634
80635 2001-08-12  Jim Meyering  <meyering@lucent.com>
80636
80637         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
80638         Simply `return getcwd (NULL, 0);'.
80639         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
80640         Use 1300 as initial value for length, not PATH_MAX.
80641
80642         * lib/pathmax.h: Clean up cpp syntax.
80643
80644 2001-08-12  Jim Meyering  <meyering@lucent.com>
80645
80646         * lib/gettimeofday.c: New file.
80647         * lib/gtod.h: New file.
80648         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
80649
80650 2001-08-05  Jim Meyering  <meyering@lucent.com>
80651
80652         * m4/jm-macros.m4: Require autoconf-2.52.
80653
80654 2001-08-04  Jim Meyering  <meyering@lucent.com>
80655
80656         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
80657         stmt, to get in sync with glibc.
80658
80659 2001-08-03  Paul Eggert  <eggert@twinsun.com>
80660
80661         The following changes are from gettext 0.10.39 as maintained by
80662         Bruno Haible.
80663
80664         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
80665         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
80666         with inverted sense.  All uses changed.
80667
80668         * lib/mbswidth.c: Don't include <limits.h>.
80669         Include <stdlib.h> and <string.h> unconditionally.
80670         (iswcntrl, mbsinit, ISCNTRL): New macros.
80671         (mbsnwidth): Use K&R style function declarations.
80672         Don't bother checking for MB_LEN_MAX == 1, since the compiler
80673         can optimize it when MB_CUR_MAX == 1.
80674         The width of control characters is zero, not 1.
80675
80676 2001-08-03  Paul Eggert  <eggert@twinsun.com>
80677
80678         The following changes are from gettext 0.10.39 as maintained by
80679         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
80680
80681         * m4/codeset.m4: Upgrade to serial AM1.
80682         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
80683         all uses changed.  Quote first arg of AC_DEFUN.
80684         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
80685
80686         * m4/iconv.m4: Upgrade to serial AM2.
80687         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
80688         Add --with-libconv-prefix.
80689         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
80690         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
80691         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
80692         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
80693         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
80694
80695         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
80696         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
80697         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
80698         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
80699         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
80700         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
80701         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
80702         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
80703         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
80704
80705         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
80706         string.h any more.
80707
80708         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
80709         not the default value.
80710
80711         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
80712         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
80713         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
80714         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
80715         Also check for iswcntrl, used for wcwidth fallback.
80716         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
80717         to Autoconf 2.13.
80718
80719 2001-08-03  Jim Meyering  <meyering@lucent.com>
80720
80721         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
80722         as it was in the original.  Reported by Paul Eggert.
80723
80724 2001-07-16  Jim Meyering  <meyering@lucent.com>
80725
80726         * m4/gettimeofday.m4: New file.
80727         Prompted by a report from Bernhard Baehr.
80728
80729 2001-07-15  Jim Meyering  <meyering@lucent.com>
80730
80731         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
80732         stuff. Now it's in ../Makefile.cfg.
80733
80734 2001-07-15  Jim Meyering  <meyering@lucent.com>
80735
80736         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
80737         (BUILT_SOURCES): Add unlocked-io.h.
80738         (io_functions): Define.
80739         (unlocked-io.h): New rule.
80740         (DISTCLEANFILES): Add unlocked-io.h.
80741         (all-local): Depend on unlocked-io.h, to ensure it is created.
80742
80743         * lib/unlocked-io.hin: New file
80744
80745         * lib/regex.c: Update from glibc.
80746
80747 2001-07-05  Jim Meyering  <meyering@lucent.com>
80748
80749         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
80750         recommendation.
80751         (libfetish_a_SOURCES): Put all .h files here instead.
80752         Remove a thus-exposed (better checks in automake) duplicate and
80753         two unnecessary .h files.
80754
80755 2001-07-04  Jim Meyering  <meyering@lucent.com>
80756
80757         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
80758         that generates jm-glibc-io.m4 so that it doesn't trigger any make
80759         distcheck failure.
80760
80761 2001-07-02  Jim Meyering  <meyering@lucent.com>
80762
80763         The following changes were prompted by suggestions from Bruno Haible.
80764
80765         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
80766         is now generated.
80767         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
80768         definition of EXTRA_DIST.
80769         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
80770         ensure that the generated file is created/updated whenever the list
80771         of $(unlocked_functions) is changed.
80772         (jm-glibc-io.m4): New rule.
80773         (unlocked-io.h): New rule -- currently unused.
80774
80775 2001-06-24  Jim Meyering  <meyering@lucent.com>
80776
80777         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
80778         unmatched right bracket, rather than kludging it with an extra,
80779         falsely-matching quote in a comment.  Patch by Akim Demaille.
80780
80781 2001-06-11  Jim Meyering  <meyering@lucent.com>
80782
80783         * lib/regex.c: Update from GNU libc.
80784
80785 2001-05-27  Jim Meyering  <meyering@lucent.com>
80786
80787         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
80788         Check for ut_type in struct utmp.
80789
80790 2001-05-27  Jim Meyering  <meyering@lucent.com>
80791
80792         * lib/readutmp.h (UT_TYPE): Define.
80793
80794 2001-05-24  Jim Meyering  <meyering@lucent.com>
80795
80796         * lib/argmatch.c: Include "quote.h".
80797         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
80798         quote function.  Reported by Göran Uddeborg.
80799
80800 2001-05-22  Jim Meyering  <meyering@lucent.com>
80801
80802         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
80803         now that we use the package-supplied version unconditionally.
80804         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
80805
80806 2001-05-21  Jim Meyering  <meyering@lucent.com>
80807
80808         * m4/regex.m4: Change a couple backticks to single quotes to avoid
80809         shell syntax errors.
80810
80811 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
80812
80813         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
80814
80815 2001-05-20  Paul Eggert  <eggert@twinsun.com>
80816
80817         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
80818         Don't bother to check library strftime, since
80819         we'll be using our own my_strftime function anyway.
80820         Define my_strftime instead of strftime.
80821
80822 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
80823
80824         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
80825         which is not yet declared.
80826
80827 2001-05-15  Jim Meyering  <meyering@lucent.com>
80828
80829         * m4/regex.m4: Use proper quoting so brackets appear in the test
80830         program.
80831         Reported by, and with help from, Bruno Haible.
80832
80833 2001-05-13  Jim Meyering  <meyering@lucent.com>
80834
80835         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
80836         undefined.
80837
80838 2001-05-11  Paul Eggert  <eggert@twinsun.com>
80839
80840         dirname code cleanup.  base_name now behaves more compatibly
80841         with POSIX basename when given file names that have trailing
80842         slashes, and similarly for dir_name.  Add new primitives
80843         base_len and dir_len.  Put the directory-name-related decls
80844         into dirname.h.
80845
80846         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
80847         * lib/backupfile.c (base_name): Likewise.
80848         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
80849         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
80850         * lib/makepath.c (strip_trailing_slashes): Likewise.
80851         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
80852         ISSLASH): Likewise.
80853         * lib/rename.c (strip_trailing_slashes): Likewise.
80854         * lib/same.c (base_name): Likewise.
80855         * lib/stripslash.c (ISSLASH): Likewise.
80856
80857         * lib/addext.c: Include <dirname.h> after size_t is defined.
80858         * lib/backupfile.c: Likewise.
80859
80860         * lib/addext.c (addext): Use base_len to trim redundant
80861         trailing slashes instead of doing it ourselves.
80862         But do not trim the last slash if it is not redundant.
80863
80864         * lib/backupfile.c (find_backup_file_name,
80865         max_backup_version): Use base_len instead of rolling it ourselves.
80866         Handle the case of "" and (on DOS) "C:" correctly.
80867
80868         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
80869         needed. Include <string.h>, <dirname.h>.
80870         (base_name): Allow file names ending in slashes, other than names
80871         that are all slashes.  In this case, return the basename followed
80872         by the slashes.  This is more general, and can be used in places
80873         where the original base_name purposely had an assertion failure.
80874         (base_len): New function.
80875
80876         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
80877         Do not include <assert.h>; no longer needed.
80878         Include xalloc.h.
80879         (memrchr): Remove decl.
80880         (dir_name_r): Remove.
80881         (dir_len): Renamed from dirlen.  All callers changed.
80882         Rewrite in terms of base_name, for simplicity and consistency.
80883         (dir_name): Never return NULL.  All callers changed.
80884         Do not include <stdlib.h> in test program; no longer needed.
80885         return 0; is fine for test program.
80886
80887         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
80888         New macros.
80889         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
80890
80891         * lib/path-concat.c (path_concat): Use base_len to compute
80892         base length, not strlen; this means we cannot rely on memcpy
80893         to null-terminate.
80894
80895         * lib/same.c (STREQ): Remove.
80896         (same_name): Handle the case where the basename ends in trailing '/'.
80897
80898         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
80899         a slash was stripped.  Do not strip the last slash after a
80900         file system prefix.
80901
80902 2001-05-11  Paul Eggert  <eggert@twinsun.com>
80903
80904         * lib/Makefile.am (libfetish_a_SOURCES):
80905         Add strftime.c, since we now compile it on all hosts.
80906
80907         * lib/strftime.c (my_strftime):
80908         Define to nstrftime if emacs, but only if my_strftime is not defined.
80909         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
80910         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
80911         Add one more extra argument: a nanoseconds value.
80912         All uses changed.
80913         (ns): New macro.
80914         (my_strftime function): Add %N format.
80915         (emacs_strftimeu): Renamed from emacs_strftime,
80916         with extra ut argument.
80917
80918 2001-05-09  Paul Eggert  <eggert@twinsun.com>
80919
80920         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
80921
80922 2001-04-21  Jim Meyering  <meyering@lucent.com>
80923
80924         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
80925         doesn't interfere.
80926
80927 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
80928
80929         * m4/ftruncate.m4: Check for chsize.
80930         Link with ftruncate.o unconditionally if ftruncate is missing.
80931         This was required when cross-compiling to i586-mingw32msvc.
80932
80933 2001-04-08  Jim Meyering  <meyering@lucent.com>
80934
80935         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
80936         recomputed; that's necessary when the offset spans a DST transition.
80937         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
80938
80939 2001-04-02  Jim Meyering  <meyering@lucent.com>
80940
80941         * lib/regex.h, regex.c: Update from GNU libc.
80942
80943 2001-03-24  Jim Meyering  <meyering@lucent.com>
80944
80945         * m4/jm-macros.m4: Require autoconf-2.49d.
80946
80947 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
80948
80949         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
80950
80951 2001-03-19  Paul Eggert  <eggert@twinsun.com>
80952
80953         * lib/version-etc.c (version_etc_copyright): Update to 2001.
80954
80955 2001-03-17  Jim Meyering  <meyering@lucent.com>
80956
80957         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
80958         now that the version in autoconf is equivalent.
80959         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
80960
80961         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
80962         Suggestion from Akim Demaille.
80963
80964         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
80965         (jm_PREREQ_TEMPNAME): New function.
80966
80967 2001-03-16  Paul Eggert  <eggert@twinsun.com>
80968
80969         * lib/tempname.c (uint64_t): Define to uintmax_t if
80970         not defined, and if UINT64_MAX is not defined.
80971         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
80972         Reported by John David Anglin.
80973
80974 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
80975
80976         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
80977         resolve alias if codeset is empty.
80978         * lib/config.charset (BeOS): Use wildcard syntax.
80979
80980 2001-03-13  Jim Meyering  <meyering@lucent.com>
80981
80982         * lib/path-concat.c (path_concat)
80983         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
80984         concatenating e.g., `C:' and `foo'.
80985         From Bruno Haible.
80986
80987 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
80988
80989         * lib/localcharset.c (locale_charset): Don't use
80990         setlocale(LC_CTYPE,NULL). Don't return NULL.
80991         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
80992
80993 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
80994
80995         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
80996         support for DOS/DJGPP.
80997
80998 2001-03-01  Paul Eggert  <eggert@twinsun.com>
80999
81000         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
81001         lacks mkstemp.  Compile our own tempname.c if we compile our own
81002         mkstemp.c, as mkstemp relies on tempname.
81003
81004 2001-03-01  Jim Meyering  <meyering@lucent.com>
81005
81006         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
81007         AH_VERBATIM really does output its argument verbatim.
81008
81009 2001-02-28  Paul Eggert  <eggert@twinsun.com>
81010
81011         * lib/Makefile.am (libfetish_a_SOURCES):
81012         Add dup-safer.c, fopen-safer.c.
81013         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
81014
81015         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
81016         * lib/unistd-safer.h: New files.
81017
81018 2001-02-25  Paul Eggert  <eggert@twinsun.com>
81019
81020         The mkstemp replacement is taken from glibc 2.2.2, with some
81021         portability fixes for use outside glibc, as follows:
81022
81023         * lib/tempname.c (struct_stat64): New macro.
81024         (direxists, __gen_tempname): Use it.
81025         This avoids a portability problem with Solaris 8.
81026
81027         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
81028         (<stddef.h>, <stdint.h>, <string.h>):
81029         Include only if STDC_HEADERS || _LIBC.
81030         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
81031         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
81032         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
81033         (__set_errno): Define this macro if <errno.h> doesn't.
81034         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
81035         Define these macros if <stdio.h> doesn't.
81036         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
81037         Define these macros if <sys/stat.h>
81038         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
81039         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
81040         __xstat64): Define if not _LIBC.
81041         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
81042         (__gen_tempname): Invoke gettimeofday only if
81043         HAVE_GETTIMEOFDAY || _LIBC;
81044         otherwise, fall back on plain "time".
81045         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
81046
81047         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
81048
81049         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
81050
81051 2001-02-18  Paul Eggert  <eggert@twinsun.com>
81052
81053         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
81054
81055 2001-02-17  Paul Eggert  <eggert@twinsun.com>
81056
81057         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
81058         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
81059         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
81060         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
81061
81062 2001-02-17  Paul Eggert  <eggert@twinsun.com>
81063
81064         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
81065         Remove workaround macros for hosts that have mbrtowc but not
81066         mbstate_t, as we now insist on proper declarations for both
81067         before using mbrtowc.
81068
81069 2001-02-17  Jim Meyering  <meyering@lucent.com>
81070
81071         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
81072         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
81073         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
81074         UnixWare 7.1.1.
81075
81076         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
81077         rather than AC_CACHE_VAL.
81078
81079 2001-02-17  Jim Meyering  <meyering@lucent.com>
81080
81081         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
81082         around included file name.
81083
81084         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
81085
81086         * lib/strftime.c: Update from GNU libc (the only changes were to
81087         comments).
81088
81089 2001-02-17  Jim Meyering  <meyering@lucent.com>
81090
81091         * lib/regex.c: Update from libc.
81092
81093 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
81094
81095         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
81096         clash.
81097
81098 2001-02-16  Paul Eggert  <eggert@twinsun.com>
81099
81100         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
81101         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
81102         Reported by Mark Hounschell via Paul Eggert.
81103
81104 2001-02-07  Jim Meyering  <meyering@lucent.com>
81105
81106         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
81107
81108 2001-02-05  Jim Meyering  <meyering@lucent.com>
81109
81110         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
81111         it includes the patch required for `large file' support with at least
81112         HP-UX's 10.20 /bin/cc.
81113
81114 2001-02-03  Jim Meyering  <meyering@lucent.com>
81115
81116         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
81117         AS_IF, now that it works once again (mysteriously).
81118         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
81119
81120 2001-01-30  Jim Meyering  <meyering@lucent.com>
81121
81122         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
81123         * m4/chown.m4: Rename conftestchown to conftest.chown.
81124         * m4/rename.m4: s/conftestdir/conftest.d1/ and
81125         s/conftestdir2/conftest.d2/.
81126         * m4/utimes.m4: s/conftestdata/conftest.data/
81127         Inspired by Pavel Roskin's change in autoconf.
81128
81129 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
81130
81131         * lib/config.charset: Update for FreeBSD 4.2.
81132
81133 2001-01-27  Jim Meyering  <meyering@lucent.com>
81134
81135         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
81136         a use of AS_IF.
81137         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
81138
81139 2001-01-26  Jim Meyering  <meyering@lucent.com>
81140
81141         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
81142         quotearg.c includes it.
81143
81144 2001-01-26  Jim Meyering  <meyering@lucent.com>
81145
81146         * lib/quotearg.c: Include stddef.h.
81147         * lib/quote.c: Include stddef.h.
81148         Reported by Axel Kittenberger.
81149
81150         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
81151         line in double quotes so that it evokes a better diagnostic.
81152         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
81153         Reported by Axel Kittenberger.
81154
81155 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
81156
81157         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
81158         as if it was a `charset'.
81159
81160 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
81161
81162         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
81163         has const.
81164
81165 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
81166
81167         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
81168         to avoid a warning.  Add back 'const' to inptr.
81169
81170 2001-01-20  Jim Meyering  <meyering@lucent.com>
81171
81172         Be sure that headers are checked before used in code compiled
81173         for the type checks.
81174         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
81175         In place of that, invoke jm_CHECK_ALL_TYPES.
81176         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
81177         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
81178         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
81179         The check for ssize_t was mistakenly run before the test for unistd.h.
81180
81181         The configure-time check for stdbool.h was missing.
81182         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
81183         (jm_PREREQ_HASH): New function.
81184
81185 2001-01-17  Jim Meyering  <meyering@lucent.com>
81186
81187         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
81188         for autoconf-2.49c.
81189         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
81190
81191 2001-01-16  Jim Meyering  <meyering@lucent.com>
81192
81193         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
81194         From Bruno Haible.
81195
81196 2001-01-14  Jim Meyering  <meyering@lucent.com>
81197
81198         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
81199         foo and bar.  Create conftestdir/ in the script, not in the C code.
81200         Remove directories in the script, not in the C code.
81201         Remove conftestdir{,2} before trying to create the directory.
81202         Make the entire configure script fail if the mkdir fails.
81203
81204 2001-01-14  Jim Meyering  <meyering@lucent.com>
81205
81206         * lib/rename.c: New file.  From Volker Borchert.
81207         Include stdlib.h, string.h or strings.h, and xalloc.h.
81208         Use strip_trailing_slashes rather than open-coding it.
81209
81210 2001-01-03  Paul Eggert  <eggert@twinsun.com>
81211
81212         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
81213
81214 2001-01-03  Jim Meyering  <meyering@lucent.com>
81215
81216         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
81217         of local `inptr' to avoid warning with some system declarations of
81218         iconv.
81219
81220 2001-01-02  Volker Borchert  <bt@teknon.de>
81221
81222         * m4/rename.m4: New file.
81223         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
81224
81225 2001-01-01  Jim Meyering  <meyering@lucent.com>
81226
81227         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
81228         even on systems with utmpx.h.  It's necessary for the declaration of
81229         utmp's ut_user member.  Reported by Andreas Jaeger.
81230
81231         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
81232         available. They are required for the declarations of getgrgid and
81233         getpwuid resp.
81234         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
81235         Reported by Andreas Jaeger.
81236
81237 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
81238
81239         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
81240         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
81241         so `make install' also works in VPATH builds.
81242
81243 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
81244
81245         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
81246         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
81247         can be used in subdirectories.
81248
81249 2000-12-29  Paul Eggert  <eggert@twinsun.com>
81250
81251         * lib/modechange.c: Do not assume that mode_t uses the
81252         traditional octal encoding.  E.g. "chmod 1 FOO" should set
81253         the other-execute bit of FOO even if S_IXOTH != 1.
81254
81255         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
81256         WOTH, XOTH, ALLM): New macros.
81257         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
81258          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
81259         Use them.
81260         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
81261         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
81262         (mode_compile):
81263         No need to use uintmax_t; unsigned long is long enough.
81264         Don't bother to get suffix since we don't use it.
81265
81266 2000-12-26  Jim Meyering  <meyering@lucent.com>
81267
81268         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
81269         better with autoheader.
81270
81271 2000-12-24  Jim Meyering  <meyering@lucent.com>
81272
81273         * lib/hash.c (is_prime): Return explicit boolean values.
81274         (hash_get_first): Return NULL to appease Irix5.6's 89.
81275         Reported by Nelson Beebe.
81276
81277 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
81278
81279         * lib/localcharset.c (locale_charset): Add support for Win32.
81280
81281 2000-12-18  Paul Eggert  <eggert@twinsun.com>
81282
81283         * lib/physmem.h, lib/physmem.c: New files.
81284
81285         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
81286         (noinst_HEADERS): Add physmem.h.
81287
81288         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
81289         't' for compatibility with Solaris 8 sort.
81290
81291 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
81292
81293         * lib/config.charset: Add support for BeOS.
81294
81295 2000-12-17  Jim Meyering  <meyering@lucent.com>
81296
81297         * m4/dos.m4 (jm_AC_DOS): New file and macro.
81298         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
81299
81300 2000-12-16  Jim Meyering  <meyering@lucent.com>
81301
81302         This bug had a serious impact on chown: `chown N:M FILE' (for integer
81303         N and M) would have treated it like `chown N:N FILE'.
81304
81305         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
81306
81307 2000-12-16  Jim Meyering  <meyering@lucent.com>
81308
81309         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
81310         SHELLS_FILE to a file name that's useful on djgpp systems.
81311         Include stdlib.h.
81312         (ADDITIONAL_DEFAULT_SHELLS): Define.
81313         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
81314         Based mostly on a patch from Prashant TR.
81315
81316 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
81317
81318         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
81319         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
81320         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
81321
81322 2000-12-08  Andreas Schwab  <schwab@suse.de>
81323
81324         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
81325         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
81326
81327 2000-12-07  Jim Meyering  <meyering@lucent.com>
81328
81329         * lib/stripslash.c (ISSLASH): Define.
81330         (strip_trailing_slashes): Use ISSLASH rather than comparing against
81331         `/'.
81332         From Prashant TR.
81333
81334         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
81335         (dir_name_r): Declare this function as static.
81336         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
81337         manifest itself on a name containing a mix of slashes and
81338         backslashes.
81339         Make this function work with names starting with a DOS-style
81340         drive letter and colon prefix.
81341         (dir_name): Append `.' if necessary.
81342         Based mostly on patches from Prashant TR and Eli Zaretskii.
81343
81344         * lib/dirname.h (dir_name_r): Remove prototype.
81345
81346 2000-12-06  Paul Eggert  <eggert@twinsun.com>
81347
81348         * m4/off_t-format.m4: Remove this file.
81349         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
81350
81351 2000-12-06  Jim Meyering  <meyering@lucent.com>
81352
81353         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
81354         replacement strtoull, we may well need the replacement strtoul, too.
81355         Check for declarations of strtoul and strtoull.
81356         Check for strtol.  Mainly as a cue to cause automake to include
81357         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
81358         Check for limits.h -- strtol.c needs it.
81359
81360 2000-12-05  Jim Meyering  <meyering@lucent.com>
81361
81362         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
81363
81364 2000-12-04  Jim Meyering  <meyering@lucent.com>
81365
81366         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
81367         Also include memory.h, stdlib.h, unistd.h if appropriate.
81368         Reported by Andreas Jaeger (conflicting declaration of malloc).
81369
81370 2000-12-02  Jim Meyering  <meyering@lucent.com>
81371
81372         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
81373         * m4/jm-macros.m4 (jm_MACROS): require it.
81374
81375 2000-12-02  Jim Meyering  <meyering@lucent.com>
81376
81377         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
81378
81379 2000-12-01  Paul Eggert  <eggert@twinsun.com>
81380
81381         * lib/memrchr.c: Include <config.h> before any system include file.
81382
81383 2000-11-30  Jim Meyering  <meyering@lucent.com>
81384
81385         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
81386
81387 2000-11-30  Jim Meyering  <meyering@lucent.com>
81388
81389         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
81390
81391 2000-11-29  Paul Eggert  <eggert@twinsun.com>
81392
81393         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
81394
81395 2000-11-26  Jim Meyering  <meyering@lucent.com>
81396
81397         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
81398
81399 2000-11-22  Paul Eggert  <eggert@twinsun.com>
81400
81401         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
81402         size of (size_t) -1; it's not portable.
81403
81404 2000-11-17  Jim Meyering  <meyering@lucent.com>
81405
81406         * lib/strstr.c: Update from GNU libc.
81407
81408 2000-11-17  Akim Demaille  <akim@epita.fr>
81409
81410         * lib/obstack.h: Formatting changes.
81411         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
81412         prevent type checking.
81413         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
81414         cast the value to (void *): assigning a `foo *' to a `void *'
81415         variable is valid.
81416         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
81417
81418 2000-11-16  Jim Meyering  <meyering@lucent.com>
81419
81420         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
81421
81422 2000-11-11  Jim Meyering  <meyering@lucent.com>
81423
81424         * lib/error.c: Add a couple #includes, merging from GNU libc version.
81425
81426 2000-11-10  Jim Meyering  <meyering@lucent.com>
81427
81428         * lib/obstack.h: Update from GNU libc.
81429         * lib/obstack.c: Likewise.
81430
81431 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
81432
81433         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
81434
81435 2000-11-06  Paul Eggert  <eggert@twinsun.com>
81436
81437         * lib/getusershell.c (setusershell): Use rewind rather than
81438         fseek/fseeko, to avoid configuration hassles with fseeko.
81439         Don't bother opening SHELLS_FILE if shellstream is NULL;
81440         it's not necessary.
81441
81442 2000-11-05  Jim Meyering  <meyering@lucent.com>
81443
81444         * lib/makepath.h (make_dir): Declare.
81445         * lib/makepath.c (make_dir): Remove `static' attribute.
81446         Tweak a comment.
81447
81448 2000-11-04  Jim Meyering  <meyering@lucent.com>
81449
81450         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
81451
81452 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
81453
81454         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
81455         last one in a bucket, advance to the next bucket.
81456
81457 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
81458
81459         * lib/fnmatch.c: Do not comment out all the code if we are using
81460         the GNU C library, because in some cases we are replacing buggy
81461         code in the GNU C library itself.
81462
81463 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
81464
81465         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
81466         (regex_compile): Catch bogus \(\1\).
81467
81468 2000-10-30  Paul Eggert  <eggert@twinsun.com>
81469
81470         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
81471         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
81472         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
81473
81474 2000-10-30  Paul Eggert  <eggert@twinsun.com>
81475
81476         * lib/error.h, getline.h, modechange.h:
81477         Remove "2000" from Copyright line, as the file hasn't been
81478         changed this year other than in the copyright notice.
81479
81480         * lib/xalloc.h: Add "2000" to Copyright line, as this file
81481         was changed this year.
81482
81483 2000-10-29  Jim Meyering  <meyering@lucent.com>
81484
81485         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
81486         renaming.
81487         * m4/ls-mntd-fs.m4: Likewise
81488
81489 2000-10-29  Jim Meyering  <meyering@lucent.com>
81490
81491         * lib/xstat.in: Fix grammar in comment.
81492
81493 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
81494
81495         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
81496         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
81497         doesn't define __restrict_arr.
81498
81499 2000-10-28  Jim Meyering  <meyering@lucent.com>
81500
81501         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
81502         (jm_PREREQ_MEMCHR): New function.
81503
81504 2000-10-28  Jim Meyering  <meyering@lucent.com>
81505
81506         * lib/memchr.c: Update from libc.
81507         Adjust for portability:
81508         [HAVE_STDLIB_H]: Include stdlib.h.
81509         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
81510         Undef __memchr, too.
81511         [!weak_alias]: Define __memchr to memchr.
81512
81513         * lib/regex.c: Update from libc.
81514         * lib/regex.h: Likewise.
81515         * lib/getopt1.c: Likewise.
81516         * lib/memcmp.c: Likewise.
81517
81518         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
81519         Avoid using fseek, when possible -- it's broken by design.
81520         Patch by Ulrich Drepper.
81521
81522 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
81523
81524         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
81525         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
81526         Giving in to popular pressure to shut up the compiler with casts.
81527
81528 2000-10-26  Jim Meyering  <meyering@lucent.com>
81529
81530         * lib/strftime.c: Update from libc.
81531
81532 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
81533
81534         * regex.c: More `unsigned char' -> `re_char' changes.
81535         Also change several `int' into `re_wchar_t'.
81536         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
81537         (PUSH_FAILURE_POINTER): Don't cast any more.
81538         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
81539         We want GCC to complain, since this piece of code makes
81540         re_match non-reentrant, which *should* be fixed.
81541         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
81542         (EXTEND_BUFFER): Use RETALLOC.
81543         (SET_LIST_BIT): Don't cast.
81544         (re_wchar_t): New type.
81545         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
81546         that those two functions will always properly return.
81547         (IMMEDIATE_QUIT_CHECK): Cast to void.
81548         (analyse_first): Use recursion rather than an explicit stack.
81549         (re_compile_fastmap): Can't fail anymore.
81550         (re_search_2): Don't check re_compile_fastmap for failure.
81551         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
81552         Now also sets the new value (passed in a new argument).
81553         (re_match_2_internal): Use it.
81554         Also, use a new var `reg' of type size_t when looping through regs
81555         rather than reuse the inappropriate `mcnt'.
81556
81557 2000-10-25  Jim Meyering  <meyering@lucent.com>
81558
81559         * lib/obstack.c: Update from libc.
81560
81561 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
81562
81563         * regex.c (regex_compile): Change the way of handling a range from
81564         a char less than 256 to a char not less than 256.
81565
81566 2000-10-24  Andrew Innes  <andrewi@gnu.org>
81567
81568         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
81569         NT-Emacs only.
81570         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
81571         so that re_search functions only quit when callers expect them to.
81572
81573 2000-10-23  Jim Meyering  <meyering@lucent.com>
81574
81575         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
81576         wrong.  That set_locale call must not have any side effects.
81577         From Paul Eggert.
81578
81579 2000-10-22  Jim Meyering  <meyering@lucent.com>
81580
81581         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
81582         [CYCLIC]: Remove now-unused definition.
81583
81584         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
81585         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
81586         Suggestion from Ulrich Drepper.
81587
81588 2000-10-21  Jim Meyering  <meyering@lucent.com>
81589
81590         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
81591         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
81592         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
81593
81594 2000-10-21  Jim Meyering  <meyering@lucent.com>
81595
81596         * lib/dirname.c (memrchr): Declare if necessary.
81597         (dir_name): Remove the restriction that there be no
81598         trailing slashes.  Now, this code skips past them, effectively
81599         ignoring them.
81600         [TEST_DIRNAME] (main): New unit tests.
81601
81602         * lib/memrchr.c: New file from GNU libc.
81603         Undef __memrchr, too.
81604         [!weak_alias]: Define __memrchr to memrchr.
81605         Guard weak_alias use with `#ifdef weak_alias'.
81606
81607 2000-10-21  Jim Meyering  <meyering@lucent.com>
81608
81609         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
81610         (dir_name): Use dir_name_r.
81611         * lib/dirname.h (dir_name_r): Declare it.
81612
81613 2000-10-17  Jim Meyering  <meyering@lucent.com>
81614
81615         * lib/quote.h (PARAMS): Define and use.
81616         Reported by Akim Demaille.
81617
81618         * lib/getopt.c: Update from libc.
81619
81620 2000-10-16  Jim Meyering  <meyering@lucent.com>
81621
81622         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
81623         setlocale.
81624         From Jan Fedak.
81625
81626 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
81627
81628         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
81629
81630 2000-09-25  Jim Meyering  <meyering@lucent.com>
81631
81632         * lib/md5.h (rol): Define (from GnuPG).
81633
81634         * lib/sha.c: Give credit (GnuPG) where due.
81635         (M): Use rol rather than open-coding it.
81636         Add a FIXME comment.
81637
81638 2000-09-21  Jim Meyering  <meyering@lucent.com>
81639
81640         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
81641         Reported by Michael Stone.
81642
81643 2000-09-20  Jim Meyering  <meyering@lucent.com>
81644
81645         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
81646         (noinst_HEADERS): Add sha.h.
81647         Based on code from Scott G. Miller and from GnuPG.
81648
81649 2000-09-18  Jim Meyering  <meyering@lucent.com>
81650
81651         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
81652         LIBS. Otherwise, everyone ends up linking with -lelf for some
81653         configurations.
81654         Reported by Mike Stone.
81655
81656 2000-09-15  Jim Meyering  <meyering@lucent.com>
81657
81658         * lib/regex.c: Update from libc.
81659
81660 2000-09-10  Jim Meyering  <meyering@lucent.com>
81661
81662         * lib/getopt.c (_getopt_internal): Update from glibc.
81663
81664 2000-09-09  Jim Meyering  <meyering@lucent.com>
81665
81666         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
81667         think it should be used as a general replacement for isascii.
81668         * lib/fnmatch.c: Likewise.
81669         * lib/mbswidth.c: Likewise
81670         * lib/regex.c: Likewise.
81671
81672         Don't use atoi.
81673         * lib/userspec.c: Include sys/param.h and limits.h.
81674         Include xstrtol.h.
81675         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
81676         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
81677         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
81678         UID, GID.  Check range.
81679
81680 2000-09-06  Jim Meyering  <meyering@lucent.com>
81681
81682         * lib/getopt.c (_getopt_internal): Update from glibc.
81683
81684 2000-08-30  Jim Meyering  <meyering@lucent.com>
81685
81686         * lib/strftime.c: Merge in changes from GNU libc.
81687
81688 2000-08-26  Jim Meyering  <meyering@lucent.com>
81689
81690         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
81691         * m4/fpending.m4: New file.
81692
81693 2000-08-26  Jim Meyering  <meyering@lucent.com>
81694
81695         * lib/closeout.c: Include "__fpending.h".
81696         (close_stdout_status): Return right away if there's nothing to flush.
81697
81698         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
81699         * lib/__fpending.c: New file.
81700         * lib/__fpending.h: New file.
81701
81702 2000-08-20  Jim Meyering  <meyering@lucent.com>
81703
81704         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
81705         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
81706         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
81707
81708 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
81709
81710         Improve fileutils installation on systems where running
81711         programs (like install) can't be unlinked.
81712         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
81713         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
81714
81715 2000-08-07  Paul Eggert  <eggert@twinsun.com>
81716
81717         Standardize on "memory exhausted" instead of "Memory exhausted"
81718         or "virtual memory exhausted".
81719         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
81720         "virtual memory exhausted".
81721         * lib/same.c (same_name): Invoke xalloc_die instead of printing
81722         our own message.
81723         * lib/userspec.c (parse_user_spec): Likewise.
81724         * lib/bumpalloc.h: comment fix
81725         * lib/same.c, userspec.c: Include xalloc.h.
81726
81727         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
81728         not char *const and pointing to a constant array.
81729         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
81730         (xrealloc): Comment fix.
81731
81732         * lib/userspec.c (parse_user_spec):
81733         Don't translate a message until just before returning,
81734         to avoid unnecessary translation.
81735
81736 2000-08-07  Jim Meyering  <meyering@lucent.com>
81737
81738         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
81739         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
81740         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
81741         getgroups.c, gethostname.c, getopt.h, group-member.c,
81742         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
81743         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
81744         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
81745         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
81746         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
81747         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
81748         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
81749         yesno.c: Back out Copyright date changes for each file with no change
81750         this year.  This eases coordination with other programs using the same
81751         source code modules.  From Paul Eggert.
81752
81753 2000-08-06  Paul Eggert  <eggert@twinsun.com>
81754
81755         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
81756         not char, for compatibility with glibc 2.1.3 strftime.c.
81757
81758 2000-08-03  Greg McGary  <greg@mcgary.org>
81759
81760         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
81761         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
81762         (EXTEND_BUFFER): Use them.
81763
81764 2000-08-01  Jim Meyering  <meyering@lucent.com>
81765
81766         * lib/dirname.c (ISSLASH): Define.
81767         (BACKSLASH_IS_PATH_SEPARATOR): Define.
81768         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
81769         both `\' and `/' may be use as path separators.
81770         Based on a patch from Prashant TR.
81771
81772 2000-07-31  Paul Eggert  <eggert@twinsun.com>
81773
81774         * lib/quotearg.c (quotearg_n_options): Don't make the initial
81775         slot vector a constant, since it might get modified.
81776
81777 2000-07-31  Jim Meyering  <meyering@lucent.com>
81778
81779         * lib/xmalloc.c: Use `virtual memory exhausted', not
81780         `Memory exhausted'.
81781         * lib/obstack.c (print_and_abort): Likewise.
81782
81783 2000-07-30  Paul Eggert  <eggert@twinsun.com>
81784
81785         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
81786         buffer, so that the caller can always quote one small
81787         component of a "memory exhausted" message in slot 0.
81788         From a suggestion by Jim Meyering.
81789
81790 2000-07-30  Jim Meyering  <meyering@lucent.com>
81791
81792         * lib/makepath.c (make_path): Quote the other instance, too.
81793
81794         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
81795         (STATIC_BUF_SIZE): Define.
81796         (quotearg_n_options): Use only statically allocated storage when
81797         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
81798         than STATIC_BUF_SIZE.
81799
81800 2000-07-29  Jim Meyering  <meyering@lucent.com>
81801
81802         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
81803         * lib/dirname.c (dir_name): Likewise.
81804
81805         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
81806         `/'.
81807
81808         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
81809         (dir_name): Assert that there are no trailing slashes.
81810
81811 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
81812
81813         * lib/mbswidth.h (mbswidth): Add a flags argument.
81814         (mbswidth): New declaration.
81815         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
81816         * lib/mbswidth.c (mbswidth): Add a flags argument.
81817         (mbsnwidth): New function.
81818
81819 2000-07-24  Jim Meyering  <meyering@lucent.com>
81820
81821         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
81822
81823 2000-07-23  Paul Eggert  <eggert@twinsun.com>
81824
81825         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
81826
81827 2000-07-23  Paul Eggert  <eggert@twinsun.com>
81828
81829         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
81830         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
81831         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
81832         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
81833         invoke multibyte primitives.
81834
81835 2000-07-23  Paul Eggert  <eggert@twinsun.com>
81836
81837         * lib/quotearg.c:
81838         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
81839         so that mbstate_t is always defined.
81840
81841         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
81842         be 1 in at least one GCC installation, and this configuration
81843         error is likely to be common.  Ignoring MB_LEN_MAX hurts
81844         performance on hosts that have mbrtowc but have only unibyte
81845         locales, but I assume these hosts are rare.
81846
81847 2000-07-23  Paul Eggert  <eggert@twinsun.com>
81848
81849         * lib/mbswidth.c (_XOPEN_SOURCE):
81850         Don't define; this causes problems on Solaris 7.
81851         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
81852
81853 2000-07-23  Jim Meyering  <meyering@lucent.com>
81854
81855         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
81856         too: getgrgid, getpwuid, getuid.
81857
81858 2000-07-23  Jim Meyering  <meyering@lucent.com>
81859
81860         * lib/basename.c (base_name): Add an assertion.
81861
81862 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
81863
81864         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
81865         shadow its mbsinit function.
81866
81867 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
81868
81869         * lib/mbswidth.h: New file.
81870         * lib/mbswidth.c: New file.
81871         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
81872         (noinst_HEADERS): Add mbswidth.h.
81873
81874 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
81875
81876         * lib/config.charset: Add support for FreeBSD. Improve support for
81877         HP-UX and IRIX 6.
81878
81879 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
81880
81881         * m4/mbswidth.m4: New file.
81882         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
81883
81884 2000-07-15  Jim Meyering  <meyering@lucent.com>
81885
81886         * lib/makepath.c: Include quote.h.
81887         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
81888         corresponding argument in a `quote (...)' call.
81889         Give better diagnostics.
81890
81891         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
81892         (noinst_HEADERS): Add quote.h.
81893
81894         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
81895         from tar's src/misc.c.
81896         * lib/quote.h: New file.  Prototypes for same.
81897
81898 2000-07-14  Paul Eggert  <eggert@twinsun.com>
81899
81900         From a suggestion by Bruno Haible.
81901         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
81902         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
81903         to decide whether to define the BeOS workaround macro;
81904         this adjusts to the change to AC_MBSTATE_T.
81905
81906 2000-07-14  Jim Meyering  <meyering@lucent.com>
81907
81908         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
81909         jm_AC_TYPE_UINTMAX_T.
81910
81911 2000-07-13  Paul Eggert  <eggert@twinsun.com>
81912
81913         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
81914
81915         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
81916         quotearg_buffer_restyled): Add support for
81917         clocale_quoting_style.  Undo previous change to
81918         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
81919         and "{RIGHT QUOTATION MARK}" msgids.
81920
81921 2000-07-10  Paul Eggert  <eggert@twinsun.com>
81922
81923         From a suggestion by Bruno Haible.
81924         * m4/mbstate_t.m4 (AC_MBSTATE_T):
81925         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
81926         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
81927         and mbstate_t, to a single-part test that simply defines mbstate_t.
81928         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
81929         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
81930
81931 2000-07-10  Jim Meyering  <meyering@lucent.com>
81932
81933         * m4/strerror_r.m4: Mirror the correction made in autoconf.
81934
81935         * m4/gnu-source.m4: Output to confdefs.h directly.
81936         Suggestion from Akim Demaille.
81937
81938 2000-07-09  Paul Eggert  <eggert@twinsun.com>
81939
81940         The old behavior of quoting `like this' doesn't look good with
81941         newer, ISO-style fonts.  See:
81942         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
81943
81944         Instead, quote "like this" by default.  Let the translator
81945         tailor the locale-specific quoting behavior by providing
81946         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
81947
81948         * lib/quotearg.c (N_): New macro.
81949         (gettext_default): New function.
81950         (quotearg_buffer_restyled): Use
81951         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
81952         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
81953
81954 2000-07-09  Jim Meyering  <meyering@lucent.com>
81955
81956         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
81957         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
81958
81959         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
81960         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
81961
81962 2000-07-09  Jim Meyering  <meyering@lucent.com>
81963
81964         * lib/Most files: Update copyright dates to include 2000.
81965
81966 2000-07-08  Jim Meyering  <meyering@lucent.com>
81967
81968         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
81969         if not defined.
81970         (xgethostname): Remove now-unnecessary #ifdef.
81971         Move declaration of `err' into loop where it's used.
81972
81973 2000-07-05  Paul Eggert  <eggert@twinsun.com>
81974         and Bruno Haible  <haible@clisp.cons.org>
81975
81976         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
81977         only if the test for an object-type mbstate_t fails.  This
81978         prevents us from mistakenly reporting that mbstate_t is a
81979         system object type after we "#define mbstate_t int" to work
81980         around its lack.
81981
81982 2000-07-05  Paul Eggert  <eggert@twinsun.com>
81983         and Bruno Haible  <haible@clisp.cons.org>
81984
81985         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
81986
81987 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
81988
81989         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
81990         to strerror_r.
81991         Include <ctype.h> for use of isalpha.
81992
81993 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
81994
81995         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
81996         by allocating a larger buffer. Test the gethostname return value for
81997         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
81998         returns an error and ENAMETOOLONG isn't defined.
81999
82000 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
82001
82002         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
82003         dimension.
82004
82005 2000-07-04  Jim Meyering  <meyering@lucent.com>
82006
82007         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
82008         of the deprecated AC_CHECKING.
82009
82010 2000-07-04  Jim Meyering  <meyering@lucent.com>
82011
82012         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
82013         Reported by Bruno Haible.
82014
82015 2000-07-04  Jim Meyering  <meyering@lucent.com>
82016
82017         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
82018         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
82019         lacks mbrtowc.
82020
82021 2000-07-03  Paul Eggert  <eggert@twinsun.com>
82022
82023         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
82024         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
82025
82026 2000-07-03  Paul Eggert  <eggert@twinsun.com>
82027         and Bruno Haible  <haible@clisp.cons.org>
82028
82029         * lib/quotearg.c (mbrtowc):
82030         Assign to *pwc, and return 1 only if result is nonzero.
82031         (iswprint): Use ISPRINT when substituting our own mbrtowc.
82032
82033 2000-07-03  Jim Meyering  <meyering@lucent.com>
82034
82035         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
82036
82037 2000-07-03  Jim Meyering  <meyering@lucent.com>
82038
82039         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
82040         This is necessary to get a definition of e.g., UTMP_FILE on
82041         HP-UX 10.20.
82042         From Bob Proulx.
82043
82044 2000-07-02  Jim Meyering  <meyering@lucent.com>
82045
82046         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
82047
82048         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
82049         AC_LIBOBJ(function_name).
82050         * m4/chown.m4: Likewise.
82051         * m4/fnmatch.m4: Likewise.
82052         * m4/ftruncate.m4: Likewise.
82053         * m4/getgroups.m4: Likewise.
82054         * m4/getline.m4: Likewise.
82055         * m4/group-member.m4: Likewise.
82056         * m4/jm-macros.m4: Likewise.
82057         * m4/lstat.m4: Likewise.
82058         * m4/malloc.m4: Likewise.
82059         * m4/memcmp.m4: Likewise.
82060         * m4/nanosleep.m4: Likewise.
82061         * m4/putenv.m4: Likewise.
82062         * m4/realloc.m4: Likewise.
82063         * m4/regex.m4: Likewise.
82064         * m4/stat.m4: Likewise.
82065         * m4/strftime.m4: Likewise.
82066
82067 2000-07-02  Jim Meyering  <meyering@lucent.com>
82068
82069         * lib/quotearg.c (mbstate_t): Don't define here.
82070
82071 2000-07-02  Jim Meyering  <meyering@lucent.com>
82072
82073         * lib/nanosleep.c (SIGCONT): Define if not already defined.
82074
82075 2000-07-01  Jim Meyering  <meyering@lucent.com>
82076
82077         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
82078
82079 2000-07-01  Jim Meyering  <meyering@lucent.com>
82080
82081         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
82082         problem.
82083
82084 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
82085
82086         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
82087         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
82088
82089 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
82090
82091         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
82092         per change in ../m4/ls-mntd-fs.m4.
82093         (read_filesystem_list): Ignore symbolic links.
82094
82095 2000-06-29  Jim Meyering  <meyering@lucent.com>
82096
82097         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
82098         for declaration of strcmp.
82099
82100         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
82101
82102         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
82103         Avoid warning by casting result to `char *' to remove `const'.
82104
82105 2000-06-28  Jim Meyering  <meyering@lucent.com>
82106
82107         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
82108         included by quotearg.c, for which we perform this test.  From
82109         Bruno Haible.
82110
82111 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
82112
82113         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
82114         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
82115         <utmpx.h> exists, put readutmp.o into LIBOBJS.
82116
82117 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
82118
82119         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
82120
82121 2000-06-26  Paul Eggert  <eggert@twinsun.com>
82122
82123         savedir now sets errno on failure and invokes xmalloc to get memory.
82124         Fix a couple of other minor bugs while we're at it.
82125
82126         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
82127         (NAMLEN): Remove macro.
82128         (malloc, realloc): Remove decls.
82129         (stpcpy): Likewise.
82130         ("xalloc.h"): Include.
82131         (NAME_SIZE_DEFAULT): New macro.
82132         (savedir): Use xmalloc / xrealloc to allocate memory.
82133         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
82134         Skip "" directory entries.
82135         Use strlen to calculate directory entry length, since the old method
82136         is rarely used these days and isn't worth supporting.
82137         Don't use a pointer after freeing it.
82138         Check for integer overflow when calculating allocation size.
82139         Use memcpy to copy entries, instead of stpcpy.
82140         Set errno properly when returning NULL.
82141         Check for readdir error.
82142
82143 2000-06-26  Jim Meyering  <meyering@lucent.com>
82144
82145         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
82146
82147 2000-06-25  Jim Meyering  <meyering@lucent.com>
82148
82149         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
82150         Linux header bug when _XOPEN_SOURCE is defined to 500.
82151
82152 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
82153
82154         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
82155         deficiency.
82156
82157 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
82158
82159         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
82160         Include xalloc.h.
82161         Don't include <stdlib.h>.  Don't declare malloc, realloc.
82162
82163 2000-06-24  Jim Meyering  <meyering@lucent.com>
82164
82165         * m4/strerror_r.m4: Revive this file -- to try out an experimental
82166         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
82167         for which strerror does return char*, but which lacks a conveniently
82168         accessible declaration of the function.  If the compile-test says
82169         strerror_r doesn't work, then resort to a `run'-test that works on
82170         BeOS and segfaults on DEC Unix.
82171
82172 2000-06-24  Jim Meyering  <meyering@lucent.com>
82173
82174         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
82175
82176 2000-06-23  Paul Eggert  <eggert@twinsun.com>
82177
82178         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
82179         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
82180
82181 2000-06-23  Paul Eggert  <eggert@twinsun.com>
82182
82183         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
82184         (mbrtowc, mbstate_t): Define substitutes if
82185         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
82186         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
82187         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
82188
82189 2000-06-23  Jim Meyering  <meyering@lucent.com>
82190
82191         * m4/afs.m4: Add missing AC_MSG_RESULT.
82192         Reported by Bruno Haible.
82193
82194         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
82195         Suggestion from Bruno Haible.
82196
82197 2000-06-23  Jim Meyering  <meyering@lucent.com>
82198
82199         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
82200
82201 2000-06-21  Jim Meyering  <meyering@lucent.com>
82202
82203         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
82204
82205 2000-06-21  Jim Meyering  <meyering@lucent.com>
82206
82207         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
82208         (noinst_HEADERS): Add getstr.h.
82209
82210         * lib/getline.c (getstr): Move into a separate file.
82211         * lib/getstr.c (getstr): New file, extracted from getline.c, with
82212         the following changes: new parameter, delim2; both delim[12]
82213         parameters have type `int', not `char'.  The latter would lose
82214         with 8-bit delimiters.
82215         * lib/getstr.h: New file.
82216
82217 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
82218
82219         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
82220         than 1024, return a memory chunk of least possible size, instead
82221         of size PATH_MAX + 2. In the loop, increment the size proportionally.
82222         Use free/xmalloc instead of xrealloc to avoid copying for very long
82223         paths.
82224
82225 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
82226
82227         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
82228         the empty string.
82229
82230 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
82231
82232         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
82233         address, not strdup.  Include <stdlib.h> and don't declare free().
82234
82235 2000-06-19  Jim Meyering  <meyering@lucent.com>
82236
82237         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
82238
82239 2000-06-18  Jim Meyering  <meyering@lucent.com>
82240
82241         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
82242
82243         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
82244         `checking whether...' message to be consistent with that of the
82245         lstat test.
82246
82247 2000-06-18  Jim Meyering  <meyering@lucent.com>
82248
82249         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
82250         Besides, these days every porting target provides a mkdir function.
82251
82252         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
82253         needed. (this snippet comes from src/system.h).
82254
82255 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
82256
82257         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
82258
82259 2000-06-15  Paul Eggert  <eggert@twinsun.com>
82260
82261         * lib/human.c (adjust_value): New function.
82262         (human_readable_inexact): Apply rounding style even when
82263         printing approximate values.
82264
82265 2000-06-14  Paul Eggert  <eggert@twinsun.com>
82266
82267         * lib/human.c (human_readable_inexact): Allow an input block
82268         size that is not a multiple of the output block size, and vice versa.
82269         Reported by Piergiorgio Sartor.
82270
82271 2000-06-14  Paul Eggert  <eggert@twinsun.com>
82272
82273         * lib/getdate.y (get_date): Apply relative times after time
82274         zone indicator, not before.  Reported by Todd A. Jacobs.
82275
82276 2000-06-13  Jim Meyering  <meyering@lucent.com>
82277
82278         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
82279
82280         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
82281
82282 2000-06-12  Paul Eggert  <eggert@twinsun.com>
82283
82284         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
82285
82286 2000-06-12  Jim Meyering  <meyering@lucent.com>
82287
82288         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
82289         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
82290         optional argument.
82291         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
82292         the optional argument, `lib'.
82293
82294 2000-06-08  Jim Meyering  <meyering@lucent.com>
82295
82296         * m4/largefile.m4: Remove file (now that it's part of autoconf).
82297
82298 2000-06-04  Paul Eggert  <eggert@twinsun.com>
82299
82300         Rewrite largefile configuration so that we don't need to run
82301         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
82302         AC_CANONICAL_HOST in configure.in -- jmm]
82303
82304         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
82305         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
82306         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
82307         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
82308         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
82309         All uses changed.
82310         Instead of inspecting the output of getconf, try to compile the
82311         test program without and with the macro definition.
82312         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
82313         for getconf.  Instead, check for the needed flags by compiling
82314         test programs.
82315
82316 2000-06-04  Paul Eggert  <eggert@twinsun.com>
82317
82318         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
82319
82320 2000-06-04  Jim Meyering  <meyering@lucent.com>
82321
82322         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
82323         SunOS 4.1.4 for which gid_t is an unsigned type.
82324
82325 2000-06-03  Jim Meyering  <meyering@lucent.com>
82326
82327         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
82328         now that autoconf requires that.
82329
82330         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
82331         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
82332         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
82333
82334 2000-06-03  Jim Meyering  <meyering@lucent.com>
82335
82336         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
82337
82338 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
82339
82340         * m4/glibc21.m4: New file.
82341         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
82342
82343 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
82344
82345         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
82346         newer, don't install charset.alias.
82347         * lib/config.charset: Change the Linux/glibc rules so they become empty
82348         on glibc-2.1 or newer.
82349
82350 2000-06-02  Jim Meyering  <meyering@lucent.com>
82351
82352         * lib/mountlist.c: Back out last change.  Instead, do this...
82353         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
82354         me_dummy member using the same `ignore'-testing code.
82355         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
82356         fs_type strings.
82357         From Mark D. Roth.
82358
82359 2000-05-29  Jim Meyering  <meyering@lucent.com>
82360
82361         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
82362         mounts with the `ignore' attribute.  Based on a patch from
82363         Mark D. Roth.
82364
82365 2000-05-28  Jim Meyering  <meyering@lucent.com>
82366
82367         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
82368         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
82369         * m4/stat.m4: Likewise.
82370         * m4/lstat.m4: Likewise.
82371         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
82372
82373         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
82374         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
82375
82376 2000-05-26  Jim Meyering  <meyering@lucent.com>
82377
82378         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
82379
82380 2000-05-24  Jim Meyering  <meyering@lucent.com>
82381
82382         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
82383         autoconf requires that.
82384         * m4/lib-check.m4: Likewise.
82385         * m4/jm-macros.m4: Likewise.
82386         * m4/strftime.m4: Likewise.
82387
82388         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
82389         AC_CHECK_DECLS, now that autoconf requires that.
82390
82391 2000-05-22  Jim Meyering  <meyering@lucent.com>
82392
82393         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
82394         * m4/lstat.m4: Likewise.
82395
82396 2000-05-22  Jim Meyering  <meyering@lucent.com>
82397
82398         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
82399
82400 2000-05-20  Jim Meyering  <meyering@lucent.com>
82401
82402         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
82403         (jm_PREREQ): Use it.
82404
82405 2000-05-18  Jim Meyering  <meyering@lucent.com>
82406
82407         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
82408         back, too, since it may have been modified by allocate_entry.
82409         (hash_delete): Rewrite to use neither the assignment operator
82410         nor the comma operator in an if-expression.
82411
82412 2000-05-15  Paul Eggert  <eggert@twinsun.com>
82413
82414         * lib/closeout.c:
82415         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
82416         Remove; no longer needed.
82417         "quotearg.h": Add include.
82418         (file_name): Do not bother to explicitly initialize to NULL; it's less
82419         efficient on some hosts.
82420         (close_stdout_status): Remove test as to whether stdout was already
82421         closed; it breaks for the case "echo x | sort >&-".
82422         Quote file name colons.
82423         Do not assume that _("write error") lacks format strings.
82424
82425 2000-05-15  Jim Meyering  <meyering@lucent.com>
82426
82427         * lib/version-etc.c (version_etc_copyright): Update the copyright
82428         string used in all --version output.
82429
82430 2000-05-14  Jim Meyering  <meyering@lucent.com>
82431
82432         * lib/closeout.c (close_stdout_set_file_name): New function.
82433         (close_stdout_status): Use new file-scoped global.
82434         Return right away if fstat says the stdout file descriptor is invalid.
82435         * lib/closeout.h (close_stdout_set_file_name): Declare.
82436
82437 2000-05-10  Jim Meyering  <meyering@lucent.com>
82438
82439         * lib/closeout.c [default_exit_status]: New file-scoped variable.
82440         (close_stdout_set_status): New function.
82441         * lib/closeout.h (close_stdout_set_status): Declare.
82442
82443 2000-05-09  Jim Meyering  <meyering@lucent.com>
82444
82445         * m4/gettext.m4: Rename this...
82446         * m4/libintl.m4: ...to this.
82447
82448 2000-05-08  Jim Meyering  <meyering@lucent.com>
82449
82450         * lib/long-options.c: Don't include closeout.h.
82451         (parse_long_options): Don't call close_stdout for --version.
82452
82453 2000-05-06  Paul Eggert  <eggert@twinsun.com>
82454
82455         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
82456         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
82457         2.1.3 bug.  This avoids a clash when files like regex.c define
82458         _GNU_SOURCE.
82459
82460 2000-05-06  Jim Meyering  <meyering@lucent.com>
82461
82462         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
82463         (AC_REPLACE_FUNCS): Add strnlen.
82464
82465         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
82466         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
82467
82468         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
82469         AC_SEARCH_LIBS call for nanosleep.
82470         (LIB_NANOSLEEP): Set and AC_SUBST.
82471
82472 2000-05-06  Jim Meyering  <meyering@lucent.com>
82473
82474         * lib/strnlen.c: Undefine __strnlen and strnlen.
82475         [!weak_alias]: Define __strnlen to strnlen.
82476
82477         * lib/atexit.c: New file, from libiberty.
82478
82479 2000-05-06  Jim Meyering  <meyering@lucent.com>
82480
82481         * lib/closeout.c (close_stdout_status): Also check for errors on the
82482         stderr stream.
82483
82484 2000-05-05  Jim Meyering  <meyering@lucent.com>
82485
82486         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
82487         AC_SEARCH_LIBS call for clock_gettime.
82488         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
82489
82490         * m4/search-libs.m4: Update from autoconf.
82491
82492         su doesn't work on Solaris 2.6.
82493         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
82494         <shadow.h>.  Reported by Dragos Harabor.
82495
82496 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
82497
82498         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
82499         memcpy instead of xmalloc, xrealloc, path_concat.
82500         (locale_charset): Treat empty environment variables as absent.
82501         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
82502
82503 2000-05-04  Jim Meyering  <meyering@lucent.com>
82504
82505         * lib/getopt.c: Update from glibc.
82506         * lib/obstack.c: Likewise.
82507         * lib/obstack.h: Likewise.
82508         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
82509         file
82510
82511         * lib/regex.h: Likewise.
82512         * lib/strndup.c: Likewise.
82513         * lib/strnlen.c: New file, from glibc.
82514
82515 2000-05-03  Jim Meyering  <meyering@lucent.com>
82516
82517         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
82518
82519 2000-05-02  Paul Eggert  <eggert@twinsun.com>
82520
82521         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
82522         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
82523         compile-time test, rather than inspecting host and OS, to
82524         decide whether to define _LARGEFILE_SOURCE.
82525
82526 2000-05-01  Jim Meyering  <meyering@lucent.com>
82527
82528         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
82529
82530         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
82531         Based on a patch from Bruno Haible.
82532
82533 2000-05-01  Jim Meyering  <meyering@lucent.com>
82534
82535         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
82536
82537 2000-04-29  Jim Meyering  <meyering@lucent.com>
82538
82539         * lib/path-concat.c: Declare strdup only if it's not defined.
82540         * lib/canon-host.c: Likewise.
82541
82542 2000-04-28  Jim Meyering  <meyering@lucent.com>
82543
82544         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
82545         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
82546         is included first, then limits.h is included by locale.h by libintl.h.
82547         From John David Anglin.
82548
82549 2000-04-25  Jim Meyering  <meyering@lucent.com>
82550
82551         * lib/makepath.c (S_IRWXUGO): Define.
82552         (make_path): Always perform explicit chmod if MODE specifies any
82553         of the `special' permission bits.  Prompted by a bug report against
82554         install from Mate Wierdl and Joost van Baal.
82555
82556 2000-04-18  Jim Meyering  <meyering@lucent.com>
82557
82558         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
82559         (jm_PREREQ): Use it.
82560
82561 2000-04-18  Jim Meyering  <meyering@lucent.com>
82562
82563         * lib/README: New file.
82564
82565         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
82566         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
82567
82568 2000-04-17  Jim Meyering  <meyering@lucent.com>
82569
82570         Get it right :-)
82571         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
82572         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
82573         Suggestion from Akim Demaille.
82574
82575 2000-04-17  Jim Meyering  <meyering@lucent.com>
82576
82577         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
82578         the definition of it to rpl_strftime also defined-away the system's
82579         declaration.
82580
82581 2000-04-15  Jim Meyering  <meyering@lucent.com>
82582
82583         Use `C' to denote so-called `contiguous' files, the same way
82584         that tar does.
82585         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
82586         (ftypelet): Use S_ISCTG.
82587         From Michael Deutschmann.
82588
82589 2000-04-14  Jim Meyering  <meyering@lucent.com>
82590
82591         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
82592         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
82593         clobbered.
82594
82595 2000-04-14  Jim Meyering  <meyering@lucent.com>
82596
82597         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
82598
82599 2000-04-13  Jim Meyering  <meyering@lucent.com>
82600
82601         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
82602         AH_VERBATIM to insert required #ifndef into config.h.in.
82603         Suggestion from Akim Demaille.
82604
82605 2000-04-12  Jim Meyering  <meyering@lucent.com>
82606
82607         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
82608         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
82609         Christian Krackowizer.
82610
82611         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
82612         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
82613         (AC_SYS_LARGEFILE): Require.
82614         (AM_C_PROTOTYPES): Require.
82615
82616 2000-04-08  Jim Meyering  <meyering@lucent.com>
82617
82618         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
82619         names don't conflict.  Reported by Eli Zaretskii.
82620
82621 2000-04-07  Jim Meyering  <meyering@lucent.com>
82622
82623         * lib/putenv.c: Move inclusion of errno.h so it follows that of
82624         sys/types.h, to work around system header problems on AIX 3.2.5.
82625         From Bruno Haible.
82626
82627 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
82628
82629         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
82630         bug.  Deal with the different error behavior of Irix iconv.
82631
82632 2000-04-05  Paul Eggert  <eggert@twinsun.com>
82633
82634         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
82635         IRIX if the installer said otherwise.
82636
82637 2000-04-05  Jim Meyering  <meyering@lucent.com>
82638
82639         Portability tweaks required for ultrix4.3.
82640         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
82641         (jm_CHECK_DECLS): Add getutent to the list of functions.
82642         (_jm_DECL_HEADERS): Add utmpx.h.
82643         From John David Anglin.
82644
82645         * m4/strftime.m4: Back out the 2000-04-02 change.
82646         Instead of that change, simply undefine putenv in the test program.
82647
82648 2000-04-05  Jim Meyering  <meyering@lucent.com>
82649
82650         Portability tweaks required for ultrix4.3.
82651         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
82652         getutent.
82653         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
82654         * lib/canon-host.c: Declare strdup.
82655         * lib/path-concat.c: Likewise.
82656         From John David Anglin.
82657
82658 2000-04-04  Jim Meyering  <meyering@lucent.com>
82659
82660         Be more DOS 8.3-friendly.
82661         * lib/ref-add.sin: Renamed from ref-add.sed.in.
82662         * lib/ref-del.sin: Renamed from ref-del.sed.in.
82663         * lib/Makefile.am: Reflect renaming.
82664         Reported by Eli Zaretskii.
82665
82666         Use a temporary file name that won't clash with `charset.alias'
82667         in the DOS 8.3 name space.
82668         * lib/Makefile.am (charset_tmp): Define.
82669         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
82670         (uninstall-local): Likewise.
82671         Reported by Eli Zaretskii.
82672
82673 2000-04-03  Jim Meyering  <meyering@lucent.com>
82674
82675         * m4/gettext.m4: Fix typo in comment.
82676
82677         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
82678         textutils/configure.in).  Suggestion from Paul Eggert.
82679         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
82680
82681 2000-04-02  Paul Eggert  <eggert@twinsun.com>
82682
82683         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
82684         variable in the shell rather than using putenv, which isn't
82685         portable.  This avoids the configure-time inter-test dependency
82686         on the potentially-renamed putenv function.
82687
82688 2000-03-30  Paul Eggert  <eggert@twinsun.com>
82689
82690         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
82691         before checking struct stat.st_blksize, so that
82692         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
82693
82694 2000-03-29  Paul Eggert  <eggert@twinsun.com>
82695
82696         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
82697         since strftime.c uses HAVE_STRFTIME to decide whether to use
82698         the underlying strftime.
82699
82700 2000-03-29  Paul Eggert  <eggert@twinsun.com>
82701
82702         * lib/time/strftime.c (my_strftime): Make sure we call the system
82703         strftime, not ourselves, when invoking the underlying strftime.
82704
82705 2000-03-24  Jim Meyering  <meyering@lucent.com>
82706
82707         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
82708         (charset_alias): Define.
82709         (install-exec-local): Factor out common code.
82710         (uninstall-local): Split lines longer than 80.
82711         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
82712         (SUFFIXES): Define.
82713         (.sed.in.sed): New rule.  Don't redirect directly to $@.
82714         (CLEANFILES): Add ref-add.sed and ref-del.sed.
82715
82716 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
82717
82718         * lib/config.charset: Output a line containing "Packages using this
82719         file".
82720         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
82721         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
82722         ref-del.sed): New rules.
82723
82724 2000-03-17  Jim Meyering  <meyering@lucent.com>
82725
82726         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
82727         Otherwise, include <strings.h>
82728
82729 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
82730
82731         * lib/unicodeio.c (utf8_wctomb): New function.
82732         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
82733         format instead of in UCS-4 with platform dependent endianness.
82734
82735 2000-03-10  Jim Meyering  <meyering@lucent.com>
82736
82737         * m4/lib-check.m4: Look for getspnam in -lgen, too.
82738         From Marco Franzen.
82739
82740 2000-03-07  Paul Eggert  <eggert@twinsun.com>
82741
82742         * lib/savedir.c (savedir): Work even if directory size is
82743         negative; this can happen with some screwy NFS configurations.
82744
82745 2000-03-06  Jim Meyering  <meyering@lucent.com>
82746
82747         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
82748         if it's NULL (because we ran out of memory).  From Bruno Haible.
82749
82750 2000-03-05  Jim Meyering  <meyering@lucent.com>
82751
82752         * lib/localcharset.c ("path-concat.h"): Include.
82753         (get_charset_aliases): Use path_concat instead of ANSI string
82754         concatenation.
82755
82756         * lib/unicodeio.h (PARAMS): Define.
82757         Use it to guard prototype.
82758
82759 2000-03-04  Jim Meyering  <meyering@lucent.com>
82760
82761         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
82762         for lib/localcharset.c.
82763
82764 2000-03-04  Jim Meyering  <meyering@lucent.com>
82765
82766         * lib/Makefile.am (install-exec-local): Create $(libdir) before
82767         installing into it.
82768         (uninstall-local): Uncomment this rule so `make distcheck' works
82769         once again.
82770
82771         * lib/unicodeio.c (<errno.h>): Include it.
82772         (errno): Declare if not defined.
82773
82774         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
82775
82776         * lib/config.charset: New version, incorporating remarks from a linux
82777         i18n mailing list.  From Bruno Haible.
82778
82779 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
82780
82781         * m4/codeset.m4: New file.
82782         * m4/iconv.m4: New file.
82783         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
82784
82785 2000-03-03  Jim Meyering  <meyering@lucent.com>
82786
82787         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
82788
82789 2000-03-02  Jim Meyering  <meyering@lucent.com>
82790
82791         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
82792         the messages come out on separate lines.
82793
82794         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
82795         rather than jm_CHECK_DECLARATIONS.
82796         * m4/decl.m4: Remove now-unused file.
82797
82798         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
82799         geteuid.
82800
82801 2000-03-02  Jim Meyering  <meyering@lucent.com>
82802
82803         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
82804
82805 2000-03-01  Jim Meyering  <meyering@lucent.com>
82806
82807         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
82808         * lib/unicodeio.c: Likewise.
82809
82810 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
82811
82812         * lib/config.charset: New file.
82813         * lib/localcharset.c: New file.
82814         * lib/unicodeio.h, lib/unicodeio.c: New files.
82815         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
82816         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
82817         (noinst_HEADERS): Add unicodeio.h.
82818         (all-local, install-exec-local, charset.alias): New targets.
82819
82820 2000-02-28  Paul Eggert  <eggert@twinsun.com>
82821
82822         * lib/quotearg.c (ALERT_CHAR): New macro.
82823         (quotearg_buffer_restyled): Use it.
82824
82825 2000-02-27  Jim Meyering  <meyering@lucent.com>
82826
82827         * m4/check-decl.m4: Add getenv to the list.
82828
82829 2000-02-27  Jim Meyering  <meyering@lucent.com>
82830
82831         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
82832         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
82833
82834         * lib/backupfile.c: Guard inclusion of stdlib.h with
82835         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
82836         Declare malloc if needed.
82837
82838         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
82839         `#ifndef HAVE_DECL..'
82840         now that autoconf always defines the HAVE_DECL_ symbols.
82841         * lib/human.c: Likewise.
82842         * lib/same.c: Likewise.
82843         * lib/strtoumax.c: Likewise.
82844
82845         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
82846         declaration check was not run.
82847         * lib/hash.c: Likewise.
82848         * lib/human.c: Likewise.
82849         * lib/same.c: Likewise.
82850         * lib/strtoumax.c: Likewise.
82851
82852         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
82853         `.', then first look up the entire `.'-containing string as a login
82854         name.
82855
82856 2000-02-23  Jim Meyering  <meyering@lucent.com>
82857
82858         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
82859         in place of my hack.
82860
82861 2000-02-18  Paul Eggert  <eggert@twinsun.com>
82862
82863         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
82864         (textint): New typedef.
82865         (parser_control): Member year changed from int to textint.
82866         All uses changed.
82867         (YYSTYPE): Removed; replaced by %union with int and textint members.
82868         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
82869         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
82870         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
82871         (tSNUMBER, tUNUMBER): Now of type <textintval>.
82872         (date, number, to_year): Use width of number in digits, not its value,
82873         to determine whether it's a 2-digit year, or a 2-digit time.
82874         (yylex): Store number of digits of numeric tokens.
82875         Reported by John Kendall.
82876
82877         (parser_control): Changed from struct parser_control to typedef (for
82878         consistency).  All uses changed.
82879
82880         (tID): Removed; not used.
82881         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
82882
82883 2000-02-14  Paul Eggert  <eggert@twinsun.com>
82884
82885         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
82886         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
82887
82888 2000-02-12  Jim Meyering  <meyering@lucent.com>
82889
82890         * lib/userspec.c (ISDIGIT): Define it.
82891         (isdigit): Remove definition.
82892         (is_number): Use ISDIGIT, not isdigit.
82893         <libintl.h>: Include.
82894         (_ and N_): Define.
82895         (parse_user_spec): Mark translatable strings.
82896
82897 2000-02-10  Jim Meyering  <meyering@lucent.com>
82898
82899         With these changes, nanosleep.[ch] are finally enough like the other
82900         lib/* replacement files to compile on a few more losing systems.
82901
82902         * lib/nanosleep.h: Don't include config.h.
82903         Remove prototype from declaration of nanosleep.
82904         (PARAMS): Remove now-unneeded definition.
82905         * lib/nanosleep.c: #undef nanosleep.
82906         (rpl_nanosleep): Rename from nanosleep.
82907
82908 2000-02-10  Jim Meyering  <meyering@lucent.com>
82909
82910         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
82911         gnu_nanosleep to rpl_nanosleep.
82912
82913 2000-02-09  Jim Meyering  <meyering@lucent.com>
82914
82915         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
82916         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
82917
82918 2000-02-08  Akim Demaille  <akim@epita.fr>
82919
82920         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
82921         `[' and `]' and remove uses of `changequote'.
82922         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
82923         (AC_SYS_LARGEFILE): Likewise.
82924         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
82925         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
82926         of changequote.
82927         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
82928         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
82929         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
82930         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
82931
82932 2000-02-05  Jim Meyering  <meyering@lucent.com>
82933
82934         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
82935         Remove explicit use of AC_HEADER_TIME.  It is required by
82936         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
82937         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
82938         in autoconf whereby the expansion of the latter ended up preceding
82939         the expansion of its prerequisite, AC_HEADER_TIME.
82940         Reported by Volker Borchert.
82941
82942 2000-02-03  Jim Meyering  <meyering@lucent.com>
82943
82944         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
82945
82946 2000-02-03  Jim Meyering  <meyering@lucent.com>
82947
82948         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
82949         rather than with `#if HAVE_UTMPNAME'.
82950
82951 2000-02-02  Jim Meyering  <meyering@lucent.com>
82952
82953         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
82954         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
82955         Reported by Eli Zaretskii.
82956
82957 2000-02-01  Jim Meyering  <meyering@lucent.com>
82958
82959         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
82960
82961 2000-01-31  Jim Meyering  <meyering@lucent.com>
82962
82963         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
82964         functions.  Add the time.h and sys/time.h headers along with the
82965         AC_REQUIRE'ment of AC_HEADER_TIME.
82966
82967 2000-01-31  Jim Meyering  <meyering@lucent.com>
82968
82969         * lib/nanosleep.h (nanosleep): Guard declaration with
82970         `#if ! HAVE_DECL_NANOSLEEP'.
82971         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
82972         the declaration in that vendor's sys/timers.h.
82973         Reported by Christian Krackowizer.
82974
82975         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
82976         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
82977         (ISPRINT): Likewise.
82978         Reported by Tom Tromey.
82979
82980 2000-01-30  Jim Meyering  <meyering@lucent.com>
82981
82982         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
82983
82984         * m4/prereq.m4 (utmp_includes): Define.
82985         Check for ut_user and ut_name members in both struct utmpx
82986         and struct utmp.
82987
82988 2000-01-30  Jim Meyering  <meyering@lucent.com>
82989
82990         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
82991         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
82992         header files where only utmpx.ut_user is declared.
82993
82994         * lib/readutmp.h (UT_USER): Define.
82995
82996 2000-01-29  Jim Meyering  <meyering@lucent.com>
82997
82998         * m4/lib-check.m4: New file containing library-related checks from
82999         fileutils and sh-utils (textutils had none).
83000
83001 2000-01-28  Jim Meyering  <meyering@lucent.com>
83002
83003         * m4/perl.m4: Change format of warning message to look more like that
83004         from the missing script.  Suggestion from François Pinard.
83005
83006 2000-01-25  Jim Meyering  <meyering@lucent.com>
83007
83008         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
83009         well as time.h in the compile check.
83010         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
83011         Fix typo in cross-compiling case: s/yes/no/.
83012
83013 2000-01-23  Jim Meyering  <meyering@lucent.com>
83014
83015         * m4/jm-macros.m4: Move df-related tests here from
83016         fileutils/configure.in
83017
83018         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
83019         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
83020
83021         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
83022         s/space/ac_fsusage_space/.
83023         (jm_FILE_SYSTEM_USAGE): Take two parameters.
83024
83025         * m4/ftruncate.m4: New file (derived from part of
83026         fileutils/configure.in).
83027         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
83028         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
83029
83030         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
83031         AC_SUBST these here, rather than just in sh-util/configure.in, so
83032         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
83033         all the same.
83034         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
83035         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
83036         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
83037         (AC_SUBST(POW_LIBM)): Likewise.
83038         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
83039
83040 2000-01-23  Jim Meyering  <meyering@lucent.com>
83041
83042         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
83043         obstack.c.
83044
83045 2000-01-22  Jim Meyering  <meyering@lucent.com>
83046
83047         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
83048
83049         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
83050
83051         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
83052         configure.in
83053         (AC_CHECK_HEADERS): Likewise for sh-utils.
83054         (AC_CHECK_HEADERS): Likewise for textutils.
83055         Merge the three lists of headers.
83056
83057         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
83058         from fileutils' configure.in.
83059
83060         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
83061         code. Moved tests into their own function (_jm_DECL_HEADERS) in
83062         check-decl.m4.
83063
83064         * m4/check-decl.m4: Use #if rather than #ifdef.
83065         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
83066         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
83067         (_jm_DECL_HEADERS): Define new function.
83068         (jm_CHECK_DECLARATIONS): Require it.
83069
83070 2000-01-22  Jim Meyering  <meyering@lucent.com>
83071
83072         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
83073         [! HAVE_DECL_STRTOULL]: Declare strtoull.
83074         Required for some AIX systems.  Reported by Christian Krackowizer.
83075         [TESTING] (main): New function.
83076
83077         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
83078         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
83079         letters.
83080
83081         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
83082         iswprint.
83083
83084         * lib/strverscmp.c (ISDIGIT): Define.
83085         (strverscmp): Use ISDIGIT, not isdigit.
83086
83087 2000-01-19  Jim Meyering  <meyering@lucent.com>
83088
83089         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
83090         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
83091         defines `struct timespec' in <sys/time.h>
83092
83093         * m4/c-bs-a.m4: Remove uses of changequote altogether.
83094         Thanks to Akim for explaining.
83095
83096 2000-01-17  Paul Eggert  <eggert@twinsun.com>
83097
83098         * lib/nanosleep.c (nanosleep):
83099         Don't use SA_INTERRUPT to decide whether to call sigaction, as
83100         POSIX.1 doesn't require SA_INTERRUPT and some systems
83101         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
83102         it's been part of POSIX.1 since day 1 (in 1988).
83103
83104 2000-01-17  Jim Meyering  <meyering@lucent.com>
83105
83106         * lib/interlock: Remove unused file.  Reported by François Pinard.
83107
83108 2000-01-16  Paul Eggert  <eggert@twinsun.com>
83109
83110         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
83111         alert, backslash, formfeed, and vertical tab unnecessarily in
83112         shell quoting style.
83113
83114 2000-01-16  Jim Meyering  <meyering@lucent.com>
83115
83116         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
83117         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
83118         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
83119         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
83120
83121 2000-01-16  Jim Meyering  <meyering@lucent.com>
83122
83123         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
83124         because the latter didn't work.
83125
83126 2000-01-15  Jim Meyering  <meyering@lucent.com>
83127
83128         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
83129         (AC_REPLACE_FUNCS): Add memcpy and memset.
83130         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
83131         Add strpbrk.
83132         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
83133
83134 2000-01-12  Jim Meyering  <meyering@lucent.com>
83135
83136         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
83137         (jm_PREREQ): Use it.
83138         (jm_PREREQ_READUTMP): New macro.
83139         (jm_PREREQ): Use it.
83140
83141 2000-01-11  Paul Eggert  <eggert@twinsun.com>
83142
83143         Quote multibyte characters correctly.
83144         * m4/c-bs-a.m4: New file.
83145         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
83146         (jm_PREREQ): Use it.
83147
83148 2000-01-11  Paul Eggert  <eggert@twinsun.com>
83149
83150         * m4/uintmax_t.m4: Port to autoconf 2.13.
83151
83152 2000-01-08  Jim Meyering  <meyering@ascend.com>
83153
83154         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
83155         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
83156
83157 2000-01-04  Jim Meyering  <meyering@ascend.com>
83158
83159         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
83160         jm_STRUCT_DIRENT_D_TYPE.
83161         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
83162         jm_STRUCT_DIRENT_D_INO.
83163         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
83164         jm_STRUCT_UTIMBUF.
83165         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
83166         renamings.
83167         * m4/utime.m4: Likewise.
83168
83169         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
83170         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
83171
83172 2000-01-03  Paul Eggert  <eggert@twinsun.com>
83173
83174         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
83175         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
83176
83177 2000-01-02  Jim Meyering  <meyering@ascend.com>
83178
83179         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
83180         remember if this is necessary.
83181
83182 1999-12-26  Jim Meyering  <meyering@ascend.com>
83183
83184         * m4/jm-macros.m4: Use it here.
83185         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
83186
83187 1999-12-23  Jim Meyering  <meyering@ascend.com>
83188
83189         * m4/jm-macros.m4: Check for clock_gettime (moved from
83190         fileutils/configure.in)
83191         Check for gettimeofday.
83192
83193 1999-12-20  Jim Meyering  <meyering@ascend.com>
83194
83195         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
83196         autoconf-2.14a-1999-12-20.
83197
83198 1999-12-19  Jim Meyering  <meyering@ascend.com>
83199
83200         * m4/lstat-slash.m4: New file.
83201         * m4/jm-macros.m4: Use the new macro:
83202         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
83203
83204 1999-12-07  Jim Meyering  <meyering@ascend.com>
83205
83206         * m4/perl.m4: Require that File::Compare be available, too.
83207         Too many systems seem to lack it.
83208
83209         * m4/strftime.m4: Add checks for most of the cpp macros tested in
83210         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
83211
83212 1999-11-18  Paul Eggert  <eggert@twinsun.com>
83213
83214         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
83215         problem with the QNX 4.25 shell, which doesn't propagate exit
83216         status of failed commands inside shell assignments.
83217
83218 1999-11-17  Jim Meyering  <meyering@ascend.com>
83219
83220         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
83221
83222 1999-11-07  Jim Meyering  <meyering@ascend.com>
83223
83224         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
83225
83226 1999-11-06  Jim Meyering  <meyering@ascend.com>
83227
83228         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
83229         * m4/jm-macros.m4 (jm_MACROS): Use it here.
83230
83231 1999-11-05  Jim Meyering  <meyering@ascend.com>
83232
83233         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
83234         configure.in of textutils, fileutils, and sh-utils into this one
83235         (shared between those packages) file.
83236         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
83237         AC_STRUCT_ST_BLKSIZE.
83238
83239 1999-11-03  Jim Meyering  <meyering@ascend.com>
83240
83241         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
83242         of AC_CHECK_TYPE checks includes unistd.h.
83243         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
83244         Suggestion from Akim Demaille.
83245
83246 1999-10-30  Jim Meyering  <meyering@ascend.com>
83247
83248         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
83249         m4-quoted string.
83250         * m4/ls-mntd-fs.m4: Likewise.
83251         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
83252         * m4/jm-winsz1.m4: Likewise.
83253
83254         * m4/const.m4: Remove file, since the fix made it into the experimental
83255         version of autoconf.
83256         * m4/mktime.m4: Likewise.
83257
83258         * m4/check-type.m4: Remove file, now that the latest version of
83259         AC_CHECK_TYPE takes a third arg to specify additional #includes.
83260
83261         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
83262         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
83263         AC_CHECK_TYPE.
83264
83265 1999-10-04  Jim Meyering  <meyering@ascend.com>
83266
83267         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
83268
83269 1999-09-22  Paul Eggert  <eggert@twinsun.com>
83270
83271         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
83272         2.95.1 bug with HP-UX 10.20.
83273
83274 1999-09-17  Jim Meyering  <meyering@ascend.com>
83275
83276         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
83277         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
83278         due to missing strdup (against sh-utils-2.0).
83279
83280 1999-08-29  Jim Meyering  <meyering@ascend.com>
83281
83282         * m4/jm-macros.m4: Require jm_BISON.
83283         * m4/bison.m4: New file.
83284
83285 1999-08-17  Paul Eggert  <eggert@twinsun.com>
83286
83287         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
83288         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
83289
83290 1999-08-05  Jim Meyering  <meyering@ascend.com>
83291
83292         * m4/getline.m4: Rename test file from conftestdata to conftest.data
83293         to avoid conflicts with `conftest' on 8+3 filesystems.
83294         Suggestion from Eli Zaretskii.
83295
83296 1999-08-04  Jim Meyering  <meyering@ascend.com>
83297
83298         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
83299         fileutils and sh-utils (textutils's getline test was inadequate).
83300         (AM_FUNC_GETLINE): Run this test.
83301         (AC_CHECK_FUNCS): Check for getdelim.
83302         Reported by Bob Proulx.
83303
83304 1999-08-02  Jim Meyering  <meyering@ascend.com>
83305
83306         * m4/jm-macros.m4: Add a comment.
83307
83308 1999-08-01  Paul Eggert  <eggert@twinsun.com>
83309
83310         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
83311         <inttypes.h> defines strtoumax as a macro (and not as a
83312         function).
83313
83314 1999-08-01  Paul Eggert  <eggert@twinsun.com>
83315
83316         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
83317         that we can shift, multiply and divide unsigned long long
83318         values; Ultrix cc can't do it.
83319
83320 1999-08-01  Paul Eggert  <eggert@twinsun.com>
83321
83322         * m4/mktime.m4: New file, which is a preview of what should appear
83323         in the next public autoconf release.
83324
83325 1999-08-01  Paul Eggert  <eggert@twinsun.com>
83326
83327         * m4/lfs.m4: Remove this file.
83328         * m4/largefile.m4: New file.  It contains the old contents of
83329         lfs.m4, except that all names with prefix AC_LFS have been
83330         changed to use the prefix AC_SYS_LARGEFILE instead, to be
83331         compatible with future autoconf versions.  Also, some minor m4
83332         quoting problems have been fixed.
83333
83334 1999-08-01  Paul Eggert  <eggert@twinsun.com>
83335
83336         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
83337         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
83338         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
83339         and simplify the shell code.
83340
83341 1999-08-01  Jim Meyering  <meyering@ascend.com>
83342
83343         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
83344         m4.
83345
83346 1999-07-20  Jim Meyering  <meyering@ascend.com>
83347
83348         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
83349
83350 1999-07-15  Jim Meyering  <meyering@ascend.com>
83351
83352         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
83353
83354 1999-05-22  Jim Meyering  <meyering@ascend.com>
83355
83356         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
83357
83358 1999-05-20  Jim Meyering  <meyering@ascend.com>
83359
83360         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
83361         Add a colon after each `then' in case $4 is empty.
83362
83363 1999-05-16  Jim Meyering  <meyering@ascend.com>
83364
83365         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
83366
83367 1999-05-10  Jim Meyering  <meyering@ascend.com>
83368
83369         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
83370
83371         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
83372         AC_FUNC_MKTIME.
83373
83374 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
83375
83376         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
83377
83378 1999-05-04  Paul Eggert  <eggert@twinsun.com>
83379
83380         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
83381         not CPPFLAGS, so that linking works correctly in IRIX.
83382
83383 1999-04-30  Paul Eggert  <eggert@twinsun.com>
83384
83385         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
83386
83387 1999-04-20  Paul Eggert  <eggert@twinsun.com>
83388
83389         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
83390         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
83391         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
83392         jm_AC_TYPE_UNSIGNED_LONG_LONG.
83393         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
83394
83395         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
83396
83397 1999-04-20  Jim Meyering  <meyering@ascend.com>
83398
83399         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
83400         AC_REPLACE xstroull if necessary.  From Paul Eggert.
83401         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
83402
83403 1999-04-18  Jim Meyering  <meyering@ascend.com>
83404
83405         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
83406         * m4/jm-macros.m4: Use it.
83407
83408 1999-04-06  Jim Meyering  <meyering@ascend.com>
83409
83410         * m4/strftime.m4: Remove test for %f.
83411
83412 1999-03-29  Jim Meyering  <meyering@ascend.com>
83413
83414         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
83415         superset of the AC_TYPE_* checks in the textutils, fileutils,
83416         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
83417         AC_TYPE_PID_T.
83418
83419 1999-03-28  Jim Meyering  <meyering@ascend.com>
83420
83421         * m4/jm-macros.m4: Define GNU_PACKAGE here.
83422         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
83423         replaced e.g., in the *.sh files of the sh-utils.
83424
83425 1999-03-20  Jim Meyering  <meyering@ascend.com>
83426
83427         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
83428         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
83429         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
83430
83431 1999-03-19  Jim Meyering  <meyering@ascend.com>
83432
83433         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
83434
83435 1999-03-12  Jim Meyering  <meyering@ascend.com>
83436
83437         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
83438
83439 1999-03-07  Jim Meyering  <meyering@ascend.com>
83440
83441         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
83442         declared.
83443
83444 1999-02-17  Jim Meyering  <meyering@ascend.com>
83445
83446         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
83447         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
83448
83449 1999-02-07  Jim Meyering  <meyering@ascend.com>
83450
83451         * m4/group-member.m4: New file -- extracted from sh-utils'
83452         configure.in.
83453
83454         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
83455         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
83456
83457 1999-02-06  Jim Meyering  <meyering@ascend.com>
83458
83459         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
83460         * m4/fnmatch.m4: Likewise.
83461         * m4/getgroups.m4: Likewise.
83462         * m4/lstat.m4: Likewise.
83463         * m4/malloc.m4: Likewise.
83464         * m4/putenv.m4: Likewise.
83465         * m4/realloc.m4: Likewise.
83466         * m4/regex.m4: Likewise.
83467         * m4/stat.m4: Likewise.
83468         * m4/strftime.m4: Likewise.
83469         Suggestion from Alain Magloire.
83470
83471         * m4/chown.m4: Use `.$ac_objext', not `.o'.
83472         * m4/fnmatch.m4: Likewise.
83473         * m4/getgroups.m4: Likewise.
83474         * m4/getline.m4: Likewise.
83475         * m4/lstat.m4: Likewise.
83476         * m4/malloc.m4: Likewise.
83477         * m4/memcmp.m4: Likewise.
83478         * m4/putenv.m4: Likewise.
83479         * m4/realloc.m4: Likewise.
83480         * m4/regex.m4: Likewise.
83481         * m4/stat.m4: Likewise.
83482         * m4/strftime.m4: Likewise.
83483         Suggestion from Alain Magloire.
83484
83485         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
83486         an argument.
83487
83488         * m4/regex.m4: Add a run-time Test for proper operation of
83489         re_compile_pattern.
83490
83491 1999-01-31  Jim Meyering  <meyering@ascend.com>
83492
83493         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
83494
83495 1999-01-30  Jim Meyering  <meyering@ascend.com>
83496
83497         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
83498
83499         * m4/jm-mktime.m4: Make this a wrapper around the official
83500         AM_FUNC_MKTIME rather than my private copy, now that the official one
83501         is up to date.
83502         * m4/mktime.m4: Remove file.
83503
83504         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
83505         * m4/uptime.m4: Likewise.
83506         * m4/uintmax_t.m4: Likewise.
83507
83508 1999-01-28  Jim Meyering  <meyering@ascend.com>
83509
83510         * m4/jm-macros.m4: Use jm_AFS.
83511         * m4/afs.m4: New file (from fileutils' configure.in).
83512
83513         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
83514         * m4/chown.m4: Likewise.
83515         * m4/d-ino.m4: Likewise.
83516         * m4/d-type.m4: Likewise.
83517         * m4/fnmatch.m4: Likewise.
83518         * m4/getgroups.m4: Likewise.
83519         * m4/gettext.m4: Likewise.
83520         * m4/jm-mktime.m4: Likewise.
83521         * m4/jm-winsz2.m4: Likewise.
83522         * m4/lcmessage.m4: Likewise.
83523         * m4/ls-mntd-fs.m4: Likewise.
83524         * m4/malloc.m4: Likewise.
83525         * m4/memcmp.m4: Likewise.
83526         * m4/putenv.m4: Likewise.
83527         * m4/realloc.m4: Likewise.
83528         * m4/st_mtim.m4: Likewise.
83529         * m4/strftime.m4: Likewise.
83530
83531 1999-01-16  Jim Meyering  <meyering@ascend.com>
83532
83533         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
83534         (ARGMATCH_DIE_DECL): Define.
83535
83536 1999-01-12  Jim Meyering  <meyering@ascend.com>
83537
83538         * m4/Makefile.am.in: Rewrite to avoid using fmt.
83539         Reported by Lars Hecking.
83540
83541 1999-01-10  Jim Meyering  <meyering@ascend.com>
83542
83543         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
83544         gross kludge.
83545         * m4/inttypes_h.m4: Likewise.
83546         * m4/lstat.m4: Likewise.
83547         * m4/malloc.m4: Likewise.
83548         * m4/readdir.m4: Likewise.
83549         * m4/realloc.m4: Likewise.
83550         * m4/st_dm_mode.m4: Likewise.
83551         * m4/stat.m4: Likewise.
83552         * m4/utimbuf.m4: Likewise.
83553         * m4/utimes.m4: Likewise.
83554
83555         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
83556         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
83557         comments in config.h.in are meaningful.
83558
83559         * m4/jm-macros.m4: Require autoconf-2.13 here.
83560
83561         * m4/regex.m4: By default, don't use the included regex.c on systems
83562         with glibc 2.  Suggestion from Uli Drepper.
83563
83564 1999-01-02  Jim Meyering  <meyering@ascend.com>
83565
83566         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
83567
83568 1998-12-18  Jim Meyering  <meyering@ascend.com>
83569
83570         * m4/Makefile.am.in (Makefile.am): Simplify rule.
83571         Based on a suggestion from Lars Hecking.
83572
83573 1998-11-16  Paul Eggert  <eggert@twinsun.com>
83574
83575         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
83576
83577 1998-11-16  Jim Meyering  <meyering@ascend.com>
83578
83579         * m4/lfs.m4: Double-quote the `uname...` expression.
83580
83581 1998-11-14  Jim Meyering  <meyering@ascend.com>
83582
83583         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
83584         * m4/stat.m4: Likewise.
83585
83586 1998-11-03  Jim Meyering  <meyering@ascend.com>
83587
83588         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
83589         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
83590
83591 1998-10-18  Jim Meyering  <meyering@ascend.com>
83592
83593         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
83594
83595 1998-10-17  Jim Meyering  <meyering@ascend.com>
83596
83597         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
83598         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
83599         calls for those previously hard-coded headers.  Instead, take a new
83600         parameter.
83601         (jm_CHECK_DECLARATIONS): Reflect interface change.
83602         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
83603         (jm_CHECK_DECL_LOCALTIME_R): New macro.
83604
83605         * m4/mktime.m4: Test for spring-forward gap before long-running test.
83606
83607 1998-10-14  Jim Meyering  <meyering@ascend.com>
83608
83609         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
83610         instead of "TZ=America/Vancouver".  From Paul Eggert.
83611
83612 1998-10-11  Jim Meyering  <meyering@ascend.com>
83613
83614         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
83615         This adds a test for a recently added compatibility fix for mktime.c.
83616         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
83617
83618 1998-09-27  Jim Meyering  <meyering@ascend.com>
83619
83620         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
83621
83622         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
83623         ../configure.in, including a change from Gordon Matzigkeit to allow
83624         cross-compiling for the Hurd.
83625
83626         * m4/glibc.m4: New file/macro to test for the GNU C Library
83627         versions 1 and 2.  From Gordon Matzigkeit.
83628         Indent.
83629
83630 1998-09-21  Jim Meyering  <meyering@ascend.com>
83631
83632         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
83633
83634 1998-08-18  Paul Eggert  <eggert@twinsun.com>
83635
83636         Port nanosecond-resolution times to UnixWare 2.1.2 and
83637         pedantic Solaris 2.6.
83638
83639         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
83640         AC_STRUCT_ST_MTIM.
83641         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
83642         Generate name of ns member, instead of just 1 or undef.
83643         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
83644
83645 1998-08-15  Jim Meyering  <meyering@ascend.com>
83646
83647         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
83648         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
83649         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
83650         instead of jm_TYPE_SSIZE_T.
83651
83652 1998-08-12  Jim Meyering  <meyering@ascend.com>
83653
83654         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
83655
83656 1998-08-02  Jim Meyering  <meyering@ascend.com>
83657
83658         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
83659         in acconfig.h manually.
83660
83661 1998-07-31  Paul Eggert  <eggert@twinsun.com>
83662
83663         * m4/st_mtim.m4: New file.
83664
83665 1998-07-28  Jim Meyering  <meyering@ascend.com>
83666
83667         * m4/utimes.m4: Undef stat.
83668
83669 1998-07-25  Jim Meyering  <meyering@ascend.com>
83670
83671         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
83672         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
83673
83674 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
83675
83676         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
83677         uid and gid actually remain unchanged.
83678
83679 1998-07-07  Jim Meyering  <meyering@ascend.com>
83680
83681         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
83682
83683 1998-07-04  Jim Meyering  <meyering@ascend.com>
83684
83685         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
83686         to prove that this macro can be used in packages without regex.c.
83687
83688 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
83689
83690         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
83691         is to be used.
83692
83693 1998-07-03  Jim Meyering  <meyering@ascend.com>
83694
83695         * m4/gettext.m4: Add -lintl if it's found to be necessary.
83696
83697         * m4/gettext.m4: New file -- from gettext-0.10.35.
83698         * m4/lcmessage.m4: Likewise.
83699         * m4/progtest.m4: Likewise.
83700
83701         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
83702         * m4/jm-macros.m4: Require the new macro.
83703
83704 1998-06-29  Jim Meyering  <meyering@ascend.com>
83705
83706         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
83707         for the definition of NGROUPS (used in a system header included
83708         by sys/mount.h).
83709
83710 1998-06-28  Jim Meyering  <meyering@ascend.com>
83711
83712         * m4/ls-mntd-fs.m4: New file.
83713         * m4/fstypename.m4: New file.
83714
83715         * m4/jm-macros.m4: Require the new macro.
83716         * m4/jm-glibc-io.m4: New file.
83717
83718 1998-05-19  Jim Meyering  <meyering@ascend.com>
83719
83720         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
83721         * m4/lchown.m4: New file.
83722
83723         * m4/Makefile.am.in: New file.
83724         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
83725
83726 1998-05-14  Jim Meyering  <meyering@ascend.com>
83727
83728         * m4/Makefile.am (EXTRA_DIST): Add them.
83729         * m4/jm-macros.m4: New file.
83730         * m4/utimbuf.m4: New file.
83731
83732 1998-05-12  Jim Meyering  <meyering@ascend.com>
83733
83734         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
83735
83736 1998-05-11  Jim Meyering  <meyering@ascend.com>
83737
83738         * m4/isc-posix.m4: New file.
83739
83740 1998-05-10  Jim Meyering  <meyering@ascend.com>
83741
83742         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
83743
83744 1998-05-09  Jim Meyering  <meyering@ascend.com>
83745
83746         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
83747         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
83748         with automake.
83749
83750         * m4/ssize_t.m4: New file.
83751         * m4/mktime.m4: Remove file -- the new automake has this now.
83752
83753 1998-04-26  Jim Meyering  <meyering@ascend.com>
83754
83755         * m4/assert.m4: New file.
83756         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
83757
83758 1998-04-05  Jim Meyering  <meyering@ascend.com>
83759
83760         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
83761         (jm_PREREQ): Use it here.
83762
83763 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
83764
83765         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
83766         in acconfig.h.
83767
83768 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
83769
83770         * m4/prereq.m4: New file.
83771         * m4/error.m4: New file.
83772         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
83773
83774 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
83775
83776         * m4/getline.m4: Don't set am_cv_func_working_getline before the
83777         cache-check for the same variable -- that defeated the purpose of
83778         the test; the test program was never run.  This was a problem only
83779         on systems with losing getline functions -- HP-UX 10.20 is one.
83780         Reported by Bjorn Helgaas.
83781
83782 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
83783
83784         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
83785
83786 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
83787
83788         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
83789
83790         * m4/const.m4: New file.  Use an initializer in this declaration
83791         typedef int charset[2]; const charset x;
83792         Reported by Bob Glickstein.
83793
83794 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
83795
83796         * m4/chown.m4: Fix reversed types on -1 args to chown.
83797         From Kaveh Ghazi.
83798
83799 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
83800
83801         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
83802         Add lseek and memchr.
83803
83804         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
83805         T.E.Dickey <dickey@clark.net> said that some older preprocessors
83806         have a 20-character limit on names.
83807
83808 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
83809
83810         * m4/inttypes_h.m4: New file.
83811         * m4/uintmax_t.m4: New file.
83812         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
83813
83814
83815         -----
83816
83817         Local Variables:
83818         coding: utf-8
83819         End:
83820
83821         Copyright (C) 1997-2011 Free Software Foundation, Inc.
83822
83823         Copying and distribution of this file, with or without
83824         modification, are permitted provided the copyright notice
83825         and this notice are preserved.